MCP
Use ProductArena from your agent
Every ranking, verdict, and evidence citation across 83 arenas is queryable over the Model Context Protocol — either through the hosted remote endpoint (nothing to install) or the productarena-mcp npm package over stdio. Both expose the same eight tools on the same public data behind /openapi.json.
Remote endpoint (no install)
Streamable HTTP, keyless, rate-limited (60 requests / 5 minutes per IP). POST JSON-RPC to:
https://ultrametric.ai/productarena/mcp
Or try it with plain curl:
curl -X POST https://ultrametric.ai/productarena/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"top_products","arguments":{"metric":"agentReady","limit":5}}}'Set it up in your client
Same hosted endpoint, each client’s own config shape (they differ — these match each tool’s current docs).
Claude Code
claude mcp add --transport http productarena https://ultrametric.ai/productarena/mcp
Cursor
~/.cursor/mcp.json (or .cursor/mcp.json per project):
{
"mcpServers": {
"productarena": {
"url": "https://ultrametric.ai/productarena/mcp"
}
}
}VS Code / GitHub Copilot
.vscode/mcp.json (or the user-level file via “MCP: Open User Configuration”) — note the top-level key is servers:
{
"servers": {
"productarena": {
"type": "http",
"url": "https://ultrametric.ai/productarena/mcp"
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json — remote servers use serverUrl:
{
"mcpServers": {
"productarena": {
"serverUrl": "https://ultrametric.ai/productarena/mcp"
}
}
}OpenAI Codex CLI
~/.codex/config.toml:
[mcp_servers.productarena] url = "https://ultrametric.ai/productarena/mcp"
Gemini CLI
~/.gemini/settings.json — streamable HTTP is httpUrl (url means SSE there):
{
"mcpServers": {
"productarena": {
"httpUrl": "https://ultrametric.ai/productarena/mcp"
}
}
}Anything else
Any client with an HTTP-transport MCP config:
{
"mcpServers": {
"productarena": {
"type": "http",
"url": "https://ultrametric.ai/productarena/mcp"
}
}
}npm package (stdio)
Prefer a local process? productarena-mcp runs over stdio and fetches the same live data with a 5-minute cache. Claude Code:
claude mcp add productarena -- npx -y productarena-mcp
Claude Desktop (claude_desktop_config.json), Cursor, Windsurf, Gemini CLI, or any stdio client — same shape, in each client’s config file from the section above:
{
"mcpServers": {
"productarena": {
"command": "npx",
"args": ["-y", "productarena-mcp"]
}
}
}OpenAI Codex CLI (~/.codex/config.toml):
[mcp_servers.productarena] command = "npx" args = ["-y", "productarena-mcp"]
Source and full docs live in the repo: mcp/README.md. Set PA_BASE_URL to point it at a local checkout.
CLI
Prefer a terminal to a protocol? The productarena npm package puts the same live data behind one command — rankings, cross-arena compare, pick <role> for a vendor pick with a runner-up and close-race flag, live-resolved stacks, and an agent-readiness scan:
npx productarena rankings ai-coding npx productarena pick payroll npx productarena top --metric agentReady --oss
Every command takes --json for scripts and agents. Source and docs: cli/README.md.
Tool catalog
| Tool | Arguments | Returns |
|---|---|---|
| list_arenas | — | Every arena/category: id, name, description, personas, themes. |
| get_rankings | arena | One arena’s full leaderboard (coverage score, PA Score, agent-readiness, per-theme scores) plus its head-to-head battle log. |
| get_product | arena, product | One product: metadata, leaderboard entry with rank, verdict counts, and a per-story verdict summary. |
| get_verdict | arena, product, story | The full judged verdict for one (product, story) cell: tier, quality, confidence, rationale, and cited evidence URLs. |
| search_products | query | Find products by id/name/vendor substring across every arena. |
| compare | products[] | Cross-arena score comparison: rank, coverage score, PA Score, agent-readiness, Built-in AI, API quality per product. |
| get_stacks | — | Curated cross-arena AI stacks with every scored slot resolved live from current leaderboards. |
| top_products | metric, limit? | Cross-arena top-N by one metric: score, paScore, agentReady, agenticApp, or apiQuality. |
Prefer raw HTTP? The same data is plain JSON under https://ultrametric.ai/productarena/data/… (see /openapi.json), and every arena has a markdown rendering indexed from /llms.txt.
Data license
Everything these tools return is the ProductArena dataset, © Ultrametric Inc. Querying it and briefly quoting individual verdicts, scores, or evidence excerpts is welcome with attribution to “ProductArena by Ultrametric Inc (ultrametric.ai/productarena)”. Bulk copying, redistribution, or use to build or train competing products or datasets requires written permission — see DATA-LICENSE.