Product Signal
Stable MCP Shifts to a Stateless Architecture
MCP 2026-07-28 is now stable, removing session IDs and the initialization handshake while adding discovery and subscription mechanisms. Initial tools already implement the stateless design.
The Model Context Protocol promoted its 2026-07-28 revision to a stable release on July 28. The specification removes protocol-level sessions, Mcp-Session-Id and the initialize handshake while adding discovery and subscription interfaces. MCP is moving from session-bound connections toward a more stateless Agent integration layer, changing both deployment assumptions and compatibility boundaries.
The Protocol Has a New Center of Gravity
Compared with the 2025-11-25 revision, the new specification uses server/discover to expose server capabilities and subscriptions/listen to deliver updates, while adding MRTR. SSE resumability has been removed, and Tasks has moved out of the core specification into an extension. The design now emphasizes discovering capabilities and making requests rather than first establishing and maintaining a protocol session. That can reduce server-side state coordination, but clients can no longer assume the old handshake and recovery semantics remain available.
Early Tools Show a Working Migration Path
After the specification release, Simon Willison published mcp-explorer 0.3. It uses the new stateless protocol by default while retaining a --legacy option for inspecting the old initialize handshake. The datasette-mcp 0.1a0 package adds a /-/mcp endpoint to any Datasette instance, exposing database listings, schemas and read-only SQL while preserving Datasette visibility and execute-sql permissions. These implementations show that the migration path works, although they represent early developer adoption rather than ecosystem-wide uptake.
Scaling Benefits Come With Compatibility Costs
The redesign brings MCP closer to conventional HTTP services and horizontally scaled infrastructure. Without protocol-level sessions, Agent tools may be easier to deploy across short-lived or replicated server instances. The countercase is immediate migration cost: older clients that depend on initialize, session IDs or SSE recovery will need compatibility layers or dual-stack support. Moving Tasks into an extension may also produce divergent implementations. The available evidence does not yet show that mainstream clients have completed the transition.
What to watch next
The next test is when major MCP SDKs, IDEs and Agent platforms make the 2026-07-28 revision their default and implement server/discover and subscriptions/listen natively. Rapidly declining use of legacy mode and successful cross-implementation tests would establish stateless MCP as the new baseline. Persistent dual-stack support would indicate that compatibility costs are offsetting the deployment benefits.
Sources
- Model Context Protocol — MCP 2026-07-28
- Model Context Protocol — Key Changes — MCP 2026-07-28
- Simon Willison — Stateless MCP has recaptured my interest (and inspired mcp-explorer and datasette-mcp)
- Simon Willison — llm-mcp-client 0.1a0
- Simon Willison / GitHub — GitHub - simonw/llm-mcp-client: Access tools from MCP servers as LLM tools
- Python Software Foundation — llm-mcp-client · PyPI
- Simon Willison — Stateless MCP has recaptured my interest (and inspired mcp-explorer and datasette-mcp)
- Cloudflare Blog — Welcome to Agents Week
- Cloudflare — Agents API
- Cloudflare — Introducing the Agents SDK
- Cloudflare — Agents SDK adds MCP Specification 2026-07-28 support
- OWASP Foundation — OWASP Top 10 for Large Language Model Applications