apiwatch

All changes / MCP specification

Deprecation mcp

MCP 2026-07-28 removes the initialize handshake and Mcp-Session-Id, and deprecates Roots, Sampling, Logging, and the HTTP+SSE transport

Took effect · Model Context Protocol revision 2026-07-28

Reviewed against the vendor source on Sep 24, 2026 (AI-assisted review). Key facts are re-checked against the source daily.

What changes

The protocol is now stateless. No initialize or notifications/initialized; each request carries its protocol version and client capabilities in _meta; a new server/discover RPC advertises supported versions. The Streamable HTTP transport drops Mcp-Session-Id, SSE resumability (Last-Event-ID), and the GET endpoint (replaced by subscriptions/listen). ping, logging/setLevel, and notifications/roots/list_changed are removed. Server-initiated requests move to the multi-round-trip pattern. Deprecated with a minimum 12-month window — Roots, Sampling, Logging, HTTP+SSE, includeContext thisServer/allServers, and Dynamic Client Registration. Clients and servers pinned to older revisions keep working only as long as their counterpart still supports them.

Deprecation: Still works; removal is announced.

What to do

Probe servers with server/discover; support both handshake styles while legacy counterparts remain; move Roots and Sampling use to tool params and direct LLM calls; log to stderr or OpenTelemetry.

Strings to search for

notifications/initializedMcp-Session-Idsampling/createMessageroots/listlogging/setLevel

Source

https://modelcontextprotocol.io/specification/2026-07-28/changelog