initialize handshake
Removed in 2026-07-28 The opening exchange of every MCP revision up to 2025-11-25: the client sent an initialize request carrying its protocol version and capabilities, the server replied with its own, and the client confirmed with a notifications/initialized.
#
The opening exchange of every MCP revision up to 2025-11-25: the client sent an initialize request carrying its protocol version and capabilities, the server replied with its own, and the client confirmed with a notifications/initialized. The 2026-07-28 revision removed it. Version, identity, and capabilities now travel in the _meta field of every request.
Deleted from this revision as a breaking change (SEP-2575), not deprecated first. SDKs may still expose an initialize() call, so check your SDK version before changing working code.
This is why almost every MCP tutorial written before July 2026 no longer describes the wire. A modern-only server that receives initialize should name the protocol versions it supports in the error it returns, because a handshake-era client has no way to fall forward and that message may be the only diagnostic a user sees.
Also written: initialize · notifications/initialized · initialize handshake · MCP handshake · initialize request