The Model Context Protocol (MCP) has released its most significant specification update to date, transforming from a bidirectional stateful protocol into a streamlined request-response system designed for production-scale AI agent deployments. The 2026-07-28 specification, announced on July 28, 2026, marks what project contributors describe as the protocol's most important release since remote MCP launched over a year ago.

The update arrives as MCP adoption has exploded. The protocol's Tier 1 SDKs — TypeScript, Python, Go, and C# — are now seeing close to half a billion downloads per month, with both the TypeScript and Python SDKs crossing the one billion total downloads threshold. MCP has become the default data and interactivity substrate for agentic workflows across enterprises, according to the project's blog post. For more on the evolving AI infrastructure landscape, see our latest AI industry coverage.

A Stateless Protocol Core

The headline change is the retirement of the initialize/initialized handshake exchange and the Mcp-Session-Id header. Each request now travels independently, carrying its protocol version, client identity, and client capabilities in metadata. The practical implication is significant: any request can now land on any server instance behind a plain round-robin load balancer without requiring shared session storage.

A new optional server/discover Remote Procedure Call (RPC) allows clients to learn a server's capabilities before making calls, but it is not required. This architectural shift directly addresses what the MCP team identified as one of the most highly-requested features from developers seeking better reliability and scalability.

Dropping protocol-level sessions does not force applications to be stateless. If a server needs to carry state across calls, it can mint an explicit handle from a tool and have the AI model pass it back as an argument. The MCP team found this approach works better than session state hidden in the transport, because the model can see the handle and thread it between tools.

Multi Round-Trip Requests Replace Held-Open Streams

The specification introduces Multi Round-Trip Requests (MRTR), which replace the server-initiated elicitation, sampling, and roots requests that previously required held-open bidirectional streams. When a tool needs input from a user mid-call — such as a confirmation or a missing parameter — the server returns a result type of "input_required" along with the requests it needs answered. The client then retries the original call with the answers attached.

This design eliminates the need for constantly open bidirectional connections, a major operational burden for teams running MCP servers at scale.

Header-Based Routing and Cacheable Lists

Streamable HTTP requests now must include Mcp-Method and Mcp-Name headers, enabling gateways, rate limiters, and web application firewalls to route and meter traffic based on headers rather than parsing JSON bodies. This change aligns MCP with standard API gateway patterns used across enterprise infrastructure.

Responses from tools/list, prompts/list, resources/list, and resources/read now carry time-to-live and cache scope hints. This allows clients to cache tool catalogs and keep upstream prompt caches stable across reconnects, reducing unnecessary re-fetching and lowering latency for repeated operations.

Authorization Hardening

The specification introduces several security improvements drawn from a year of implementer feedback. Authorization servers must now return the iss parameter per RFC 9207, and clients must validate it before redeeming an authorization code, closing an authorization-server mix-up vulnerability. Client credentials are bound to the issuer that minted them, preventing reuse across authorization servers.

Dynamic Client Registration (DCR), while still functional for backward compatibility, is now formally deprecated in favor of Client ID Metadata Documents (CIMD). The MCP team described this as a hardening measure to bring the protocol into compliance with OAuth specification requirements.

Formal Extensions Framework and Deprecations

Tasks have moved out of experimental status into a formal extension, joining other extensions such as MCP Apps and Enterprise Managed Authorization. A poll-based tasks/get and a new tasks/update mechanism replace the older HTTP GET endpoint, with change notifications consolidated into a single subscriptions/listen stream.

Roots, Sampling, and Logging have been deprecated with a twelve-month minimum deprecation window, giving developers time to plan migrations. The legacy HTTP+SSE transport is also officially deprecated with a year-long offramp. New implementations are advised not to adopt these features.

All four Tier 1 SDKs — TypeScript, Python, Go, and C# — now support the 2026-07-28 specification, with the Rust SDK supporting it in beta. The SDKs include detailed migration notes for the breaking changes, particularly for developers who depended on session identifiers.

Industry Reception

The release drew significant attention on developer forums, trending on Hacker News with over 100 points. David Soria Parra, a member of the MCP technical staff and co-inventor of the protocol, called it the clearest signal yet that MCP is becoming real production-grade infrastructure.

"The biggest changes are breaking ones, and the community has chosen to do the hard work rather than paper over the gaps," Soria Parra wrote. "This is a protocol growing up in real time around what production teams actually need."

The update signals that MCP, which originated as an open-source project to standardize how AI models access external tools and data, is maturing into foundational infrastructure for the agentic AI era. With half a billion monthly downloads and formal extensions for enterprise deployment, the protocol is positioning itself as the connective tissue between AI models and the systems they need to interact with.

Stay Ahead of AI

Read more AI news