The Model Context Protocol's 2026-07-28 specification publishes in three days, and it is the largest revision the protocol has seen since its original release. The release candidate has been public since May 21, but the discussion around it — on Hacker News, in MCP server repos, across every AI-adjacent corner of the internet this week — has noticeably accelerated as the deadline approaches. If you operate an MCP server, embed one in an agent, or proxy MCP traffic through a gateway, something in this update will hit you. The window to plan ahead is closing.
What "stateless" actually means here
Prior to this spec, every MCP connection began with a handshake: the client sent an initialize request, the server responded with its capabilities and agreed on a protocol version, and subsequent requests were tied to that session via an Mcp-Session-Id header. This made sessions first-class citizens of the protocol — and it made infrastructure annoying. A server cluster needed sticky sessions or a shared session store so that any request could land on the instance that still held the client's context.
The 2026-07-28 spec eliminates all of that at the protocol layer. SEP-2567 removes the Mcp-Session-Id header entirely. There is no more session. Every request is now self-contained: client metadata, capabilities, and protocol version travel in the _meta field on every request, not in a handshake that the server has to remember. At the infrastructure level, this means a remote MCP server can now run behind a plain round-robin load balancer and route traffic by the new Mcp-Method header without deep packet inspection or affinity rules.
The practical cost savings are real. Anyone who currently runs MCP servers on a managed container platform and pays for a Redis or Memcached session store to make the stateful protocol work at scale can remove that dependency. Horizontal scaling becomes straightforward rather than load-balancer-dependent.
What actually breaks
Two things break immediately on July 28 — not deprecated, not "please migrate eventually," but removed:
- The
initialize/initializedhandshake is gone (SEP-2575). The protocol version no longer flows through a startup exchange. It lives in_metaon every request. If you callinitializeon a server that has updated its SDK, you will get an error. The replacement for capability discovery isserver/discover. Client libraries will need to be updated; if you are managing your own MCP client code rather than relying on the official TypeScript or Python SDKs, this is a manual migration. tasks/listis removed outright. The Tasks feature, which manages long-running operations, has been rebuilt around task handles rather than session-bound objects.tasks/listno longer exists in the spec. If you poll for task status through that endpoint, you need a new approach before Tuesday.
Beyond those two, the spec mandates two new HTTP headers that were optional or absent before. Infrastructure that proxies MCP traffic and pattern-matches on headers needs to account for these. Several GitHub issues in popular MCP gateway projects this week are tracking exactly this migration.
What's deprecated but not gone yet
SEP-2577 formally deprecates Sampling, Roots, and Logging with a twelve-month removal window. Deprecated in the MCP spec means the features remain fully functional and spec-compliant until mid-2027 — but new implementations should not build on them, and existing ones should plan to move off.
Of the three, Sampling is probably the most widely used. It is the mechanism by which an MCP server can request that the client's LLM generate text — useful for server-side prompt chaining and agentic loops that live on the server rather than in the client. Its deprecation signals that the MCP team wants these patterns handled elsewhere, likely through the new Tasks extension, which is built for long-running, structured work rather than ad-hoc model calls. If Sampling is part of your server's core flow, start planning the migration now rather than at month ten of the twelve-month window.
What's being added
The removals and deprecations get the most attention, but the spec also ships new surface area worth knowing about:
- MCP Apps is an extension for server-rendered UIs — the ability for an MCP server to push a structured interface to the client rather than just returning text or data. Early use cases center on rich tool result displays and interactive configuration flows without requiring a separate frontend.
- The Tasks extension replaces the old Tasks-as-session-object model with a handle-based system. A server initiates a long-running operation and returns a handle; the client can poll or subscribe to that handle independently of any session. This is a cleaner primitive for agent workflows that span multiple turns or require human-in-the-loop checkpoints.
- Enterprise-Managed Authorization (EMA) was promoted from experimental to stable earlier in July. It formalizes MCP servers as OAuth 2.1 resource servers and lets organizations route authorization through their existing identity provider rather than handling it ad-hoc. For anyone building MCP integrations for enterprise clients, EMA stable is the authorization story you should build to now.
SDK timing
The official TypeScript and Python SDKs maintained by the MCP team are expected to ship 2026-07-28 support within the ten-week window that opened when the RC locked on May 21 — meaning by late July or early August. If you depend on the official SDKs and don't customize the protocol layer, the migration may be as simple as updating your package version and verifying that nothing in your server code assumed session persistence. If you rolled your own client or wrapper, the initialize handshake removal and the new _meta transport are where you will spend the most time.
Third-party SDKs and gateway wrappers — of which there are now dozens — are tracking the spec at different speeds. The safest assumption is that something in your dependency tree has not updated yet, and you should test against a server that has actually implemented the RC before assuming compatibility.
The concrete checklist before Tuesday
If you run an MCP server in production, these are the things worth doing right now rather than after the spec lands:
- Grep your server code for
Mcp-Session-Idand any session-store initialization. Remove or stub it — those code paths will be dead on updated clients. - Replace any
initializecall in client code withserver/discover. If your client library does this automatically, verify the version you're running. - If you call
tasks/listanywhere, find the handle-based replacement in the RC and migrate it. This one is a hard removal, not a deprecation. - Audit any use of Sampling. It works for another year, but if it is core to your product, a migration plan now is cheaper than a rushed one at month eleven.
- If you run MCP servers for enterprise customers, read the EMA stable spec. Your customers' IT teams are about to start asking whether your integration supports it.
The 2026-07-28 update makes MCP substantially simpler to operate at scale. But "simpler to operate" comes with a version boundary, and the spec is landing whether or not any individual server is ready. Three days is enough time to at least know which category you're in.
- The 2026-07-28 MCP Specification Release Candidate — Model Context Protocol Blog
- Model Context Protocol prepares to break with its stateful past — The Register, Jul 23, 2026
- AI's most important protocol is getting a little bit easier to use — TechCrunch, Jul 20, 2026
- AI Model Context Protocol Adds Centralised Auth for Enterprise — InfoQ, Jul 2026
- The biggest MCP spec update ships July 28: What changes for AI agent authentication — WorkOS
- MCP 2026-07-28 spec: what changed, what breaks — Stacktree
Three ways to act on this
Catch the compliance problems while you still have time to fix them quietly. The CLI runs against a local server or in your own pipeline.
mcp-doctor on GitHub, MITclaude-mcp-starter-kit, free
The Agent Lab builds live AI quoting engines for home service contractors. Supplier APIs, a labor rate matrix built from the shop's own bids, automated job intake. The same infrastructure work, pointed at an industry that still prices jobs by hand.
Read the engine specAgencies and dev shops white label the engine and put their own name on it. Installs start from 8,000 USD and the partner keeps 30 percent of the install and 30 percent of the monthly. No developer on the payroll.
Review the math