FinalStandards Track
| Field | Value |
|---|---|
| SEP | 414 |
| Title | Document OpenTelemetry Trace Context Propagation Conventions |
| Status | Final |
| Type | Standards Track |
| Created | 2025-04-25 |
| Author(s) | Adrian Cole (@codefromthecrypt) |
| Sponsor | Marcelo Trylesinski (@Kludex) |
| PR | #414 |
Abstract
This SEP documents conventions for OpenTelemetry (OTel) trace context propagation in MCP. OTel semantic conventions for MCP specify using_meta as the carrier for W3C Trace Context keys. This is already in practice in the
C# SDK and other implementations.
This specification documents an exception to the DNS prefixing convention for keys in _meta.
This enables interoperability across existing and new implementations and serves as a foundation
for related SEPs (such as SEP-2028).
Specification
This SEP adds documentation to the MCP specification, noting:-
When OTel trace context is propagated via
_meta, the keystraceparent,tracestate, andbaggagefollow W3C Trace Context and W3C Baggage value formats. -
A non-normative example showing trace context in
_meta. -
A note clarifying why this an exception to DNS prefixing keys in
_meta: to remain compatible with existing implementations and the OpenTelemetry semantic conventions.
Non-normative example
Rationale
Why document this?
This is currently documented elsewhere, but not as an MCP specification. Doing so ensures that SEPs depending on this pattern can complete, as well as other SDKs in and outside the MCP org can as well, such as Logfire and ToolHive. If we don’t document this shared concern, differing interpretations could materialize, such as namespacing traceparent likeio.modelcontextprotocol.traceparent, which will break traces
and log correlation.
Related SEPs
- SEP-1788 - reserved
keys in
_meta; should be updated withtraceparent,tracestate, andbaggagewhen this SEP is implemented - SEP-2028 - builds on
this SEP for forwarding
_metavalues to HTTP headers
Backward Compatibility
This SEP documents existing conventions and is backward compatible.Security Implications
Trace context in_meta may include correlation IDs. Implementations should follow existing
data-handling guidance appropriate to their environment.