See every MCP call your agents make

Trace MCP clients and servers in the same trace. Find the tools that fail, the methods that run slow, and the client calls that never reach a server.

Start tracing free

Your coding agent finds your MCP clients and servers, wraps their transports, and sends a test request. For the official TypeScript MCP SDK v2.

MCP Analytics
All environmentsAll services7d30d90d
MCP spans
48,906
Failed-span rate
2.8%
p95 span duration
1.42s
Observed sessions
3,214
Breakdown
MethodSpansClientServerp95Failed
tools/call31,20415,60215,6021.81s3.9%
tools/list6,4283,2143,21496ms0.0%
initialize6,4283,2143,214212ms0.4%
resources/read3,6101,8051,805340ms1.2%
prompts/get1,23661861888ms0.0%
ToolSpansClientServerp95Failed
create_refund9,8124,9064,9062.40s8.4%
get_invoice7,4043,7023,7021.12s2.1%
update_shipping_address5,1202,5602,5601.96s3.2%
lookup_order4,9862,4932,493640ms0.6%
search_kb3,8821,9411,9411.38s0.2%
CategoryFailedShareClientServerLast seen
Tool result41253.6%2062062m ago
Transport18824.5%18809m ago
Request validation9612.5%96014m ago
Server415.3%20211h ago
Resource not found222.9%22031m ago
Recent failures
  • tools/call · create_refund2m agoTool resulttool_errorserver
  • tools/call · get_invoice9m agoTransportconnection_errorclient
  • tools/call · update_shipping_address14m agoRequest validation-32602client
  • resources/read · orders://447131m agoResource not found-32002client

Find the failing tool. Follow it to the server.

Each MCP request becomes a span with its method, tool, session, and protocol version, so MCP traffic sits in the trace next to your model calls.

Know why a tool failed

Each failure gets a category from its error type and JSON-RPC code. A timeout, a bad argument, and an error that your tool returns do not look the same.

MCPFailure categoryLast 30 days · 768 failed
  • Tool result412
  • Transport188
  • Request validation96
  • Server41
  • Resource not found22
  • Cancellation9
Top tool
create_refund
Error type
tool_error
Side
client and server

Pair each client call with its server

See the client overhead, and the calls that never reached a server.

Client / server correlation
Paired
15,402
p95 client overhead
84ms
Missing server
37
Server span missing
37
Response code mismatch
9
Protocol version mismatch
3
Duration inversion
0

Let your coding agent read the traces

Our read-only MCP server lets your agent search traces and read span trees.

Connect an AI agent
telemetry.dev7 tools · read-only
  • search_traces
  • get_trace
  • get_span_payloadneeds payload access
  • search_sessions
  • get_usage_summary
  • list_logs · list_projects

Instrument the transport

Wrap the client transport, the server transport, or both. Spans from both sides join the same trace.

  1. 01Install the MCP package
  2. 02Wrap your transport
  3. 03Open MCP in your project

Tool arguments and results stay out of the spans by default. The spans still record method and tool names, resource URIs, and error details. Works with the TypeScript MCP SDK v2.

import { Client } from "@modelcontextprotocol/client";
import { StdioClientTransport } from "@modelcontextprotocol/client/stdio";
import { instrumentMcpTransport } from "@telemetry-dev/mcp";
import { init } from "@telemetry-dev/sdk";

init({ serviceName: "support-agent" });

const client = new Client({ name: "support-agent", version: "1.0.0" });
const transport = instrumentMcpTransport(
  new StdioClientTransport({ command: "acme-mcp" }),
);
await client.connect(transport);
import { McpServer } from "@modelcontextprotocol/server";
import { StdioServerTransport } from "@modelcontextprotocol/server/stdio";
import { instrumentMcpTransport } from "@telemetry-dev/mcp";
import { init } from "@telemetry-dev/sdk";

init({ serviceName: "acme-mcp" });

const server = new McpServer({ name: "acme-mcp", version: "1.0.0" });
const transport = instrumentMcpTransport(new StdioServerTransport());
await server.connect(transport);

Trace your next AI request

Choose an integration, add your project API key, and run an instrumented request.

Start free

30,000 ingestion units a month, one per span, log record, or metric data point. No credit card required.

npm install @telemetry-dev/sdk
Start tracing free

Talk to an engineer

Our team shows you tracing, cost tracking, and privacy controls for the frameworks and model providers that you use.

Book a call