Skip to main content
Beta. The TypeScript package is on npm under the beta tag. The Python package is not on PyPI yet, and SDK keys are not being issued yet. For early access, email support@agentdiscoverability.com.
The SDK runs inside your MCP server and reports each initialize, tools/list and tools/call it handles. It only observes: it never changes your tools, their results or their speed.

1. Get an SDK key

Create one on the MCP page. It starts with adok_ and is shown only once. Store it as MCP_ANALYTICS_SDK_KEY and never commit it.

2. Install

3. Call observe()

Call it once, after your tools are registered and before the server starts.
server can be a Server or McpServer (TypeScript), or a FastMCP, MCPServer or Server (Python). observe() never throws. If the key is missing it logs a warning and leaves the server uninstrumented.

4. Verify

Connect any MCP client to your server. Within about a minute, the MCP page changes from Waiting for your first event… to Receiving · N events. You don’t need to call a tool first. To check locally, inspect the handle observe() returns. client.stats() should show sent above zero and dropped at zero.

Requirements

Not supported: MCP SDK v2 (@modelcontextprotocol/server), CommonJS, Bun, Deno, Cloudflare Workers, or fastmcp 2.x.

What is collected

  • The tool name, the argument shape (key names and types, not values), duration and errors
  • The tool result, sanitized and truncated
  • The AI client family (Claude, ChatGPT, Cursor…) and versions
  • An end-user id only if you supply one. It is hashed before storage.
We never collect conversations, IP addresses, request headers, credentials or argument values. Data is kept for 90 days. See the Privacy Policy.

Troubleshooting

Still stuck? Email support@agentdiscoverability.com with your key prefix (never the full key) and the stats() output.

For coding agents

  1. Find the file that creates the MCP server and registers tools.
  2. Add the dependency, then the observe() call from step 3, after the tools are registered.
  3. Read the key from MCP_ANALYTICS_SDK_KEY and keep it out of git.
  4. Change nothing else. No tool name, schema or result may change.
  5. Run the server, connect a client, and report the changed file and the stats() output.