MCP-ERR-007
Missing client capability returns -32021 with data.requiredCapabilities
“If processing a request requires a capability the client did not include, the server MUST return a MissingRequiredClientCapabilityError whose data.requiredCapabilities lists the missing capabilities.” — spec anchor
How to fix this
When a request needs a capability the client did not declare, return `-32021` with `data.requiredCapabilities` naming exactly what was missing.
How the validator checks this
Probe P4.1, against a streamable-http server on the modern protocol. What it reports:
- skip
- Cannot construct a request that requires a specific client capability without invoking a real tool — out of scope for a read-only probe
Quoted from the probe that runs this check, so it cannot drift from what the validator actually reports.
This rule is checked heuristically: a fail is inferred rather than certain, so it bumps the overall grade up one level instead of being treated as certain non-compliance.
Checked in the same request as MCP-ERR-006.
Check your own server against this rule
The validator makes real protocol requests and reports this rule as pass, warn or fail alongside the other 78. Validate a server or read how the check works.
Other Error codes rules
- MCP-ERR-001Unsupported version returns -32022 with data.supported[]
- MCP-ERR-002Unknown method returns HTTP 404 and JSON-RPC -32601
- MCP-ERR-003Resource-not-found uses -32602, not the retired -32002
- MCP-ERR-004The retired -32042 code is never emitted
- MCP-ERR-005No undefined code is emitted in the reserved -32020…-32099 range
- MCP-ERR-006Missing required _meta field returns HTTP 400 + JSON-RPC -32602
- MCP-ERR-008New implementation-defined codes avoid the legacy -32000…-32019 range