If you maintain an MCP server that fronts a search index, a document store, or an internal wiki, the migration work is now concrete rather than theoretical. The 2026-07-28 revision removes protocol-level sessions and the `Mcp-Session-Id` header from the Streamable HTTP transport, and removes the `initialize`/`notifications/initialized` handshake entirely. Protocol version, client info, and client capabilities that were exchanged once at connection setup now travel in a `_meta` field inline on every request.
The motivation was operational. Running remote MCP servers previously required shared Redis session stores or gateway-level packet inspection, adding latency and operational cost. Google says it needed MCP to scale across millions of concurrent queries and co-founded an MCP Transports Working Group with Hugging Face and other partners to decouple the protocol from stateful transport. Anthropic frames it as a move from a bidirectional stateful protocol to a request/response model, which lets servers deploy on serverless and edge infrastructure.
What breaks in a retrieval connector
Two details matter more than the headline. First, list endpoints — `tools/list`, `resources/list`, `prompts/list` — no longer vary per-connection . If your knowledge connector shaped its tool or resource list around who was connected (per-tenant corpora, per-role document scopes), that pattern is gone from the protocol layer and has to move into arguments and authorization checks.
Second, servers that need cross-call state must now use explicit, server-minted handles passed as ordinary tool arguments (SEP-2567) . That is the right primitive for retrieval anyway: pagination cursors, result-set IDs, and expanded-context tokens become first-class, inspectable, and cacheable objects instead of implicit connection state. It also means you own their expiry and their authorization semantics. A handle that leaks across tenants is now your bug, not the transport's.
Auth tightened alongside. Six SEPs align MCP's authorization spec more closely with production OAuth 2.0 and OpenID Connect deployments , and Dynamic Client Registration is formally deprecated in favor of CIMD, continuing to work for backward compatibility but slated for removal.
Timelines and the upgrade path
Nothing forces a same-week rewrite. Upgrading is opt-in, and on Bedrock AgentCore Gateway, adding 2026-07-28 alongside 2025-11-25 does not change behavior for existing clients, since clients select a version per request. The deprecation clock is the thing to calendar: Roots, Sampling, and Logging are deprecated but supported for at least twelve months, and the legacy HTTP+SSE transport is officially deprecated with a year-long offramp. Change notifications also move to a single `subscriptions/listen` stream that clients opt into per notification type — relevant if you push index-freshness events to agents.
Who should care: anyone operating more than a handful of MCP-exposed knowledge sources behind a load balancer. Anthropic reports MCP passed 400M monthly SDK downloads, a 4x increase this year , which is roughly the scale at which sticky sessions stop being survivable.