The transport-level MCP-Protocol-Version check that gates EVERY POST to the
MCP endpoint, irrespective of whether the body is a request, notification, or
response. basic/transports §Protocol Version Header (2025-06-18 /
2025-11-25): "If the server receives a request with an invalid or unsupported
MCP-Protocol-Version, it MUST respond with 400 Bad Request." Returns the
rejecting McpException (mapped to HTTP 400) or null when the header is absent
or names a supported version. This is just validateProtocolVersionHeader,
named to make explicit that it runs before the per-kind routing switch.
The transport-level MCP-Protocol-Version check that gates EVERY POST to the MCP endpoint, irrespective of whether the body is a request, notification, or response. basic/transports §Protocol Version Header (2025-06-18 / 2025-11-25): "If the server receives a request with an invalid or unsupported MCP-Protocol-Version, it MUST respond with 400 Bad Request." Returns the rejecting McpException (mapped to HTTP 400) or null when the header is absent or names a supported version. This is just validateProtocolVersionHeader, named to make explicit that it runs before the per-kind routing switch.