For eighteen months, the Model Context Protocol carried a design decision inherited from its origins as a way for Claude Desktop to talk to a local process: every connection opened with a handshake, and every request after that rode a session. On July 28, the protocol's stewards deleted that machinery. The fifth MCP specification, versioned `2026-07-28`, retires the `initialize`/`initialized` exchange and the `Mcp-Session-Id` header entirely, converting MCP from a bidirectional, stateful protocol into a stateless request/response model. It is, by the maintainers' own account, the biggest change since remote MCP launched.
The timing underscores how high the stakes have gotten. MCP just crossed roughly 400 million monthly SDK downloads, a 4x jump this year, and the maintainers report the combined Tier 1 SDKs are now closing in on half a billion downloads a month, with the TypeScript and Python SDKs each past a billion downloads all-time. Claude alone lists more than 950 MCP servers in its connectors directory. A protocol at that scale does not get to quietly refactor its core.
What actually changed
Under the old model, a remote MCP server needed sticky sessions, a shared session store, and a gateway that inspected request bodies to pin each client to the instance holding its state. That is workable on a laptop and painful across a Kubernetes cluster or multiple regions. In `2026-07-28`, every request is self-describing: protocol version, client identity, and capabilities now travel in a `_meta` object on each call (SEP-2575, SEP-2567). Any request can land on any instance behind a plain round-robin load balancer, with no shared storage. Clients that still want capabilities up front call a new optional `server/discover` RPC.
Several supporting changes make the stateless core practical. Method and tool names now travel in dedicated `Mcp-Method` and `Mcp-Name` HTTP headers (SEP-2243), so a gateway, rate limiter, or WAF can route and authorize on headers instead of parsing JSON. List responses from `tools/list` and friends carry `ttlMs` and `cacheScope` hints (SEP-2549), letting clients cache tool catalogs and keep prompt caches stable across reconnects. And because some tools still need to ask the user something mid-call, Multi Round-Trip Requests (MRTR, SEP-2322) replace the old server-initiated streams: the server returns `resultType: "input_required"`, and the client retries with answers attached, no held-open connection required.
Crucially, dropping the protocol-level session does not force applications to be stateless. The recommended pattern is explicit handles: a tool mints a `basket_id` or `workflow_id` and the model passes it back as an ordinary argument. "We found this works better than session state hidden in the transport," the maintainers wrote, "the model can see the handle and thread it between tools."
The release also formalizes an extensions framework with reverse-DNS identifiers and independent versioning. Tasks (durable, long-running async work, contributed by AWS) and MCP Apps (interactive HTML rendered in the client) graduate into it, alongside Enterprise-Managed Authorization. Roots, Sampling, and Logging are deprecated, as is the legacy HTTP+SSE transport, each with a new twelve-month minimum removal window (SEP-2577).
Why stateless matters for the enterprise
The auth story is the quieter half of why this lands as an enterprise release. The spec now leans on OAuth 2.1 and OIDC in earnest: RFC 9207 issuer validation to close authorization-server mix-up attacks, credentials bound to the issuer that minted them, and a formal shift from Dynamic Client Registration toward Client ID Metadata Documents. As WorkOS engineer Maria Paktiti put it, MCP authorization goes "from 'technically possible if you wire everything up yourself' to 'follow these RFCs and it works.'"
"The new release is MCP's most important since remote MCP first launched over a year ago," said David Soria Parra, a member of Anthropic's technical staff and co-inventor of MCP. "It is a leap in serving scalable MCP servers and takes all the lessons learned over the last 18 months to provide a robust foundation for MCP's future."
The infrastructure vendors moved in lockstep, which is the real signal in the protocol wars. AWS shipped the stateless core in Bedrock AgentCore on day one. "Developers can deploy MCP servers on standard, scalable infrastructure without managing sessions or persistent connections," said Swami Sivasubramanian, AWS's VP of Agentic AI. Cloudflare, Google Cloud, Microsoft Foundry, and Netlify all announced same-day support. When a stateless HTTP workload is the target, MCP becomes just another thing that runs in Workers, Lambda, or a Cloud Run container, which is precisely the point.
What to watch
The migration bill comes due over the next year. Teams that leaned on `Mcp-Session-Id` or built against the experimental Tasks API now have real refactoring ahead, even if the deprecated features keep working until at least July 2027. The open question is whether the header-based routing and CIMD auth model become the default enforcement layer enterprises govern agents through, or whether fragmentation creeps back in through competing extensions. "As with prior revisions," said Nick Cooper, an MCP core maintainer, "the most interesting part will be seeing the unexpected things people build with it." The substrate just got a lot bigger.
"The new release is MCP's most important since remote MCP first launched over a year ago. It is a leap in serving scalable MCP servers and takes all the lessons learned over the last 18 months to provide a robust foundation for MCP's future."- David Soria Parra, Co-inventor of MCP, Anthropic