Skip to main content
MCP analytics records every JSON-RPC request your MCP server answers, so you can see which agents and clients connect, which tools they call, how long each call takes and where calls fail. The results appear on the MCP server tab under Analytics in the GEO sidebar. MCP server tab with tool calls, sessions, error rate and p95 latency charts above the tools table MCP server tab with tool calls, sessions, error rate and p95 latency charts above the tools table

Set it up

Until the first event arrives, the MCP server tab shows the install steps and a Copy agent prompt button. Paste the prompt into Claude Code, Cursor or Codex and the agent will do these steps for you.
1

Install the package

2

Set your token

MCP analytics uses the same project token as the AI traffic tracker. Copy it from the Set your token step on the MCP server tab and add it as NOTRA_GEO_TOKEN wherever your MCP server runs, and never hardcode or commit it.
3

Wrap the transport

Wrap the transport your server already creates before you pass it to server.connect. This works with stdio, Streamable HTTP, SSE and any other transport that exposes send and onmessage.
server.ts
The tracker buffers events for up to a second and sends them in batches, and on stdio it sends the remaining events when the transport closes. On a serverless runtime, pass waitUntil to trackMcpTransport or await flushMcpEvents() before the function returns, otherwise the last events can be lost.
4

Check the dashboard

Connect an agent to your server and call a tool. The MCP server tab switches from the install steps to the dashboard once Notra stores the first request.

What gets recorded

Every event carries the JSON-RPC method, the tool, resource or prompt name, a status, the latency and the response size. The status is ok, tool_error when a tool returns isError, or rpc_error with the JSON-RPC error code and message. Events also record the Mcp-Session-Id (or a per-connection id on stdio) and the client name, server name, versions and protocol version from initialize. Each tools/list answer stores the tool names and descriptions your server advertised, which is how the dashboard finds tools that no agent calls. Reads of ui:// resources count as renders of an MCP Apps interface. Requests your server sends to the client, such as elicitation/create and sampling/createMessage, are tied to the tool call that triggered them, and elicitations record whether the user accepted, declined or cancelled. Pass relatedRequestId when you call elicitInput so the event knows its tool. The tracker skips ping by default, and you can pass excludeMethods to choose which methods it skips.

Record more context

Tool arguments and results never leave your server unless you opt in. These options add detail to the dashboard:
server.ts

Read the dashboard

The top of the tab charts tool calls, sessions, error rate and p95 latency for the selected range against the range before it. Use the Server version picker to compare releases of your server.
  • Tools lists each tool with its calls, users, errors, p95 latency and average response size. Click a tool to see which tools agents call before and after it, how they recover from failures and what they wanted.
  • Never called lists tools your latest tools/list answer advertised that no agent called in the range. Rename them, improve the description or remove them.
  • Asking the user groups elicitation and sampling requests by the tool that sent them, with how users answered.
  • Interactive UI shows the MCP Apps interfaces hosts loaded and the tools that declare them.
  • Clients, Models, Sessions and Users break traffic down by who connected. Click a session to see its full timeline.
  • What agents are trying to do lists the most frequent intents and the tool each one routed to.
  • Recent requests shows the last 100 requests your server answered. Click one to see its arguments, response and error.

Usage and retention

Every recorded request counts toward the same monthly AI traffic events quota as page tracking. Notra keeps individual requests for 90 days. To let the agents that use your server send bug reports and praise to your Notra inbox, add the feedback tool next to the tracker.
Last modified on November 11, 2026