feat(core): implement support for Stateless MCP (SEP-2575) - #393
Conversation
|
nit: please fix lint issues |
|
Should we add a new transport class for the new version of mcp here? |
|
Is this supposed to be similar to googleapis/mcp-toolbox-sdk-python#648? |
12d6250 to
1280f5b
Compare
Absolutely, but that's added in the next PR #395. I tried to keep this one focussed on SEP-2575 implementation only. |
That's right. Added to PR description for clarity. |
2eb9d12 to
8ec66a3
Compare
|
Could you clarify what is reference support here? If that's incorrect, can we update the PR title? |
|
In the PR description, it is mentioned
However, the Python PR seems to contain a lot more files. Can we fix the description to clarify the right intent? |
Ah my bad. I added the word "reference" because we had picked this up right after adding the conformance tests for this SEP in the MCP repo, so this PR was also kind of a reference implementation for that SEP. Removed it from the title to make it more clear. Thanks! |
|
This PR doesn't seem to be implementing the SEP-2575. It doesn;t seem like the PR adds new 2026 version files / remove the initialize method |
42fbbb4 to
9ae93e7
Compare
The commits got a bit tangled across the branches. I've rebased the branch chain so that this PR fully implements SEP-2575,. Other downstream PRs have been updated accordingly. |
27c076e to
0e4ae03
Compare
935b92f to
e30da1c
Compare
e30da1c to
7128a4f
Compare
… and HTTP transport routing (#412) * chore: update gitignore for build caches and build info files * feat(core): implement reference support for Stateless MCP (SEP-2575) (#393) * feat(core): implement SEP-2243 routing headers for HTTP transport (#395) * test: Integration test dual-server support (#413) * feat(core): update protocol definitions to use MCP_LATEST for draft specs (#394) * test: Integration test dual-server support * feat(core): update protocol definitions to use MCP_LATEST for draft specs * feat(core): support 2026 Stateless MCP, array-based auto-negotiation, and HTTP transport routing
Description
Implements SEP-2575, introducing support for the Stateless MCP Draft protocol version. This removes the legacy stateful
initializeJSON-RPC handshake and replaces it with a stateless HTTP header (Mcp-Protocol-Version).Changes
mcp.tsandtypes.ts) that remove theinitializemethod in favor of stateless headers.ToolboxClientto catchProtocolNegotiationErrorand fallback to older protocol versions if the server requires it.Note
This PR is the JS counterpart to googleapis/mcp-toolbox-sdk-python#648.