Summary
The MCP spec released a new revision on 2026-07-28 (announced at https://blog.modelcontextprotocol.io/posts/2026-07-28/) that moves from the stateful bidirectional protocol to a stateless request/response model — eliminating the initialize/initialized handshake and session IDs, replacing server-initiated elicitation with "Multi Round-Trip Requests" (MRTR), and deprecating Sampling, Roots, and Logging (12-month minimum deprecation window).
As of this issue, @modelcontextprotocol/sdk on npm is still on the 1.x line (1.30.0 latest) — no separate 2.0.0 package exists. The spec appears to be supported via 1.x releases.
Why this is lower-priority here than in the other Mapbox MCP servers
Verified (grep -rn "elicitInput\|createMessage" src/): this repo uses neither elicitation nor sampling anywhere. Unlike mcp-server (mapbox/mcp-server#245) and mcp-devkit-server (mapbox/mcp-devkit-server#130), there's no elicitation-based or sampling-based UX here that the spec's deprecations would force a redesign of. The remaining relevant surface is just the stateless request/response transport model itself.
What to check before starting
Non-goals for now
- No urgency given the 12-month deprecation window.
- The routine SDK dependency bump (
1.29.0 → 1.30.0) is handled separately and does not itself adopt the new spec — see the corresponding PR.
Summary
The MCP spec released a new revision on 2026-07-28 (announced at https://blog.modelcontextprotocol.io/posts/2026-07-28/) that moves from the stateful bidirectional protocol to a stateless request/response model — eliminating the
initialize/initializedhandshake and session IDs, replacing server-initiated elicitation with "Multi Round-Trip Requests" (MRTR), and deprecating Sampling, Roots, and Logging (12-month minimum deprecation window).As of this issue,
@modelcontextprotocol/sdkon npm is still on the1.xline (1.30.0latest) — no separate2.0.0package exists. The spec appears to be supported via 1.x releases.Why this is lower-priority here than in the other Mapbox MCP servers
Verified (
grep -rn "elicitInput\|createMessage" src/): this repo uses neither elicitation nor sampling anywhere. Unlikemcp-server(mapbox/mcp-server#245) andmcp-devkit-server(mapbox/mcp-devkit-server#130), there's no elicitation-based or sampling-based UX here that the spec's deprecations would force a redesign of. The remaining relevant surface is just the stateless request/response transport model itself.What to check before starting
Non-goals for now
1.29.0→1.30.0) is handled separately and does not itself adopt the new spec — see the corresponding PR.