What is this user-agent?

Identify the crawler behind a raw User-Agent header: operator, category, robots.txt token and stance, how it can be verified, and what blocking it costs. An unmatched string is reported as unmatched, with a labelled substring heuristic and never an identification.

Copy this

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'

GPTBot, OpenAI, ai-training, robots token GPTBot, verification by published ranges — and the caveat that a user-agent is a claim.

Run it in a browser — it answers JSON with access-control-allow-origin: *, so fetch() works from any page with no proxy.

No setup at all

Parameters

parameterrequiredwhat it is
ua · user_agentyesThe raw User-Agent header value, URL-encoded.

The same tool over MCP

This endpoint holds no copy of the logic: it calls classify_user_agent on the ai-crawler-index MCP server in-process, through that server's own JSON-RPC envelope. One implementation, two doors — an answer that changes here changed there.

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/call",
       "params":{"name":"classify_user_agent","arguments":{}}}'

What it will not do

Also here