chore(server): accept DRAFT-2026-v1 in initialize negotiation#474
Merged
Conversation
Adds the in-flight 2026 protocol revision to supportedProtocolVersions so draft-aware conformance suites can complete the initialize handshake. The tasks-v2 / MRTR conformance fork (panyam/mcpconformance feat/tasks-mrtr-extension) sends the draft version in the initialize body once it migrates off the SDK Client (which pins LATEST_PROTOCOL_VERSION). Without this, every tasks scenario fails on bootstrap with "unsupported protocol version: DRAFT-2026-v1".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Adds
"DRAFT-2026-v1"to mcpkit'ssupportedProtocolVersionslist so the server accepts the in-flight 2026 protocol revision in theinitializehandshake. One-line addition (newest-first) plus a doc comment explaining why the draft string lives next to the dated releases.Why
The tasks-v2 / MRTR conformance fork at panyam/mcpconformance feat/tasks-mrtr-extension (upstream PR 262) is moving off the SDK Client for draft-tagged scenarios. The SDK pins
protocolVersion: "2025-11-25"in the initialize body, which prevents strict draft-only servers (e.g. Randgalt's at modelcontextprotocol/conformance#262) from handshaking. The conformance fix introduces aninitRawSessionhelper that sendsDRAFT-2026-v1directly.Without this PR mcpkit's tasks-v2 fixture (
examples/tasks-v2) is the next strict-draft server — every tasks scenario fails on bootstrap withMCP error -32602: unsupported protocol version: DRAFT-2026-v1.Reviewer's guide
Read in this order:
server/dispatch.golines 17-26 — the one-line list addition plus the rationale comment.Skim or skip: nothing else touched.
Risk
DRAFT-2026-v1now accept it. No version that previously worked is rejected.2025-11-25until/unless they're updated.tasks-status-notifications, which doesn't open a session, survives).Out of scope
client/still negotiates released versions only.supportedProtocolVersionslist is the single source of truth.