MCP server

The whole index, spoken as Model Context Protocol instead of as files. Streamable HTTP, stateless, no key, no signup, no session to keep alive. Every tool is read-only.

# it answers right now — no account, no header ceremony
curl -s https://www.pathwren.workers.dev/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq -r '.result.tools[].name'

Add it to a client

Anything that speaks MCP over HTTP. Claude Code:

claude mcp add --transport http ai-crawler-index https://www.pathwren.workers.dev/mcp

Clients that take a JSON config (Claude Desktop, Cursor, VS Code, Windsurf):

{
 "mcpServers": {
  "ai-crawler-index": { "type": "streamable-http", "url": "https://www.pathwren.workers.dev/mcp" }
 }
}

Tools

ToolWhat it answers
classify_user_agentGiven a raw User-Agent header: which crawler is this, who runs it, what is it for, and what does blocking it cost me?
lookup_crawlerThe full record for one crawler by slug, name or robots.txt token.
list_crawlersThe 56 crawlers, filtered by category, operator, robots.txt stance or verification method. Returns the valid filter values too, so one call teaches the vocabulary.
generate_robots_txtA ready-to-paste robots.txt for one of 8 stances, with the reasoning and the exact tokens it implies.
is_verified_crawler_ipIs this IP inside a range the operator itself publishes? 1887 IPv4 and 1056 IPv6 prefixes, mirrored from 12 endpoints, refreshed every six hours.
whats_changedBuild time, per-source freshness, which sources changed or are failing, and the dated changelog. The cron check for anything that regenerates a config from this data.

Resources

Four, each pointing at the file the tools are computed from: agents.json, ua-regex.json, ip-ranges/all.json, status.json. Read them directly if you would rather do your own matching.

What it will not do

It has no side effects and no write path: it cannot edit your robots.txt, block anything, or fetch a URL for you. A user-agent match is a claim, not a proof — classify_user_agent says so on every answer, and is_verified_crawler_ip is the tool that turns a claim into evidence. Where an operator publishes no ranges, no tool here can verify it, and each one says which case you are in.

Two more servers on this host

Different jobs, no shared tool names — run all three or just the one you need. crawler-log-triage at /mcp/triage takes a whole access log and returns per-line verdicts, the impersonators, and a robots.txt or WAF ruleset for exactly what was in it. agent-discovery-doctor at /mcp/doctor turns the question around: which of the 21 discovery documents agents ask for — llms.txt, A2A agent card, owners.json, mcp.json — does a host actually serve, and who asks for each missing one.

Protocol versions 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, negotiated per call. server/discover answers for clients on 2026-07-28, initialize for everyone else. Same data as /data/agents.json and /openapi.json — pick whichever your client speaks. Listed in the official MCP Registry as dev.workers.pathwren.www/ai-crawler-index.