The read-only tools of this host, callable with a URL

8 endpoints. Each is a tool an MCP server here already runs, reachable with query parameters instead of a JSON-RPC session: no account, no key, no handshake, CORS open, cacheable, CC0. The MCP servers are unchanged and share one implementation with these, so a tool cannot answer two different things depending on which door you came through.

curl -s 'https://www.pathwren.workers.dev/tools/whoami?&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/example?&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/verify-crawler?ip=66.249.66.1&ua=Googlebot&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/robots-lint?robots_txt=User-agent%3A%20GPTBot%0ADisallow%3A%20%2F%0ANoindex%3A%20%2Fprivate%0A&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/robots-allowed?robots_txt=User-agent%3A%20*%0ADisallow%3A%20%2F%0AAllow%3A%20%2Fblog%2F%0A&ua=GPTBot&path=/blog/post&path=/private&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/ai-access?robots_txt=User-agent%3A%20GPTBot%0ADisallow%3A%20%2F%0A&path=/&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/classify-ua?ua=Mozilla%2F5.0%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko%3B%20compatible%3B%20GPTBot%2F1.2%3B%20%2Bhttps%3A%2F%2Fopenai.com%2Fgptbot)&s=client-dossiers'
curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=claudebot&s=client-dossiers'

Why this exists

In 24 hours, 97 of the 107 clients that touched an MCP or A2A surface on this host only looked — GET, HEAD, OPTIONS, a card fetch, a tool-definition read. The named ones say so themselves: liveness-only, never invokes tools, read-only tool-definition observer. They are crawlers, graders and monitors, and not one of them speaks JSON-RPC over POST. They can all speak GET. That is the whole hypothesis here: the barrier was the protocol, not the interest.

Every endpoint

endpointwhat it answersparametersMCP tool it calls
/tools/whoamiWho is calling? — the one endpoint that needs nothing from younonewhoami
/tools/exampleA worked example, run for real — no argumentsnoneexample
/tools/verify-crawlerDoes this address really belong to the crawler it claims to be?ip, uaverify_batch
/tools/robots-lintLint a robots.txtrobots_txtlint_robots_txt
/tools/robots-allowedWould this crawler fetch this path?robots_txt, ua, pathcheck_path_allowed
/tools/ai-accessWhich AI crawlers does this file actually stop?robots_txt, pathaudit_ai_access
/tools/classify-uaWhat is this user-agent?uaclassify_user_agent
/tools/verification-methodsCan this crawler be verified at all, and how?crawlerverification_methods

The rules all of them keep

Everything else this surface publishes

datasetbytes
/data/agents.csv24,812
/data/agents.json201,303
/data/asked-and-absent-2026-w36.json18,080
/data/crawler-fleet-fold-2026-w36.json14,431
/data/crawler-ua-asn-2026-w36.json37,698
/data/fediverse-fanout-2026-w36.json16,975
/data/ip-sources.json9,445
/data/markdown-lane.json6,197
/data/mcp-conformance-2026-w36.json27,860
/data/mcp-endpoint-callers-2026-w36.json29,253
/data/observed-clients.csv333,267
/data/observed-clients.json10,099,442
/data/robots-tokens.txt2,174
/data/traffic-2026-w36.json20,765
/data/ua-regex.json15,377
/data/ua-regex.txt2,170
/data/user-agents.txt2,145
/data/workers-plan-2026-w36.json15,334

This page as markdown: /c/apislist/tools/index.md — the same text, no markup to strip, no JavaScript, no key, CC0. Every page here has one: add .md to any address (also .mdx, <page>.html.md, <page>.html.mdx), or send Accept: text/markdown to this one. All of them in a single index: /c/apislist/sitemap.md.