Skip to content

Adding Opentelemetry to MCP SDK #421

@fali007

Description

@fali007

Is your feature request related to a problem? Please describe.

I would like to see Opentelemetry traces and Metrics baked into SDK.
E.g.

  1. Traces emitted on all Requests from client and server side of MCP SDK.
  2. Metrics for tool/prompt/resource calls

Describe the solution you'd like

I am trying to use Opentelemetry sdk to add traces and metrics features.

Steps

  1. Creating session in client and server.
  2. Initialise tracer (Opentelemetry tracer instances) in BaseSession (src/mcp/shared/session.py).
  3. Binding trace context (traceparent) to _meta of RequestParams.Meta before sending request from client (send_request in src/mcp/shared/session.py)
  4. In server use the traceparent from received request to create new span with incoming span as parent span.

Describe alternatives you've considered

I tried to implement the same via traceloop. I was not able to get correct parent - child relationship between spans while doing so.

Additional context

I am able to achieve distributed tracing across my Agentic application and MCP server.

Image

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions