Skip to content

Track migration to MCP spec 2026-07-28 (stateless model) #40

Description

@mattpodwysocki

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

  • Confirm real client support for the new stateless model (Claude Desktop, Claude Code, VS Code Copilot).
  • Read the SDK's actual migration guide for the TypeScript SDK version(s) implementing 2026-07-28 support.
  • Check whether anything in this server's transport/session handling assumes the old stateful handshake.

Non-goals for now

  • No urgency given the 12-month deprecation window.
  • The routine SDK dependency bump (1.29.01.30.0) is handled separately and does not itself adopt the new spec — see the corresponding PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions