{
 "tool": "classify-ua",
 "endpoint": "https://www.pathwren.workers.dev/tools/classify-ua",
 "asked": {
  "ua": "choosemcp-harvester/0.1 (+https://github.com/)"
 },
 "summary": "No crawler in the index matches that user-agent.\nThe index covers 150 crawlers from 74 operators; an unmatched string is most often a browser, a private script, or a crawler that does not identify itself.\n\nA user-agent string is a claim, not a proof: anyone can send it. Before you act on a match, check the address with is_verified_crawler_ip, or use the operator's reverse-DNS method where there are no published ranges.",
 "answer": {
  "user_agent": "choosemcp-harvester/0.1 (+https://github.com/)",
  "matched": false,
  "crawler": null,
  "guess_only": null,
  "guess_is_a_guess": "Not from the index. This field is a substring heuristic, not an identification.",
  "next": {
   "list_crawlers": "list_crawlers with no filter returns all 150 indexed crawlers",
   "ip_check": "is_verified_crawler_ip tells you whether the address belongs to an operator that publishes prefixes"
  },
  "caveat": "A user-agent string is a claim, not a proof: anyone can send it. Before you act on a match, check the address with is_verified_crawler_ip, or use the operator's reverse-DNS method where there are no published ranges.",
  "source": "https://www.pathwren.workers.dev"
 },
 "answered_by": {
  "note": "The MCP tool itself answered this. One implementation, two doors — this endpoint holds no copy of it.",
  "server": "ai-crawler-index",
  "endpoint": "https://www.pathwren.workers.dev/mcp",
  "tool": "classify_user_agent",
  "protocol": "MCP streamable-http, JSON-RPC 2.0 tools/call"
 },
 "caveats": [
  "A user-agent is a claim, not proof. Pair it with /tools/verify-crawler, which is the address half of the same question."
 ],
 "docs": "https://www.pathwren.workers.dev/tools/classify-ua.html?s=client-dossiers",
 "catalogue": "https://www.pathwren.workers.dev/tools/index.json?s=client-dossiers",
 "more": {
  "who actually crawls this host": "https://www.pathwren.workers.dev/bot/index.html?s=client-dossiers",
  "every named client as one file": "https://www.pathwren.workers.dev/data/observed-clients.json?s=client-dossiers"
 },
 "auth": "none — no account, no key, no handshake. CORS open, cacheable, CC0-1.0.",
 "license": "CC0-1.0",
 "independent": true,
 "_about": {
  "page": "https://www.pathwren.workers.dev/bot/claudebot.html?s=client-dossiers",
  "what": "What this host recorded about the client that made this request — the requests, the status codes and the user-agent string, from its own log. Nothing else: no address is published, nothing is looked up anywhere, and there is no account to close.",
  "matched_on": "the User-Agent header you sent. If we have no page for it yet this points at the index of all of them.",
  "index": "https://www.pathwren.workers.dev/bot/index.html?s=client-dossiers"
 }
}
