Skip to content
{mcpdesc}

Advertise only recognized server capabilities

Server capabilities have defined members rather than arbitrary top-level names. Remove unknown members or use the experimental or extensions maps where the applicable protocol version allows them. MCP Description specification extensions follow their own x- rules.

A server Capabilities Object contains only the capabilities the applicable MCP protocol version defines; custom capabilities go in experimental and, from MCP 2026-07-28, in extensions.

Rule ID: mcp.server-capabilities.members
Owner: mcp
Surface: ServerCapabilities
Kind: structural
Requirement level: must
Document schema locations: #/$defs/capabilities, #/$defs/capabilityPrompts, #/$defs/capabilityResources, #/$defs/capabilityTools, #/$defs/extensionCapabilities
Status: arbitrated · Enforcement: internal

2024-11-05 2025-03-26 2025-06-18 2025-11-25 2026-07-28
applies applies applies applies applies

x-* properties are MCP Description specification extensions, not capabilities; native projection removes them.

Source: expected-valid/client-capability-requirements.json · Selected: /capabilities/0

{
"protocolVersions": [
"2026-07-28"
],
"extensions": {
"io.modelcontextprotocol/ui": {}
}
}

Source: expected-invalid/unknown-server-capability.json · Selected: /capabilities/0

{
"tools": {},
"acmeReplay": {}
}

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