MCP Description accepts server extension advertisements before their standardization, with a warning for the affected protocol versions. The values are preserved rather than rewritten. This exception does not make primitive clientRequirements.extensions available in those earlier versions.
Requirement
Section titled “Requirement”Server capabilities.extensions is defined from MCP 2026-07-28; for earlier protocol versions a pre-standard extensions map is preserved with a warning.
Details
Section titled “Details”Rule ID: mcp.capabilities.extensions.protocol-version
Owner: mcp
Surface: ServerCapabilities · Path: extensions
Kind: structural
Requirement level: Not specified in the rule record
Status: arbitrated · Enforcement: internal
Protocol version applicability
Section titled “Protocol version applicability”2024-11-05 |
2025-03-26 |
2025-06-18 |
2025-11-25 |
2026-07-28 |
|---|---|---|---|---|
| applies | applies | applies | applies | applies |
Required by
Section titled “Required by”- MCP Description 0.9.0, Section 8.4; Proposal 0021 (pre-standard extension capabilities)
Based on
Section titled “Based on”- Tier 1 — MCP schema.ts and normative specification text: MCP 2024-11-05 to 2025-11-25 schema.ts, interface ServerCapabilities (no extensions); MCP 2026-07-28 schema.ts, ServerCapabilities extensions
Gaps and arbitrations
Section titled “Gaps and arbitrations”Examples
Section titled “Examples”Accepted with a warning
Section titled “Accepted with a warning”Source: expected-warning/pre-standard-extension-capabilities.json · Selected: /capabilities/0
{ "extensions": { "io.modelcontextprotocol/ui": {} }}Rule Source Code
Section titled “Rule Source Code”capabilities.yaml at immutable tag v0.9.0-rc.3.