MCP 协议的官方 Rust SDK,提供 Client 与 Server 双端实现,支持 Tools、Resources、Prompts、Sampling、OAuth 等完整协议能力。
RMCP 是 Model Context Protocol 规范的官方 Rust 语言实现,以 crate rmcp 发布于 crates.io,当前版本 1.6.0。项目位于 MCP 官方 GitHub 组织 modelcontextprotocol 下,基于 tokio 异步运行时构建,采用 Apache-2.0 许可证。
SDK 同时提供 Server 与 Client 双端能力。Server 端可通过 #[tool_router] / #[tool] 等过程宏声明式定义 Tools、Resources、Prompts,自动处理 JSON Schema 参数验证与路由注册;Client 端通过 TokioChildProcess 或 HTTP 传输连接外部 MCP 服务器。统一通过 ServiceExt::serve(transport) 启动服务。
协议覆盖方面,RMCP 实现了 MCP 2025-11-25 规范的核心能力,包括 Tools、Resources(含 Resource Templates)、Prompts、Sampling(服务器反向请求 LLM 补全)、Roots、Logging(8 级别)、Completions、Notifications(进度/取消/生命周期/列表变更)、Subscriptions(资源变更推送)、Elicitation(结构化用户输入请求)以及完整的 OAuth 2.0 授权流程(含 client-credentials-JWT 扩展)。
传输层通过 feature flags 灵活组合:stdio(默认随 server 启用)、子进程、Streamable HTTP Client/Server(支持 reqwest 及 Unix Socket 后端),以及 Tower Service 集成。项目采用 workspace 结构,核心实现约 21k 行 Rust 代码,配套合规测试套件,当前达到 SEP-1730 Tier 1 合规目标的 Server 87.5%、Client 80.0%。
下游生态已覆盖 AI Agent 框架(goose)、GraphQL 工具链(apollo-mcp-server)、容器管理(containerd-mcp-server)、编辑器集成(nvim-mcp)等场景,扩展项目 rmcp-openapi 可将 OpenAPI 端点自动转换为 MCP 工具。项目从 2025-03-16 首次发布,经 0.x 快速迭代后于 2026-03-03 发布 1.0.0 稳定版,通过 GitHub Actions CI 与 release-plz 实现自动化测试与发布。