导航菜单

  • 1.什么是MCP
  • 2.架构概览
  • 3.理解MCP服务器
  • 4.理解MCP客户端
  • 5.版本控制
  • 6.连接本地MCP服务器
  • 7.连接远程MCP服务器
  • 8.构建MCP服务器
  • 9.构建MCP客户端
  • 10.SDKs
  • 11.理解MCP中的授权
  • 12.安全最佳实践
  • 13.MCP Inspector
  • 14.规范
  • 15.关键变更
  • 16.架构
  • 17.基础协议概述
  • 18.生命周期
  • 19.传输
  • 20.授权
  • 21.取消
  • 22.Ping
  • 23.进度
  • 24.任务
  • 25.根
  • 26.采样
  • 27.引导
  • 29.提示
  • 30.资源
  • 31.工具
  • 32.补全
  • 33.日志
  • 34.分页
  • 35.模式参考
  • Keycloak
  • 28.服务器功能
  • 1. 什么是 MCP 规范?
  • 2. 本章你将学到
  • 3. 协议概述
    • 3.1 MCP 解决什么问题?
    • 3.2 通信方式
  • 4. 核心能力
    • 4.1 服务器可提供的功能
    • 4.2 客户端可提供的功能
    • 4.3 附加工具
  • 5. 安全与信任
    • 5.1 关键原则
    • 5.2 实现指南
  • 6. 规范关键词速查

1. 什么是 MCP 规范? #

MCP 规范是 Model Context Protocol 的官方技术文档,定义了客户端与服务器如何通信、必须实现哪些能力、以及应遵循的安全原则。

通俗理解 说明
协议规则 像「交通规则」一样,规定消息格式、连接方式、能力协商
实现依据 开发 MCP 服务器或客户端时,以规范为准,确保兼容
权威来源 基于 schema.ts 中的 TypeScript 模式定义

规范中的关键词「MUST」「SHOULD」「MAY」等按 BCP 14 解释:MUST = 必须,SHOULD = 建议,MAY = 可选。详见 规范关键词速查。

2. 本章你将学到 #

  • MCP 协议的整体架构与核心能力
  • 服务器与客户端各自提供哪些功能
  • 安全与信任原则
  • 如何在本系列文档中继续深入学习

3. 协议概述 #

3.1 MCP 解决什么问题? #

MCP 为 AI 应用提供了一种标准化方式,用于:

能力 说明
共享上下文 将外部数据(文件、数据库、API)提供给 LLM
暴露工具 让 AI 调用函数(如查天气、写文件、发邮件)
可组合集成 多个服务器可同时连接,构建复杂工作流

3.2 通信方式 #

协议使用 JSON-RPC 2.0 在以下角色之间通信:

角色 说明 举例
主机 发起连接的 LLM 应用 Claude Desktop、VS Code、Cursor
客户端 主机内与 MCP 服务器通信的组件 每个服务器对应一个客户端连接
服务器 提供上下文和能力的服务 文件系统服务器、Sentry 服务器

MCP 借鉴了 Language Server Protocol 的设计思路:LSP 标准化了编程语言支持,MCP 标准化了 AI 如何接入外部数据和工具。

4. 核心能力 #

4.1 服务器可提供的功能 #

功能 通俗理解 示例
资源 (Resources) 供 AI 或用户读取的数据 文件内容、数据库查询结果、API 响应
提示 (Prompts) 预置的模板化消息 「总结这段代码」「生成 PR 描述」
工具 (Tools) 供 AI 调用的函数 get_forecast、read_file、send_email

4.2 客户端可提供的功能 #

功能 通俗理解 示例
采样 (Sampling) 服务器发起的 LLM 调用 服务器请求「让 AI 生成一段回复」
根 (Root) 服务器查询 URI 或文件系统边界 确定可操作的范围
引导(Elicitation) 服务器向用户请求额外信息 弹窗让用户选择或输入

4.3 附加工具 #

除核心能力外,协议还支持:

  • 配置:管理连接参数
  • 进度跟踪:长时间任务的状态更新
  • 取消:中止进行中的操作
  • 错误报告:结构化错误信息
  • 日志记录:调试与审计

5. 安全与信任 #

MCP 允许访问任意数据和执行任意代码,因此安全与信任是必须认真对待的议题。

5.1 关键原则 #

原则 要求
用户同意与控制 用户必须明确同意并理解所有数据访问和操作;保留对共享数据和执行操作的控制权;实现者应提供清晰的 UI 供用户审查和授权
数据隐私 主机在向服务器暴露用户数据前必须获得用户明确同意;未经同意不得传输资源数据;用户数据应通过适当的访问控制保护
工具安全 工具代表任意代码执行,必须以谨慎态度对待;工具描述(如注解)若来自不可信服务器,应视为不可信;主机在调用工具前必须获得用户明确同意
LLM 采样控制 用户必须明确批准任何 LLM 采样请求;用户应控制是否采样、实际发送的提示、服务器可见的结果;协议有意限制服务器对提示的可见性

5.2 实现指南 #

虽然 MCP 无法在协议层面强制执行这些原则,但实现者 SHOULD:

  1. 在应用中构建健壮的同意和授权流程
  2. 提供安全影响的清晰文档
  3. 实施适当的访问控制和数据保护
  4. 在集成中遵循安全最佳实践
  5. 在功能设计中考虑隐私影响

详见 安全最佳实践 和 理解 MCP 中的授权。

6. 规范关键词速查 #

阅读规范时,以下关键词有特定含义(按 RFC 2119 / RFC 8174):

关键词 含义
MUST / REQUIRED / SHALL 必须遵守,否则不符合规范
MUST NOT / SHALL NOT 禁止,否则不符合规范
SHOULD / RECOMMENDED 建议遵守,有充分理由时可例外
SHOULD NOT / NOT RECOMMENDED 建议不这样做
MAY / OPTIONAL 可选,实现者自行决定

仅当这些词以全大写形式出现时才有上述含义。

← 上一节 13.MCP Inspector 下一节 15.关键变更 →

访问验证

请输入访问令牌

Token不正确,请重新输入