# criba > Identify and classify the clients that call an MCP server or an A2A agent. criba keeps two answers > apart: who a client declares to be (User-Agent, MCP clientInfo.name, matched against a catalog of > known agent-ecosystem bots) and what it actually does (behaviour across its requests). The catalog and rules come from real traffic to a declared research decoy, https://mcp.cribalo.com/ (an open MCP server and A2A agent with fake tools), listed in the official MCP Registry. Behaviour classes (the first that matches wins): acts-on-results, agent-tool-use, agent-message, probe, indexer, web-scanner, web. A mismatch flag marks clients whose behaviour contradicts their declared identity. ## API (stateless; nothing sent is stored) - [Catalog of known bots](https://criba.cribalo.com/v1/bots): GET, JSON, catalog version 2026-11-08 - [Identify](https://criba.cribalo.com/v1/identify?client=glama): GET ?ua=…&client=… → who a User-Agent or MCP client name claims to be - POST https://criba.cribalo.com/v1/classify with {"events":[…]} for one visitor → declared, observed, signals, reasons, mismatch - [Plain-text reference](https://criba.cribalo.com/docs.txt) ## Research - [Field notes](https://criba.cribalo.com/research): dated findings on who calls open MCP servers and A2A agents ([Atom feed](https://criba.cribalo.com/research/feed.xml)) ## MCP server - https://criba.cribalo.com/mcp (Streamable HTTP, no authentication; official MCP Registry: com.cribalo/criba) - Tools: identify_client (user_agent, client_name), classify_visitor (events), list_known_bots (category, protocol) ## Licence Catalog: CC BY-NC 4.0 (non-commercial use with attribution). Contact: contact@cribalo.com