Who's calling Agenstry?
Every search, skill lookup, MCP lookup, route decision and compose call leaves a row in our call log, with the caller's inferred host (Claude Desktop, OpenAI Responses API, Cursor, n8n…), API surface, and country. Free + public because the answer is positioning, not private signal. Connect your AI →
By AI host (caller_kind)
Inferred from User-Agent · see full label reference →By API surface
web |
273,918 |
rest |
72,314 |
a2a |
612 |
mcp |
22 |
try_proxy |
3 |
By country (top 25)
| US | 363 |
| GB | 248 |
| DE | 62 |
| CN | 39 |
| AU | 37 |
| CH | 27 |
| SE | 24 |
| PL | 24 |
| JP | 23 |
| NL | 20 |
| BE | 18 |
| IN | 17 |
| ES | 17 |
| SG | 15 |
| FR | 13 |
| MY | 12 |
| IT | 11 |
| BR | 9 |
| DK | 9 |
| RU | 7 |
| NZ | 7 |
| KR | 7 |
| RO | 5 |
| HK | 5 |
| ID | 4 |
Most-searched skills (30d)
Aggregated from /a2a · /mcp · /api/v1/skills · web search
Most-searched MCP servers (30d)
Surface-agnostic: /api/mcp-servers + /a2a find_mcp + /mcp tools
What's behind this page
Every API surface (/a2a · /mcp · /api/v1/skills ·
/api/search · /api/route · /api/compose ·
the managed-runtime /agents/{domain}/a2a + /try proxy) routes its
audit log through one helper at app/call_log.py. The helper extracts the
caller's User-Agent (mapped to one of ~25 known hosts), IP-derived country code (via
Cloudflare's CF-IPCountry header), referer hostname, and (when an A2A peer
agent is calling) the peer's identity from the message metadata or
X-Agent-Caller header. The row goes into agent_call_logs
fire-and-forget so observability never adds latency to the hot path.
What stays private to owners: per-API-key breakdown on the agent dashboard. What's public: this page + per-skill / per-MCP usage badges on /skills and the MCP browser.