跳到主内容
协议MCP协议工具调用Anthropic

MCP (Model Context Protocol)

Anthropic 推出的开放协议,让 AI 模型标准化地连接外部工具、数据源和 API,类似于 AI 的 USB-C 接口。

发布 2026-06-21更新 2026-09-27核实 2026-09-27

什么是 MCP

MCP(Model Context Protocol)是 Anthropic 于 2024 年 11 月发布的开放协议,用于标准化 AI 模型与外部工具、数据源、API 之间的连接方式。

打个比方:MCP 之于 AI 模型,就像 USB-C 之于电子设备——一个统一接口,连什么都行。

解决什么问题

在 MCP 出现之前,每个 AI 工具要连接外部系统都需要单独开发集成:

  • Cursor 想连数据库 → 写一套数据库适配
  • Claude Code 想连 GitHub → 写一套 GitHub 适配
  • Copilot 想连 Jira → 写一套 Jira 适配

结果是 N 个工具 × M 个数据源 = N×M 套适配代码。

MCP 把这变成 N+M:每个工具实现一次 MCP 客户端,每个数据源实现一次 MCP Server,就可以互相连接。

这是「协议分层」的常见受益模式:HTTP 让任意浏览器能访问任意网站,LSP 让任意编辑器能支持任意语言。MCP 在做的是同一件事,只不过对象从「网页 / 语言」换成「工具 / 数据源」。

工作原理

MCP 采用 Client-Server 架构:

AI 工具(Cursor / Claude Code)
    ↕ MCP 协议(JSON-RPC 2.0)
MCP Server(文件系统 / 数据库 / API)
    ↕
实际数据源

三种能力

每个 MCP Server 可以暴露三种能力:

  1. Tools(工具) — 模型可以调用的函数(查数据库、发邮件、读文件)
  2. Resources(资源) — 模型可以读取的数据(文件内容、API 响应)
  3. Prompts(提示词模板) — 预定义的提示词模板(代码审查模板、文档生成模板)

传输方式

  • stdio — 本地进程通信(Claude Code 连本地 MCP Server,最常见)
  • SSE / HTTP — 远程网络通信(Cursor 连远程托管的 MCP Server)

消息格式

底层是 JSON-RPC 2.0,对调试很友好。一次「列出可用工具」的握手大致是这样:

// Client → Server
{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }

// Server → Client
{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "tools": [
      {
        "name": "query_db",
        "description": "Run a read-only SQL query",
        "inputSchema": {
          "type": "object",
          "properties": { "sql": { "type": "string" } },
          "required": ["sql"]
        }
      }
    ]
  }
}

随后模型决定调用某个工具,Client 再发 tools/call,Server 返回执行结果。inputSchema 是 JSON Schema,模型据此知道参数怎么传——这套机制和 function calling 同源,但把「函数定义」从「应用内硬编码」搬到了「Server 自我描述」。

实际应用

Cursor + MCP

Cursor 支持 MCP 后,可以:

  • 直接读取本地数据库 schema
  • 调用外部 API 获取实时数据
  • 读取项目文档和设计稿

配置示例(.cursor/mcp.json):

{
  "servers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
    }
  }
}

Claude Code + MCP

Claude Code 原生支持 MCP,通过 claude mcp add 命令添加 Server:

# 添加文件系统 MCP Server
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/project

# 添加 GitHub MCP Server
claude mcp add github -- npx -y @modelcontextprotocol/server-github

五分钟上手清单

第一次接入,建议按这个顺序,少踩坑:

  1. 挑一个无副作用的 Server 试水——filesystem(只读模式)或 sqlite(指向本地测试库)。不要拿 github / postgres 写库这种带破坏力的当 Hello World。
  2. 在客户端里确认握手成功——Cursor 设置页 / Claude Code claude mcp list 应能看到工具列表。看不到通常是 command 路径或 args 写错。
  3. 手动让模型调一次——例如「列出当前目录所有 .md 文件」,验证 stdio 通路工作。
  4. 加一个真实场景的 Server——比如你常用的笔记/数据库/Jira。
  5. 再考虑写自己的 Server——SDK 见 官方仓库,Python / TypeScript 都有,最小骨架不超过 50 行。

常见 MCP Server

Server功能
filesystem读写本地文件
postgres查询 PostgreSQL 数据库
sqlite查询 SQLite 数据库
github操作 GitHub(PR/Issue/搜索)
gitlab操作 GitLab
slack发送 Slack 消息
google-drive读取 Google Drive 文件
puppeteer浏览器自动化
memory知识图谱持久记忆
sequential-thinking结构化推理

完整列表见 modelcontextprotocol.io/servers;社区聚合也可看 Smithery。

与 function calling 的区别

维度function callingMCP
定义方式每个工具硬编码标准化协议
跨工具复用一次开发,处处可用
运行时发现预定义动态发现 Server 能力
生态各自为政统一社区
底层机制模型 API 直传 schema仍是 function calling,但 schema 来自 Server

简而言之:MCP 没有取代 function calling,而是给「函数定义从哪儿来」加了一层标准化。模型那一端的协议(拿到 schema → 决定调哪个 → 传参 → 收结果)没变。

常见踩坑

  • stdio Server 进程没退干净——客户端崩溃时子进程会变孤儿,下次启动连不上端口。Linux/macOS 用 ps aux | grep mcp 清掉;Windows 任务管理器搜 npx / node。
  • npx -y 首次拉包慢,握手超时——预先在终端跑一次 npx -y @modelcontextprotocol/server-foo --help 把缓存暖好。
  • 路径含空格 / 中文——server-filesystem 早期版本对 Windows 路径处理粗糙,建议用全英文路径或链接。
  • 凭据明文写在 mcp.json——mcp.json 经常被提交到 git,里面别直接写 DB 密码 / API Key。用环境变量或 Composio 这类托管 Auth 的中间层。
  • 生产环境装社区 Server——MCP Server 拿到的是模型可调用权限,恶意 Server 可以让模型「自愿」泄漏数据。社区 Server 上生产前必须审代码,参考 MCP 1.0 发布日的观点。另需遵循规范「Security and Trust & Safety」一节的原则:工具描述等注解应视为不可信内容(除非来自可信 Server),调用任何工具前必须取得用户明确同意。

什么场景不该用 MCP

MCP 不是万能胶水,下面这些场景上 MCP 是给自己加复杂度:

  • 只在一个应用内调用,永不复用——直接 function calling 更轻。
  • 延迟敏感的同步调用——MCP 多了一层 stdio/HTTP 跳转,纳秒级场景别套。
  • 大流量数据搬运——MCP 通信适合「指令 + 元数据」,搬几百 MB 文件应该走旁路(让模型拿到下载链接,而不是把字节流塞进 MCP 消息)。
  • 多 Agent 互相协作——这是 A2A 的目标,不是 MCP。一句话区分:MCP 是 Agent ↔ 工具,A2A 是 Agent ↔ Agent。

生态现状

当前规范版本(2026-09-27 核对)

MCP 已改用「日期版本号」,不再用 1.0 / 2.0 这类序号。当前正式版规范为 2026-07-28(依据 modelcontextprotocol.io 官方规范页,其 schema 锚定为 schema/2026-07-28/schema.ts)。本站早期文章里「MCP 1.0」的写法是 2026 年中的旧口径,读到时请以日期版为准。

这一版的关键事实:

  • 基础协议:JSON-RPC 2.0 报文;无状态、自包含的请求;按请求做能力协商(per-request capability negotiation)。
  • 三个服务端能力:Resources(上下文与数据)、Prompts(模板化消息与工作流)、Tools(供模型执行的函数)。
  • 一个客户端能力:Elicitation(服务端反向向用户请求补充信息)。
  • 传输层:远程传输是 Streamable HTTP;旧的 HTTP+SSE 传输已被弃用(deprecated)。仍在用 SSE 的 Server 应规划迁移。

三个官方扩展(均 opt-in,需客户端与服务端同时支持并在初始化时协商)

扩展作用为什么重要
Tasks长耗时操作的异步执行:轮询、中途追加输入、持久化句柄让 MCP 能承载「跑几十分钟」的任务,而不只是一次工具调用
Skills over MCP以结构化、可发现的方式承载 Agent 工作流指令补齐「拿到工具和数据之后,按什么流程组合」这一层,见 Agent Skills 实战
MCP Apps在对话内内联渲染交互式 UI(图表、表单、播放器)把 MCP 从「后端工具协议」推到「可交互界面协议」

对选型的影响:过去判「一个客户端支不支持 MCP」只需问一句;现在必须问**「支持哪个规范日期版本 + 哪些扩展」**——只支持核心协议、不支持 Tasks 的客户端,跑不了长任务 MCP Server。

工具支持

截至 2026 年中,MCP 已被以下工具支持:

  • Claude Code / Claude Desktop(Anthropic)— 原生
  • Cursor(AI IDE)— 原生
  • Windsurf(AI IDE)— 原生
  • Cline / Roo Code(CLI)— 原生
  • Coze / Dify(Agent 平台)— 部分支持
  • VS Code Copilot — 已支持

社区已有 200+ 个开源 MCP Server,覆盖数据库、云服务、开发工具、办公软件等场景。聚合与一键安装可看 Smithery 和 MCP Toolbox,权限/Auth 托管可看 Composio。

延伸阅读

相关模型

相关对比

Cursor vs Aider:GUI IDE 还是 CLI?2026 对比

Cursor vs Aider 2026 选型对比:GUI IDE vs Git 原生 CLI,从 Composer vs Architect 双模型、Tab 补全、多模型 BYOK、价格计费、开源与否和适合人群判断,帮开发者选对。Cursor 是闭源 VS Code fork 月费 $20,Aider 是开源 Apache-2.0 CLI 自带 API key。

Alice vs Claude Desktop:全局快捷键买断 vs MCP 桌面旗舰(2026 实测选型)

Alice vs Claude Desktop 2026 选型对比:heyalice.app 桌面快捷键助手(BYO API + 一次买断) vs Anthropic 官方 MCP 桌面旗舰(Opus 推理 + .mcpb 扩展)。从定位、核心能力、模型支持、价格、国内可用性 6 个维度帮你选对桌面 AI Agent。

Augment Code vs Cursor:企业 AI 编程怎么选?Context Engine vs AI IDE 对比

Augment Code vs Cursor 2026 选型对比:Context Engine 全仓索引的企业 AI 平台 vs SpaceX 收购的 AI IDE 天花板,从形态、Context 覆盖、长任务、价格、合规、中文支持和适合人群 8 个维度判断,帮你选对企业 AI 编程工具。

AutoGLM vs Claude Desktop:国产桌面 Agent vs Anthropic 桌面旗舰(2026 实测选型)

AutoGLM 和 Claude Desktop 都是桌面 AI Agent,但一个是智谱开源 GUI Agent(操作手机 / 浏览器界面),一个是 Anthropic 官方 MCP 旗舰客户端。本文从定位、能力、价格、国内可用性帮你选对工具。

Cursor vs Claude Code:什么时候用哪个?(2026 实测选型)

Cursor 和 Claude Code 到底怎么选?一句话结论 + 决策树 + 价格实测 + 国内可用性对比。GUI 派选 Cursor,终端长任务派选 Claude Code,最优解其实是共存。

Claude Desktop vs Crush:桌面 GUI vs 终端 TUI(2026 实测选型)

Claude Desktop vs Crush 2026 选型对比:Anthropic 官方桌面 GUI 客户端(MCP 旗舰 + Claude Opus)vs Charmbracelet 开源终端 TUI Agent(多模型 + LSP + FSL-1.1-MIT)。从交互形态、模型、生态、价格、国内可用性帮你选对 AI Agent。