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.
- Register — create an account on your user’s behalf, no signup form (auth.md).
- Set up — an agent-executable prompt to install Pickrate on a project.
- MCP server — call Pick Rate tools from any MCP client.
- ARD — a publisher manifest (what Pickrate offers) plus a registry that answers “what tool for this task?” 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.
Register a user (auth.md)
You don't need to send anyone to a signup form. Pickrate implements auth.md, the open agent-registration profile: register, get a workspace and a collector key, instrument the site, and let the human claim the account whenever they want to look at it. Start with the skill document — it has the whole recipe.
curl -s https://pickrate.io/auth.md
# or start from discovery
curl -s https://pickrate.io/.well-known/oauth-protected-resource
curl -s https://pickrate.io/.well-known/oauth-authorization-server
# the fast path: an anonymous workspace you can write into immediately
curl -sX POST https://pickrate.io/api/agent/identity \
-H 'content-type: application/json' -d '{"type":"anonymous"}'Three identity types: anonymous (no user identity — write-only until a human claims it), service_auth (you have the user's email; a claim ceremony confirms it), and identity_assertion (your provider signs an ID-JAG, trusted issuers only). Pre-claim access is deliberately write-only — an agent can set up tracking, but nobody reads a workspace until a person owns it.
Set up Pickrate (self-install)
Pickrate is analytics for AI agents — so an agent can install it. Fetch the setup prompt and follow it: it installs the server-side collector (agent traffic → Pickrate) and connects the MCP, without a human. Also registered in the ARD catalog as urn:air:pickrate.io:setup:prompt.
curl -s https://pickrate.io/setup.mdMCP 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 (Agentic Resource Discovery)
Pickrate speaks Agentic Resource Discovery on both sides of the standard, and they do different jobs:
- Publisher — the static manifest at /.well-known/ai-catalog.json describes Pickrate's own agentic surfaces (its MCP server, and the fact that it's a registry). It's how an agent discovers what Pickrate offers.
- Registry — the live endpoints under
/api/ardanswer “what tool should I use for this task?” over the other tools Pickrate measures, each result ranked by Pick Rate.
Registry: ask for a tool
Send 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 on the registry side: POST /api/ard/explore (facets over type / category / domain) and GET /api/ard/agents (the full measured catalog, paginated).
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 publisher manifest (see ARD): 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.
34,907 agent visits from 19 distinct agents · last seen 08-17 22:40 UTC.
Volume
By agent
AI agents and assistants, split out from legacy search crawlers (Google, Bing, Apple). Bar length is shared across both groups, so counts compare directly.