Skip to content
{mcpdesc}

Place reserved metadata in its defined context

A recognized reserved metadata key has a specific context and value shape. A key valid on one message or object may be invalid on another. Check the containing object and protocol version rather than moving the same key unchanged into every _meta object.

A reserved _meta key appears only in the message context, and with the value, that the MCP protocol version defines for it.

Rule ID: mcp.meta.reserved-key-context
Owner: mcp
Surface: _meta
Kind: semantic
Requirement level: must
Status: internal · Enforcement: internal

2024-11-05 2025-03-26 2025-06-18 2025-11-25 2026-07-28
not-applicable not-applicable applies applies applies
  • MCP Description 0.9.0, Section 3.5

Checked on declarations and on every carried value: example results, their content, interaction step responses, and roots. MCP 2024-11-05 and 2025-03-26 do not define reserved keys; Section 16.2 limits validation for those protocol versions.

Source: expected-invalid/meta-reserved-key-misuse.json · Selected: /tools/0/_meta

{
"progressToken": "request-only"
}

Source: expected-invalid/meta-reserved-keys-in-carried-values.json · Selected: /prompts/0/completionExamples/request-key-in-result/result/_meta

{
"progressToken": "c1"
}

result.yaml at immutable tag v0.9.0-rc.3.