第十一章:跃迁篇 - 集成 MCP,连接能力宇宙
本章将从工程视角系统化拆解 MCP(Model Context Protocol/能力上下文协议)的核心机制与集成路径,目标是让我们的 C++ 语音助手在保持内核高内聚、低耦合的前提下,能够“连接能力宇宙”:即在统一协议下发现、注册、调用远端的工具(Tools)与资源(Resources),并将结果以一致的事件模型在系统中流转。整个章节严格对齐项目现有风格与术语,代码示例可编译运行,并给出逐行注释、API 设计与调用示例、性能优化与最佳实践。
为保持术语一致,本章沿用以下基础名词:
- MCP Server:能力提供方,暴露工具清单与调用接口(通常基于 JSON-RPC over HTTP/WebSocket)。
- MCP Client:能力消费方(我们的助手),负责发现与调用工具,并将结果与上下文绑定。
- Tool(工具):一个具备输入/输出契约的可调用单元,禁止引入客户端内部类型,用 JSON Schema 描述。
- Resource(资源):可供消费的数据源(如文件、数据库、网页),在 MCP 中按统一协议暴露获取方式。
- Context(上下文):模型或代理在推理过程可访问的状态/能力集合,由 MCP 规范化组织与传递。
11.1 认识 MCP:打破应用孤岛,理解下一代 AI 能力协议
MCP 的愿景是将各种能力以统一的协议进行“语义编排”,让 Agent 不再被单一应用或框架绑定。它强调:
- 统一的工具描述:工具以
name/description/input_schema/output_schema<
