模块 5协议、Skills 与框架
MCP 核心协议
MCP 标准化的是模型应用与外部能力的连接层
- 避免每个客户端重复设计 Tool 集成协议
- 不替代业务 API、身份系统或 Agent 编排
- 协议统一不等于能力语义自动统一
- Host 仍负责用户同意、安全和 Context 组装
Host–Client–Server 责任
Host
- 管理用户体验、模型、权限决策和多个 Client
Client
- 与单个 Server 维持会话、协商能力和路由消息
Server
- 暴露专注的 Tool、Resource 和 Prompt
- 连接隔离防止 Server 之间默认共享上下文
有状态会话的生命周期
- Initialize 交换协议版本、能力与实现信息
- Initialized 后才进入正常请求/通知
- 能力协商决定哪些方法可调用
- 断线、重连和关闭时清理订阅与在途请求
三类 Primitive 的不同语义
Tools
定义
- name、description 与 inputSchema
- annotations 只能辅助提示,不能替代策略
调用
- Call ID、参数校验和取消
- 结果内容、结构化错误与大结果引用
Resources
标识与读取
- URI、名称、MIME 和内容
- Template 支持参数化定位
变化
- List Changed 与订阅通知
- 客户端重新读取并处理版本变化
Prompts
- Server 提供的参数化消息模板
- 不拥有更高指令优先级
Server 请求的客户端能力
- Sampling、Roots、Elicitation 等需显式支持
Transport 不改变协议责任
- 本地 stdio 进程的生命周期和日志隔离
- 远程 HTTP 流式传输、会话和重连
- JSON-RPC Request、Response、Notification 与 ID
- Transport 错误、协议错误和 Tool 业务错误分层
内容模型与大结果处理
- 文本、图像、音频和 Resource Link
- 结构化内容与人类可读摘要
- 分页、订阅和 Artifact 引用
- Server 返回内容仍是不可信外部输入
协议版本和能力演进
- 客户端按协商能力启用功能
- 忽略未知可选字段但拒绝未知必需语义
- Server Schema 变化与在途会话
- 用录制协议序列做跨实现兼容测试