Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat!: update to MCP Protocol 2025-11-25, new mcp_icon macro and various improvements#120

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
hashemix wants to merge16 commits intomain
base:main
Choose a base branch
Loading
fromfeat/rust-mcp-sdk-mcp-2025-11-25-support

Conversation

@hashemix
Copy link
Member

@hashemixhashemix commentedDec 14, 2025
edited
Loading

📌 Summary

This PR introduces a major update to therust-mcp-sdk crate, focusing on adding support for the latest MCP Protocol version (2025-11-25) while removing Cargo features for supporting older versions to simplify the codebase and reduce conditional feature flags.
The new protocol version is backward-compatible, ensuring a smoother transition. Additionally, numerous improvements have been made for cleaner code, better macro support, and enhanced functionality across the SDK.

These updates makes the SDK more robust, future-proof, and easier to maintain.

✨ Changes Made

  • Protocol Update to 2025-11-25:
    • Added full support for the latest MCP schema, including new fields likeicons,website_url in Implementation, and extended annotations/support for tools (e.g., execution).
    • Updated method signatures and params (e.g., CallToolRequestParams now includes meta and task; PaginatedRequestParams for listing tools/prompts/resources).
    • Renamed client methods for clarity and consistency (e.g., list_tools → request_tool_list, call_tool → request_tool_call, send_roots_list_changed → notify_roots_list_changed etc.).
    • Enhanced initialization with optional meta and richer server/client info (e.g., icons, descriptions).
  • Removal of Legacy Version Support:
    • Eliminated Cargo features for older MCP versions (e.g., "2025_06_18", "2025_03_26", "2024_11_05") to streamline the code and remove conditional compilation. The SDK now defaults to the latest version, reducing complexity and maintenance overhead.
  • Macro Enhancements:
    • Updated mcp_tool macro to support new attributes like icons (array of icon definitions with src, mime_type, sizes, theme), execution (for task support), and improved meta handling.
    • Introduced mcp_icon! macro for easy icon creation (used in examples and schema).
    • Refined mcp_elicit macro with support for "form" and "url" modes, including elicit_request_params and parsing from ElicitResultContent.
    • Version Bumps and Dependency Changes:
      • Bumped internal crate versions (e.g., rust-mcp-schema from 0.7.5 to 0.9.x).
  • Handler and Runtime Updates:
    • Adjusted server/client handlers to use new param structs (e.g., Option for list requests).
    • Improved error handling and support for custom requests/notifications.
    • create_server() now accepts a McpServerHandler directly.
    • Introduced new traits to convert ServerHandler and ServerHandlerCore to a McpServerHandler.
      This enables the creation and configuration of handlers before calling the create_server().
  • Examples and Documentation:
    • Updated all examples (e.g., hello-world-server, simple-mcp-client) to use new APIs, icons, and protocol features.
    • Added new assets like rust-mcp-icon.png and integrated it via mcp_icon!.
    • README updates for macros, with examples for mcp_tool and mcp_elicit.
  • Other Improvements:
    • Removed unnecessary features, simplified conditional logic, and improved parsing/validation in macros.

⚠ BREAKING CHANGES:

  • Older MCP version features are removed, users must update to the latest protocol.
  • Method renames and param changes in client/server APIs may require code adjustments.
  • Macro attributes have been expanded; check updated docs for compatibility.
  • when callingcreate_server(), simply call.to_mcp_server_handler() on your handler instance to convert it to anMcpServerHandler before passing it in:
- let server =  server_runtime::create_server(server_details, transport, handler);+ let server =  server_runtime::create_server(server_details, transport, handler.to_mcp_server_handler());

🛠️ Testing Steps

💡 Additional Notes

hashemixand others added10 commitsOctober 15, 2025 08:32
@hashemixhashemix changed the titlefeat! update to MCP Protocol 2025-11-25, new mcp_icon macro and various improvementsfeat!: update to MCP Protocol 2025-11-25, new mcp_icon macro and various improvementsDec 14, 2025
@dylanbstorey
Copy link

dylanbstorey commentedDec 17, 2025
edited
Loading

I hate to be “that guy” but can we get this merged and released, i’ve got breaking MCP servers that need the schema; I’m happy to help any way that i can.

canardleteer reacted with heart emoji

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants

@hashemix@dylanbstorey

[8]ページ先頭

©2009-2025 Movatter.jp