模块 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 变化与在途会话
  • 用录制协议序列做跨实现兼容测试