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.

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.