D
AI
学习工作台
Claude Skills2026-03-171 分钟阅读

MCP 架构深度解析

深入理解 MCP 协议、传输层、Resources、Tools 与 Prompts

MCPModel Context Protocol架构协议记笔记标记疑惑

MCP 协议概览

MCP(Model Context Protocol) 是 Anthropic 推出的开放协议,用于连接 AI 模型与外部数据源、工具和服务。通过统一的接口,模型可以发现、读取、调用各类能力,而无需为每个数据源编写专用适配器。

协议层

MCP 定义了一套 JSON-RPC 2.0 风格的消息格式,包括:

  • 初始化:客户端与 Server 交换能力列表(支持的 Resources、Tools、Prompts)
  • 请求-响应:List、Read、Call 等操作的标准格式
  • 通知:Server 可主动推送资源变更等事件

传输层(Transport)

  • stdio:通过标准输入输出与子进程通信,适合本地 MCP Server(如文件系统、数据库)
  • SSE over HTTP:Server 作为 HTTP 服务暴露,客户端通过 Server-Sent Events 接收消息,适合远程部署
  • WebSocket:双向通信,适合需要实时推送的场景
传输层可插拔,协议语义保持一致。

Resources(资源)

Resources 是模型可读取的上下文:

  • URI 规范:如 file:///path/to/docdb://schema/table
  • List:列出可用资源
  • Read:按 URI 读取内容,支持文本、Base64 等格式
  • 订阅:部分实现支持资源变更通知
典型用途:文档库、配置、数据库只读视图、API 文档等。

Tools(工具)

Tools 是模型可调用的操作:

  • List:列出工具名称、描述、参数 schema
  • Call:传入参数执行,返回结果
  • 权限:Server 可对工具做权限控制,客户端需声明所需能力
典型用途:搜索、计算、API 调用、文件写入、命令执行等。

Prompts(提示词)

Prompts 是 Server 提供的可复用提示模板

  • List:列出可用 Prompt 名称与描述
  • Get:获取 Prompt 内容及参数
  • 客户端可将获取的 Prompt 填入变量后,作为系统或用户消息发给模型
典型用途:领域专家提示、任务模板、多轮对话模板等。

架构优势

  • 标准化:一次实现,多客户端复用(Claude Desktop、Cursor、自定义 App)
  • 安全:Server 控制暴露范围,可做权限与审计
  • 可组合:多个 MCP Server 可同时连接,模型按需选择

小结

理解 MCP 的协议、传输、Resources、Tools 和 Prompts,是构建可扩展 AI 应用的基础。MCP 将「模型」与「上下文与工具」解耦,为 Skill、插件、Agent 等提供了统一的集成方式。

知识卡片

问题

MCP 协议的核心设计目标是什么?

点击翻转查看答案

答案

让 AI 模型能够安全、标准化地访问外部上下文(工具、资源、提示词),实现模型与数据源、工具的松耦合,支持多客户端、多 Server 的互操作。

问题

MCP 中 Resources 与 Tools 有何区别?

点击翻转查看答案

答案

Resources 是只读的上下文数据(如文件、数据库视图),模型可读取以增强理解;Tools 是可执行的操作(如 API 调用、命令执行),模型可主动触发以完成任务。

问题

MCP 支持哪些传输方式?

点击翻转查看答案

答案

stdio(本地进程)、SSE over HTTP(远程服务)、WebSocket 等。stdio 适合本地开发,SSE/HTTP 适合远程部署和跨网络调用。