MCP 2.0 goes stateless: sessions are gone, and the SDKs shipped

The July 28 spec drops sessions so any instance answers any request — plus mid-call inputs, header routing, hardened auth, and Tier-1 SDKs to move to.

Nowline AUG 4 9:00 AM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • Sessions are gone — every request stands alone

    The 2026-07-28 spec removes the initialize/initialized handshake and the Mcp-Session-Id header; protocol version, client identity and capabilities now ride in each request's _meta field. Any request can land on any instance behind a load balancer, so MCP servers finally run on plain serverless without sticky sessions.

  • Tools can pause and ask you mid-call

    Multi Round-Trip Requests (MRTR) replace server-initiated streams: a tool can stop for a confirmation or a missing parameter and get the answer back via inputResponses on a retry. Human-in-the-loop steps no longer need a held-open connection.

  • Gateways route on headers; list calls are cacheable

    Requests now carry Mcp-Method and Mcp-Name HTTP headers, so gateways, WAFs and rate-limiters can route and throttle without parsing JSON bodies. Responses to tools/list, prompts/list and resources/list return ttlMs and cacheScope, so clients stop re-fetching the same tool catalogs.

  • Auth hardened, and the timing is pointed

    MCP swaps Dynamic Client Registration for Client ID Metadata Documents and adds RFC 9207 issuer validation to block authorization-server mix-up attacks — landing the same week a CVSS 10.0 RCE hit a popular MCP bridge. Client credentials are now bound to their issuing server.

  • Tasks graduate to a first-class extension

    Long-running work moves out of experimental core into the io.modelcontextprotocol/tasks extension, with poll-based tasks/get plus a new tasks/update method — a cleaner path for agents that kick off a job and check back later.

  • Tier-1 SDKs shipped; Rust in beta

    TypeScript, Python, Go and C# SDKs are updated for the stateless spec with migration guides; the Rust SDK is in beta. It is a breaking change, so pin versions and test before upgrading production servers.

  • Build this weekend: probe and serve stateless MCP

    Simon Willison calls it the biggest MCP change since launch and shipped tools to match: `uvx mcp-explorer list <url>` inspects any server's tools with zero install, and datasette-mcp exposes read-only SQL over a /-/mcp endpoint. You can stand up a stateless MCP server for a personal API in an afternoon.