一次 MCP 使用通常不是“连上就结束”,而是经历初始化、能力发现、具体调用、结果返回,以及继续、停止或处理错误。把每一步分开,才能判断问题发生在哪一层。
用一个例子理解
查询一份课程资料时,应用先与服务约定版本和能力,再发现查询工具,带课程编号发起调用,检查返回资料。如果编号不存在,应处理错误,而不是继续声称已经读到材料。
看图理解把一次使用过程看清楚
01初始化
约定版本并声明能力
02能力发现
查询工具、资源或模板列表
03具体调用
带参数请求一项能力
04检查返回
继续、停止或处理错误
再深入一层
- 初始化: 双方约定可使用的协议版本并声明能力。
- 能力发现: 应用查询服务提供的工具、资源或提示模板列表。
- 具体调用: 应用带上参数请求一项能力。
- 检查返回: 结果可能是资料、其他数据或错误;应用再决定继续、停止或重试。
这个流程有助于理解底层逻辑,但具体消息名称、字段和版本需要查看适用规范。MCP 服务返回资料后,应用还要决定是否把相关内容放入模型本次上下文。
它不能说明什么
初始化成功不代表需要的工具存在,工具调用成功不代表模型已经使用了结果,任务完成也不只由协议通信决定。每个结论都要有对应证据。
接下来可以了解
资料依据
资料核验于 2026-09-13;本文是教学简化,具体版本的消息流程以对应规范为准。