-
Notifications
You must be signed in to change notification settings - Fork 461
feature: Handle protocol negotiation downgrade for better compatibility #337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I'm thinking we could add logic in the |
That sounds good to me. Should be obvious, but we need to ensure that once a higher protocol version is opted into, it cannot be downgraded. |
The latest version of the library uses protocol 2025-03-26 instead of 2024-11-05 used by many clients (such as the latest version of Claude). To avoid integration issues we will downgrade the version. This is being discussed here: mark3labs/mcp-go#337
The latest version of the library uses protocol 2025-03-26 instead of 2024-11-05 used by many clients (such as the latest version of Claude). To avoid integration issues we will downgrade the version. This is being discussed here: mark3labs/mcp-go#337
For now we've added simple version negotiation. We can add a more complex scheme later. Please try https://github.com/mark3labs/mcp-go/releases/tag/v0.30.1 and see if that helps. |
Thank you! I can confirm that it works! |
Uh oh!
There was an error while loading. Please reload this page.
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
Environment
go.mod
): 1.24.1go.mod
): 0.30.0The text was updated successfully, but these errors were encountered: