ADK-Rust 中的模型上下文协议

模型上下文协议 (MCP) 是 AI 应用程序与独立拥有的能力之间的边界。MCP 服务器可以发布工具、可读资源、提示模板和参数补全。客户端发现该目录并通过协商的协议方法进行通信,而不是通过私有集成。

ADK-Rust 2 使用官方的 rmcp 2.2 SDK 和 MCP 2025-11-25 类型。

ADK-Rust 的定位

Rendering architecture…

McpToolset 将一个已初始化的 MCP 客户端连接适配到 ADK-Rust。McpServerManager 拥有一个不断变化的本地 stdio 子进程注册表,并聚合它们的工具。发布能力的应用程序可以使用 adk_tool::mcp::rmcp 构建 MCP 服务器,这是框架使用的确切 SDK 版本。

选择合适的接口

您需要使用所有权
连接一个已知的本地服务器McpToolset + TokioChildProcess应用程序启动子进程
连接一个远程 MCP 服务McpHttpClientBuilder远程部署拥有可用性
在运行时更改本地服务器定义McpServerManager应用程序拥有本地注册表和子进程
发布一个 MCP 服务器adk_tool::mcp::rmcp您的服务拥有模式、授权和副作用
保持一个已弃用的采样集成正常工作mcp-sampling 功能仅在 SEP-2577 下兼容

已实现能力图

能力ADK-Rust API行为
工具发现和调用McpToolset, Toolset原始模式和多模态结果得以保留
工具过滤with_filter, with_tools模型只看到选定的工具
资源和模板list_resources, list_resource_templates, read_resource通过稳定的 URIs 读取上下文
提示list_prompts, get_prompt解析可重用的服务器拥有的消息
补全complete_prompt_argument, complete_resource_argument向服务器请求参数建议
资源订阅subscribe_resource, unsubscribe_resource自定义处理程序接收更新通知
引出ElicitationHandler表单和 URL 模式
任务McpTaskConfig协商的工具调用任务创建、轮询、结果和取消
可流式传输的 HTTPMcpHttpClientBuilder超时、标头、认证注入、过期会话恢复
动态本地注册表McpServerManager添加、更新、启用、禁用、移除、保存、监控和重启
高级 SDK 工作adk_tool::mcp::rmcp服务器处理程序、传输、通知和扩展类型

文档路径

重要边界

  • 动态管理目前针对本地 stdio 子进程。
  • 管理器健康监控检测到 MCP 连接已关闭。它不能证明服务器的数据库或外部 API 是健康的。
  • autoApprove 为兼容配置而保留;ADK-Rust 不将其解释为 authorization。
  • OAuth2Config 执行固定的客户端凭据令牌请求。它不是完整的 MCP authorization 发现和浏览器 authorization 流程。
  • 采样、根和日志记录通过 SEP-2577 在上游被弃用。

这些边界是公共契约的一部分,应在部署设计中体现。

ADK-Rust 中的模型上下文协议 - ADK-Rust 文档 | ADK-Rust