Skip to content

Commit 1c907a8

Browse files
Use SHOULD language for W3C trace context keys
Reserves traceparent, tracestate, and baggage using SHOULD rather than MUST. Allows ecosystem adoption without a protocol version change while protecting keys existing tooling depends on.
1 parent c430f7e commit 1c907a8

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

docs/rfds/meta-propagation.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,13 @@ Update the [extensibility](../protocol/extensibility#the-_meta-field) documentat
3535
+All types in the protocol include a `_meta` field with type `{ [key: string]: unknown }` that implementations can use to attach custom information.
3636
```
3737

38-
**Change 2**: After the JSON example, before "Implementations **MUST NOT**", add this paragraph:
38+
**Change 2**: After the JSON example, before "Implementations **MUST NOT**", add:
3939

40-
> Clients may propagate fields to the agent for correlation purposes, such as `requestId`. [OpenTelemetry SDKs](https://opentelemetry.io/docs/languages/sdk-configuration/general/#otel_propagators) default to propagating W3C `traceparent`, `tracestate`, and `baggage` fields as root keys in `_meta`.
40+
> Clients may propagate fields to the agent for correlation purposes, such as `requestId`. The following root-level keys in `_meta` **SHOULD** be reserved for [W3C trace context](https://www.w3.org/TR/trace-context/) to guarantee interop with existing MCP implementations and OpenTelemetry tooling:
41+
>
42+
> - `traceparent`
43+
> - `tracestate`
44+
> - `baggage`
4145
4246
## FAQ
4347

0 commit comments

Comments
 (0)