Prerequisites
OpenTelemetry must be enabled on your Tyk Gateway. See OpenTelemetry configuration for setup instructions.MCP fields
The following fields are derived from the JSON-RPC payload on each MCP request. They appear across both signal types.
All four fields are populated only for MCP requests. For non-MCP requests the fields are empty or absent, so existing metric instruments and log templates are unaffected.
Observability Signals
Distributed tracing
When OpenTelemetry tracing is enabled, Tyk stamps every MCP request’s span with MCP-specific attributes and propagates trace context over both the standard HTTPtraceparent header and the MCP JSON-RPC body, so a trace stays intact even through MCP clients or servers that don’t preserve custom headers.
Span attributes
Trace context propagation
Not every MCP client library preserves custom HTTP headers, so the MCP specification allows a client to carry its W3C trace context inside the JSON-RPC request body instead, underparams._meta. Tyk reads both channels, in a configurable, first-match-wins order set under opentelemetry.traces.mcp.read_sources in the gateway config. The default order, the HTTP header first and then the body, matches Tyk’s existing header-based behavior, so tracing works unchanged if you don’t set this.
Whichever channel Tyk resolves the inbound trace context from, it writes its own current trace context back into the outbound JSON-RPC body before forwarding the request, so a downstream MCP server that reads the body rather than the header joins the same trace. This is the body-channel equivalent of the traceparent header Tyk already injects on ordinary proxied requests.
This applies to every MCP proxy, whether it fronts a remote MCP server or is generated directly from a Tyk-managed REST API. For the latter, the call into the paired REST API is dispatched through Tyk’s standard internal request handling, so when tracing is enabled the trace continues into the source API’s own request handling, and its own upstream call, without further configuration.
Dashboard Analytics
Alongside these OpenTelemetry signals, Tyk Dashboard has a dedicated Activity by MCP analytics page, covering proxy-level and primitive-level traffic and error charts. See MCP Analytics.For an MCP proxy generated directly from a Tyk-managed REST API, these charts only ever reflect the proxy’s own traffic. The internal call Tyk makes into the paired source REST API on every
tools/call produces its own analytics record, but that record is never picked up as MCP traffic. It appears instead in the source API’s own traffic view, indistinguishable from a direct hit on that API. See MCP access logs for the same pattern at the access log level.