MCP Transitions to Stateless Architecture

Better Stackgo watch the original →

The Model Context Protocol (MCP) has moved to a stateless architecture, removing the initialize handshake and session IDs to enable standard HTTP load balancing and serverless scaling.

Removal of Protocol-Level State

The 2026-07-28 MCP specification eliminates the initialize handshake and the Mcp-Session-Id header, effectively making every request independent. This shift removes the requirement for sticky sessions or shared state stores like Redis, allowing developers to use standard round-robin load balancing. Servers can now scale to zero, as they no longer need to maintain persistent connections or session-specific memory, making the protocol compatible with serverless environments like Cloudflare Workers or Google Cloud Run.

HTTP-Aligned Infrastructure

The update introduces standard HTTP-style mechanisms to improve performance and caching:

  • Header-based routing: New Mcp-Method and Mcp-Name headers allow gateways and firewalls to inspect requests without parsing the JSON body.
  • Caching hints: The spec adds ttlMs and cacheScope fields to tool, prompt, and resource list calls, enabling clients to manage freshness and user-specific caching.
  • Server discovery: An optional server/discover method replaces the previous handshake for clients to query server capabilities.

Handling State and Asynchronous Workflows

Developers must now manage application-level state explicitly by passing identifiers (e.g., basketId) as arguments within tool calls. For interactive or long-running operations, the protocol has been updated as follows:

  • Multi-round-trip requests: Instead of pushing follow-up questions over a persistent stream, servers return an input_required result containing a serialized request_state payload. The client reissues the original call with the user's input and the echoed state, allowing any server instance to resume the operation.
  • Official Tasks: The Tasks extension is now official, allowing tools to return an immediate response while processing long-running jobs in the background. Clients track progress via tasks/get or subscription/is_on methods.
  • #ai
  • #dev-tooling
  • #api

summary by google/gemini-3.1-flash-lite. probably wrong about something. check the source.