Skip to content

fix(SEP-2663): specify -32003 error for missing client capability#2756

Open
LucaButBoring wants to merge 6 commits into
modelcontextprotocol:mainfrom
LucaButBoring:fix/tasks-capability-error
Open

fix(SEP-2663): specify -32003 error for missing client capability#2756
LucaButBoring wants to merge 6 commits into
modelcontextprotocol:mainfrom
LucaButBoring:fix/tasks-capability-error

Conversation

@LucaButBoring
Copy link
Copy Markdown
Contributor

@LucaButBoring LucaButBoring commented May 20, 2026

Adds error-handling requirements to #2663 specify that -32003 is the correct error for servers to return when a server supports the Tasks extension and a client that does not declare the extension capability attempts to call tasks/get, tasks/update, or tasks/cancel - with an additional carveout for servers supporting both the extension and the 2025-11-25 version of tasks.

The backwards-compatibility section has been converted into a matrix for readability.

Motivation and Context

Currently, the Tasks extension specification does not declare a specific error for servers to return if a client invokes a Task-related method without supporting the extension. It does declare that servers must return -32003 (Missing Required Client Capability) if they require a client to support receiving CreateTaskResult, but this does not imply any behavior regarding other task methods, like tasks/update.

The current spec is ambiguous on this point, and both -32601 and -32003 are reasonable errors to return in this scenario, but we will require -32003 as it more accurately reflects the server's state. -32601 would imply that it does not support Tasks at all, while -32003 clarifies that the server does, but the client does not.

How Has This Been Tested?

N/A

Breaking Changes

N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

Identified in modelcontextprotocol/conformance#262 (comment)

@LucaButBoring LucaButBoring requested review from a team as code owners May 20, 2026 21:22
@kurtisvg kurtisvg changed the title Correct SEP-2663 to specify -32003 error for missing client capability fix(SEP-32003): specify -32003 error for missing client capability May 20, 2026
@LucaButBoring LucaButBoring changed the title fix(SEP-32003): specify -32003 error for missing client capability fix(SEP-2756): specify -32003 error for missing client capability May 20, 2026
@LucaButBoring LucaButBoring changed the title fix(SEP-2756): specify -32003 error for missing client capability fix(SEP-2663): specify -32003 error for missing client capability May 20, 2026
Comment thread seps/2663-tasks-extension.md Outdated
@LucaButBoring
Copy link
Copy Markdown
Contributor Author

Converted backwards-compatibility section into a matrix and moved the note about 2025-11-25 from the error-handling section into it: https://github.com/LucaButBoring/modelcontextprotocol/blob/fix/tasks-capability-error/seps/2663-tasks-extension.md#backward-compatibility

Comment thread seps/2663-tasks-extension.md Outdated
LucaButBoring and others added 2 commits May 26, 2026 11:57
Co-authored-by: Peter Alexander <pja@anthropic.com>
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