Pickrate, for agents
Everything an AI agent or developer needs to read and call Pickrate — no human, no login. Pick a surface below. All of them return the same data: Pick Rate, the share of the time an agent picks a tool over its competitors.
- MCP server — call Pick Rate tools from any MCP client.
- ARD registry — ask “what tool for this task?”; results ranked by Pick Rate.
- REST API — one GET for a tool report or a category leaderboard.
- WebMCP — in-browser tools via
navigator.modelContext. - Markdown — clean
.mdfor any page. - Discovery files — llms.txt, ai-catalog, robots, sitemap, security.txt.
- What agents read here — live log of which agents actually fetch these surfaces.
MCP server
Remote Model Context Protocol server (Streamable HTTP, stateless). Point any MCP client at it — Claude Desktop, Cursor, the MCP Inspector, or your own agent.
Endpoint: https://pickrate.io/api/mcp (transport: streamable-http)
Tools:
getPickRate — headline Pick Rate + rank for one tool
getLeaderboard — ranked tools for a category (omit category to list categories)
lookupTool — resolve a name / slug / domain / package to its report# List the tools over JSON-RPC
curl -s https://pickrate.io/api/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'ARD registry
Pickrate speaks Agentic Resource Discovery. Ask for a task in natural language and get back the tools that fit — each carrying its Pick Rate. The score is query relevance (per the spec); the selection signal lives in metadata.pickRate, and results are ordered by it.
# "What should my agent use for this?"
curl -s https://pickrate.io/api/ard/search \
-H 'content-type: application/json' \
-d '{"query":{"text":"an issue tracker my agent can drive"},"pageSize":3}'# Response (trimmed)
{
"results": [
{
"identifier": "urn:air:pickrate.io:saas:linear",
"displayName": "Linear",
"type": "application/mcp-server-card+json",
"url": "https://linear.app/docs",
"score": 83, // query relevance (0-100)
"metadata": { "pickRate": 0.23, "rank": 1, "leaderboardUrl": "..." }
}
],
"pageToken": "..."
}Also: POST /api/ard/explore (facets), GET /api/ard/agents (the full catalog, paginated), and the catalog manifest at /.well-known/ai-catalog.json.
REST API
No key, no login. Two GETs cover most of it; the full contract is in the OpenAPI spec.
# One tool's Pick Rate
curl -s "https://pickrate.io/api/public/report?q=stripe"
# A category leaderboard (omit ?category= to list categories)
curl -s "https://pickrate.io/api/public/leaderboard?category=work-management"OpenAPI 3 spec: openapi.json.
WebMCP
A WebMCP-aware browser agent finds Pickrate's tools in-page via navigator.modelContext, or reads the static manifest without running any script.
Manifest: https://pickrate.io/.well-known/webmcpMarkdown for any page
Append .md to any URL, or send Accept: text/markdown, to get a clean Markdown rendering — no nav, no chrome.
curl -s https://pickrate.io/leaderboard/work-management.md
curl -s https://pickrate.io/ -H 'Accept: text/markdown'Discovery files
- llms.txt — a concise, link-rich map of the site for LLMs.
- ai-catalog.json — the ARD catalog of Pickrate's own agentic resources.
- robots.txt — AI crawlers welcomed;
Agentmappoints at the catalog. - sitemap.xml · security.txt
- agent-activity — JSON of which agents have read these surfaces (see below).
Building with this? The developer docs go deeper on the API and on Agent Attribution.
What agents actually read here
Pickrate measures which tools AI agents pick. So we watch the other side too: which agents read these surfaces. Every row below is a real AI crawler or assistant fetching a Pickrate page, file, or endpoint — the awareness layer of the Agent Funnel, live. It's the whole argument made concrete: machine-readable files get read by machines.
297 agent visits from 10 distinct agents · last seen 07-03 20:21 UTC.