-
Notifications
You must be signed in to change notification settings - Fork 636
Change MCP SDK to rmcp #422
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
Conversation
|
Sorry, I didn't notice that the maintainer of mcp-core used by rig is @stevohuncho, but I really want to use https://github.com/modelcontextprotocol/rust-sdk Maybe we need more discussion to make a choice. |
|
When MCP support was first PRed, I don't think anthropic even had a although...., there's no reason why both can't be supported. it just's simpler for us to promote one (except for implementing a foreign trait on a foreign type but you can use a wrapper type for that). |
After careful evaluation, I confirmed that rmcp and mcp-core are fundamentally incompatible due to completely different API designs. Maintaining both implementations would significantly increase complexity and maintenance overhead. We can:
I'd appreciate @stevohuncho's input on this migration plan before we proceed. |
|
If |
Yes, they are nearly identical in terms of functionality.
But they have their own problems, this is just a rough comparison... |
|
I think in the immediate term adding |
I think this makes sense, adding |
Thanks for your supportive stance! I agree—adding rmcp incrementally while keeping mcp-core temporarily is the pragmatic path. That said, rmcp’s development could use more momentum (e.g., 2025-03-26 Protocol Revision isn’t fully supported yet). If you’re open to contributing there, your expertise would be invaluable! |
Yes, so I’d like to wait for its first release. |
What was the nature of this merge. is it a change in API, is it changing towards rmcp's api design? |
I reviewed the changes and found some incompatibilities in the transport layer's cfg features: transport-sse was renamed to transport-sse-client (only affects example code). There are also a few minor adjustments, but these only impact users who need to migrate to the new version. |
|
I'm really looking forward to closing this pr) |
|
I believe we should be quite close to getting some movement on this issue/PR! It looks like the MCP Rust SDK team is quite close to being able to publish something: modelcontextprotocol/rust-sdk#55 |
|
Closing as this has been superceded by #553 (which is mostly ready to go, it just needs review now) |
Reason: modelcontextprotocol/rust-sdk#44, the original MCP rust-sdk has been changed to rmcp, we should use rmcp to fix #416