Skip to content
{mcpdesc}

Use recognized client capability requirements

A primitive’s clientRequirements lists minimum client capabilities, not custom top-level names. Put custom requirements in experimental or in extensions where defined, after reviewing their meaning. Server capability advertisement and client requirements are different declarations.

A Client Capability Requirements Object names only client capabilities the applicable MCP protocol version defines; custom requirements go in experimental and, from MCP 2026-07-28, in extensions.

Rule ID: mcp.client-capabilities.members
Owner: mcp
Surface: ClientCapabilities · Path: clientRequirements
Kind: structural
Requirement level: must
Document schema locations: #/$defs/clientCapabilityRequirements, #/$defs/clientCapabilityValue
Status: arbitrated · Enforcement: internal

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

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

{
"sampling": {
"tools": {}
},
"experimental": {
"com.example/review": {}
}
}

Source: expected-invalid/unknown-client-capability-requirement.json · Selected: /tools/0/clientRequirements

{
"acmeReplay": {}
}

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