Skip to content

[v2025-06-18] MCP-Protocol-Version header assumes incorrect version #854

@kurtisvg

Description

@kurtisvg

Describe the bug
In #548, language was added to make MCP-Protocol-Version: required. #668 added language that if the header is not sent, the server SHOULD assume version 2025-03-26.

However the current version of the spec 2025-06-18 reads:

For backwards compatibility, if the server does not receive an MCP-Protocol-Version header, and has no other way to identify the version - for example, by relying on the protocol version negotiated during initialization - the server SHOULD assume protocol version 2025-06-18.

However this logically doesn't make sense -- if the client is running 2025-06-18, it MUST include the header. If the header is missing, the correct assumption should be 2025-03-26 (as the only version where MCP-Protocol-Version is not required).

Additionally, I think the language around this should be lessened to "MAY" -- or perhaps this line can be removed altogether, so that servers can enforce the requirement if they support versions +2025-06-18.

Expected behavior
Update the line to be:

For backwards compatibility, if the server does not receive an MCP-Protocol-Version header, and has no other way to identify the version - for example, by relying on the protocol version negotiated during initialization - the server MAY assume protocol version 2025-03-26.

Logs
If applicable, add logs to help explain your problem.

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions