Skip to content

feature: Handle protocol negotiation downgrade for better compatibility #337

@StarpTech

Description

@StarpTech

Description

Hi, after upgrading to the latest version (0.30.0), we experienced incompatibilities with mcp-remote, a popular tool used to enable SSE in environments where SSE is not yet supported. The same issues have been reproduced in Postman. None of these clients support custom protocol negotiation or have considered SSE as a subset of 2025-03-26, making it impossible to upgrade mcp-go while still supporting the 2024-11-05 protocol version.

It would be great if we could manually specifiy a protocol version or, even better, have the library calculate the version based on the features used. For example, if you opt in to streaming, the version would be 2025-03-26; if not, it remains 2024-11-05.

This would improve ecosystem compatibility until the latest MCP spec has settled.

Logs or Error Messages

Here is a picture when trying to connect against a server that uses mcp-go in version 0.30.0

Image

Environment

  • Go version (see go.mod): 1.24.1
  • mcp-go version (see go.mod): 0.30.0
  • MacOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: mcp specIssues related to MCP specification compliancearea: sdkSDK improvements unrelated to MCP specificationgood first issueGood for new contributors

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions