a daily news desk
Tools

MCP goes stateless: the 2026-07-28 spec is the biggest rewrite since launch

The Model Context Protocol drops session IDs, moves routing into HTTP headers, and graduates a formal extensions framework — all four Tier 1 SDKs ship day zero.

MCP maintainers David Soria Parra and Den Delimarsky pushed the 2026-07-28 revision of the Model Context Protocol today, and by their own account it’s the largest change to the spec since authorization was added. The initialize handshake is gone. Protocol-level sessions are gone. “A lot of things that made MCP are gone,” Parra said.

What replaces them is a protocol that behaves like the rest of the web. SEP-2575 kills the handshake; SEP-2567 kills the session requirement; capabilities now ride per-request inside _meta, and a new server/discover method handles what the handshake used to. SEP-2243 pushes routing into two HTTP headers, Mcp-Method and Mcp-Name, on Streamable HTTP requests. SEP-2549 adds ttlMs and cacheScope to tools/list, prompts/list, resources/list, and resources/read responses, which finally makes caching legible to intermediaries. SEP-414 formally reserves W3C Trace Context keys inside _meta, so distributed tracing stops being a per-vendor guess.

Server-initiated calls didn’t survive intact. Sampling and elicitation have been rebuilt as Multi Round-Trip Requests under SEP-2322, using a new resultType: 'input_required' response and an inputResponses request field. Sampling itself is deprecated, with Stacklok’s readiness guide citing a 12-month functionality floor. Parra, on a livestream last week, said sampling “turned out to be used rarely.”

The rewrite is landing at a scale that would’ve been unthinkable a year ago. The TypeScript and Python SDKs have each crossed a billion total downloads. All four Tier 1 SDKs, TypeScript, Python, Go, and C#, shipped day zero, and collectively pull close to half a billion downloads a month.

Ecosystem support arrived on the same clock. Anthropic is rolling the spec into Claude. AWS’s AgentCore Gateway speaks both 2026-07-28 and 2025-11-25 behind a single configuration field. Cloudflare’s Agents SDK ships support today.

Protocols that survive their first stateful era usually do it by pretending they were stateless all along. MCP is doing it in public.

Sources