Module: MCP::TraceContext

Defined in:
lib/mcp/trace_context.rb

Overview

Reserved ‘_meta` keys for W3C Trace Context propagation, per SEP-414.

The MCP spec reserves the un-prefixed ‘_meta` keys `traceparent`, `tracestate`, and `baggage` (an explicit exception to the reverse-DNS prefix rule for `_meta` keys) so that clients and servers can propagate distributed-tracing context across MCP requests. The SDK guarantees these keys pass through incoming request `_meta` untouched; tool, prompt, and resource handlers can read them from `server_context` and bridge them to a tracing system such as the `opentelemetry-ruby` gems. The SDK itself does not depend on OpenTelemetry.

Constant Summary collapse

TRACEPARENT_META_KEY =
"traceparent"
TRACESTATE_META_KEY =
"tracestate"
BAGGAGE_META_KEY =
"baggage"
META_KEYS =
[TRACEPARENT_META_KEY, TRACESTATE_META_KEY, BAGGAGE_META_KEY].freeze