一次 MCP 使用通常不是“连上就结束”,而是经历初始化、能力发现、具体调用、结果返回,以及继续、停止或处理错误。把每一步分开,才能判断问题发生在哪一层。

用一个例子理解

查询一份课程资料时,应用先与服务约定版本和能力,再发现查询工具,带课程编号发起调用,检查返回资料。如果编号不存在,应处理错误,而不是继续声称已经读到材料。

看图理解把一次使用过程看清楚
01初始化

约定版本并声明能力

02能力发现

查询工具、资源或模板列表

03具体调用

带参数请求一项能力

04检查返回

继续、停止或处理错误

这是帮助理解的简化流程,具体消息和版本需要查看适用规范。

再深入一层

  1. 初始化: 双方约定可使用的协议版本并声明能力。
  2. 能力发现: 应用查询服务提供的工具、资源或提示模板列表。
  3. 具体调用: 应用带上参数请求一项能力。
  4. 检查返回: 结果可能是资料、其他数据或错误;应用再决定继续、停止或重试。

这个流程有助于理解底层逻辑,但具体消息名称、字段和版本需要查看适用规范。MCP 服务返回资料后,应用还要决定是否把相关内容放入模型本次上下文。

它不能说明什么

初始化成功不代表需要的工具存在,工具调用成功不代表模型已经使用了结果,任务完成也不只由协议通信决定。每个结论都要有对应证据。

接下来可以了解

资料依据

资料核验于 2026-09-13;本文是教学简化,具体版本的消息流程以对应规范为准。