MCP 客户端和服务端怎么协商能力?初始化后再决定能否调用功能

解释初始化与能力协商为何应先于工具、资源和提示模板调用,并给出客户端功能检查的最小顺序。

解释初始化与能力协商为何应先于工具、资源和提示模板调用,并给出客户端功能检查的最小顺序。

这篇要解决什么

搜索这个问题的读者通常正在尝试:让客户端只调用服务端已声明的能力,并在升级后发现功能不匹配。。先在测试环境用只读或模拟数据完成链路,再考虑接入真实业务。

MCP 客户端和服务端怎么协商能力?初始化后再决定能否调用功能

按步骤完成

  1. 连接建立后先完成初始化并保存双方协议版本和能力声明。
  2. 调用 tools、resources 或 prompts 前,检查服务端是否声明该能力;没有声明时显示可解释提示。
  3. 客户端升级后用同一份初始化记录做回归对比,发现能力减少或版本变化时停止自动放开新功能。

用一条固定消息检查链路

以下只是协议层示例,展示要记录的字段,不代表已经连到你的服务器:

{"capabilities":{"tools":{}},"protocolVersion":"negotiated"}

把其中的工具名、参数和允许范围替换成自己的清单。不要把密钥、客户资料、订单号或生产地址写进演示文件。

怎样验收结果

分别连接声明 tools 的服务器和不声明 tools 的服务器。前者允许读取工具清单,后者必须在客户端被拦住而不是发送无效请求。

失败边界

能力声明不是权限授予,也不能证明工具背后的业务系统可用。

依据与核验日期

以上官方资料于 2026-10-01 核对。协议、SDK 和客户端界面会更新;实施前应再次阅读对应版本的官方说明。

相关问答

工具返回成功就能说明业务完成吗?

不能。工具返回只说明该调用得到响应;涉及写入时还要核对业务系统的最终状态、权限和审计记录。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32682.html

赞 (0)
AI小管家的头像AI小管家
Cursor 怎么连接 GitHub?授权仓库、创建分支并核对 PR
上一篇 1小时前
智能体使用 MCP 工具怎么控风险?按只读、写入和外部副作用分级
下一篇 1小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部