Documentation
Every MCP spec revision, and what it broke
Updated: 2026-08-05
The current MCP specification revision is 2026-07-28, published 28 July 2026, and it is the largest change since the protocol launched. This page is the living tracker: what each revision changed, what it broke, and what a running server has to do about it. It is updated on every revision rather than replaced, because the URL has to survive the next one.
The revision table
| Revision | Headline change | Breaks | Action |
|---|---|---|---|
| 2026-07-28 | Stateless core; sessions and handshake removed | Per-session state; old capability exchange | Move state to explicit handles; adopt discovery |
| 2025-11-25 | Prior stable baseline | n/a for servers built to it | Plan migration to 2026-07-28 |
| 2025-03-26 | Earlier baseline | Multiple, superseded | Migrate; several revisions behind |
2026-07-28 in depth
Five changes matter for anyone running a server today. Protocol-level sessions are gone, and the Mcp-Session-Id header with them. The initialization handshake is removed; protocol version and capabilities now travel in request metadata. The older HTTP+SSE transport is reclassified as deprecated. And Roots, Sampling and Logging are deprecated under a new twelve-month minimum policy.
Migration checklist
- Identify the revision your server negotiates.
- Remove session dependencies; move state to explicit handles.
- Replace the initialization handshake with the discovery method.
- Serve Streamable HTTP; keep any /sse path as an alias.
- Inventory Roots, Sampling and Logging usage before the window closes.
- Re-run the acceptance script against every client.
Check your own server
You do not have to read this table and guess. The scanner reports the revision your server actually negotiates.
