Skip to content

Fix Missing Required Client Capability error code - #15

Merged
LucaButBoring merged 1 commit into
modelcontextprotocol:mainfrom
JoannaaKL:fix-missing-capability-error-code
Aug 20, 2026
Merged

Fix Missing Required Client Capability error code#15
LucaButBoring merged 1 commit into
modelcontextprotocol:mainfrom
JoannaaKL:fix-missing-capability-error-code

Conversation

@JoannaaKL

Copy link
Copy Markdown
Contributor

The spec cites -32003 for "Missing Required Client Capability". The canonical code is -32021.

Evidence:

Source Value
SEP-2663 -32021, in all four of these same spots
Core 2026-07-28 schema, MissingRequiredClientCapabilityError -32021
Core draft schema -32021
TypeScript SDK, MISSING_REQUIRED_CLIENT_CAPABILITY -32021

-32003 appears in no core schema version (2025-06-18, 2025-11-25, 2026-07-28, draft).

It looks like this came in with the SEP-2663 port in 29f83d5 — the added lines already read -32003, whereas SEP-2663 says -32021. Supporting this, one of the affected examples carries the comment // MISSING_REQUIRED_CLIENT_CAPABILITY immediately above the value, and that constant is exactly -32021 in the TypeScript SDK.

Docs-only: error codes aren't encoded in schema.ts or the generated schema.json, so no regeneration is needed.

I noticed this while implementing the tasks extension capability negotiation in the Go SDK (modelcontextprotocol/go-sdk#755), which already implements this error as -32021.

CONTRIBUTING notes that changes should go through the Agents Working Group first. I've opened this directly since it's a factual correction rather than a design change — happy to take it to the WG instead if you'd prefer.

The spec cites -32003 for "Missing Required Client Capability", but the
canonical code is -32021: SEP-2663 uses -32021 in all four of these
spots, the core 2026-07-28 schema defines MissingRequiredClientCapability
Error as -32021, and the TypeScript SDK exports
MISSING_REQUIRED_CLIENT_CAPABILITY = -32021. -32003 appears in no core
schema version.
@LucaButBoring

Copy link
Copy Markdown
Contributor

Thank you, looks good 😄 yes, this change happened upstream in modelcontextprotocol/modelcontextprotocol#2907 and was never ported here.

@LucaButBoring
LucaButBoring merged commit c523f2c into modelcontextprotocol:main Aug 20, 2026
1 check passed
@JoannaaKL
JoannaaKL deleted the fix-missing-capability-error-code branch August 20, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants