MCP 协议入门:让 AI 工具连接一切的万能接口

MCP(Model Context Protocol)是 AI 应用连接外部系统的开放协议,就像 USB-C 统一了充电口,MCP 统一了 AI 调用外部工具的接口。本文从概念到实操,5 分钟跑通你的第一个 MCP Server。

MCP 协议入门:让 AI 工具连接一切的万能接口

你用 Claude 查数据库、用 Cursor 调 API、用 VS Code 写代码——每个 AI 工具连外部能力的方式都不一样,开发者疲于适配。MCP 结束了这一切。

先说结论

MCP(Model Context Protocol)就是 AI 世界的"万能转接头"。

什么意思?以前你给 Claude 写个插件,只有 Claude 能用。给 Cursor 写个扩展,只有 Cursor 能用。现在你写一个 MCP Server,所有支持 MCP 的工具——Claude Desktop、ChatGPT、Cursor、VS Code Copilot、Windsurf——都能直接调用。

写一次,到处能用。这就是 MCP 的核心价值。

MCP 到底是什么

一句话定义:AI 应用连接外部系统的开放协议。

类比你就懂了。USB-C 统一了充电口——以前出门带五根线,现在一根搞定。MCP 做的是同样的事:统一 AI 调用外部工具的接口。

以前 Claude 想读文件,得用 Claude 自己的插件格式。Cursor 想查数据库,得用 Cursor 自己的扩展 API。每个 AI 工具都搞一套,开发者写一次适配要重复 N 遍。MCP 把这些全部标准化了。

谁做的?Anthropic(Claude 背后的公司),2024 年 11 月开源推出。不是闭源产品,是真正的开放协议——规范仓库 8300+ Star,官方 Server 参考实现仓库 86000+ Star,社区贡献活跃。

这里有个容易搞混的点:MCP 不是 Function Calling 的替代品。Function Calling 是"模型能调用函数"这个能力,MCP 是在它之上的一层标准化协议——定义了工具怎么描述、怎么发现、怎么调用。类比:Function Calling 是发动机,MCP 是传动轴。不是替代关系,是上下层关系。

协议的治理也很规范。MCP 有完整的 SEP(Specification Enhancement Proposal)流程,类似 Python 的 PEP。社区通过 SEP 提案来讨论和推进协议演进,目前已有 30+ 个 SEP。这意味着 MCP 不是一家公司说了算,而是有社区共识机制的开放标准。

为什么 2026 年必须懂 MCP

数据说话,不讲故事。

npm 包月下载量 1.55 亿次。 这是 TypeScript SDK 的数据,Python SDK 也已经迭代到 1.27.2 版本。一个协议相关的 SDK 能有这个量级,说明生态已经非常成熟。

协议本身也在快速演进:

时间版本关键更新
2025-032025-03-26首个正式版本发布
2025-062025-06-18tool annotations、structured output、elicitation
2025-09Registry 上线可搜索可发现的 Server 市场
2025-112025-11-25最新稳定版
2026-052026-07-28-RC下一个大版本候选,含 Tasks、MCP Apps

支持 MCP 的工具列表已经覆盖所有主流平台:Claude Desktop、ChatGPT、VS Code Copilot、Cursor、Windsurf、Zed、Replit、Continue、通义灵码……

注意 ChatGPT 和 VS Code 也在列表里。MCP 不是 Claude 专属,它正在成为全行业的事实标准。Anthropic 把它开源出来,OpenAI 接了,微软接了——这就不是一家公司的生态了,而是整个 AI 行业的基础设施。

一句话总结:2026 年不懂 MCP 的开发者,就像 2015 年不懂 REST API 的后端开发者。不是学不学的问题,是早晚要学的问题。

MCP 怎么工作:三层核心概念

别被架构图吓到,核心就三个角色,记住它们就行。

Host(宿主):你用的 AI 应用。Claude Desktop、Cursor、VS Code,这些就是 Host。它负责管理所有 MCP 连接,决定什么时候调用什么工具。

Client(客户端):Host 内部自动创建的通信组件。每连接一个 Server,Host 就自动创建一个对应的 Client。你作为用户不需要手动配置这个——它是透明的。

Server(服务端):提供具体能力的独立程序。连接数据库、读写文件、搜索网页、调用第三方 API——都是 Server 的事。Server 可以跑在本地(stdio 传输),也可以跑在远程(Streamable HTTP 传输)。

一个简化示意:

1
2
3
4
Claude Desktop (Host)
  ├── Client 1 ←→ Filesystem Server(读写本地文件)
  ├── Client 2 ←→ Database Server(查数据库)
  └── Client 3 ←→ Web Search Server(搜索网页)

Host 想读文件?问 Client 1。想查数据库?问 Client 2。整个过程对用户来说就是正常聊天——AI 自己决定调哪个工具。

通信协议用的是 JSON-RPC 2.0,非常轻量。本地场景用 stdio(标准输入输出),远程场景用 Streamable HTTP。如果你熟悉 LSP(Language Server Protocol),会觉得这个架构很眼熟——确实,MCP 的设计灵感就来自 LSP。

Server 暴露三种能力,官方叫 Primitives(原语):

Tools:可调用的函数。这是最常用的。 比如执行 SQL 查询、创建文件、发送邮件。可以理解为"动作"。每次 AI 说"我来帮你执行 XXX",背后大概率就是调了一个 Tool。

Resources:可读取的数据或文件。比如数据库表结构、配置文件内容、API 文档。可以理解为"信息"。和 Tool 的区别是 Resource 是只读的,AI 只是"看"一眼,不会改变什么。

Prompts:预定义的提示模板。比如"用 XX 风格写代码"的标准提示词,或者"按 XX 格式输出报告"的模板。可以理解为"指令模板"。

实际开发中 90% 的场景只用 Tools。Resources 和 Prompts 是锦上添花,不用急着学。

亲测演示:5 分钟跑通你的第一个 MCP

不用写代码。现成的 Server 拿来就能用。这是 MCP 的设计哲学:先用起来,再理解原理。

以 Claude Desktop + 官方文件系统 Server 为例。

Step 1:安装 Claude Desktop

去 claude.ai/download 下载安装。macOS 和 Windows 都支持。

Step 2:确保有 Node.js

终端执行 node --version,能看到版本号就行。没有就去 nodejs.org 装 LTS 版。很多官方 Server 都是基于 Node.js 的。

Step 3:编辑配置文件

打开 Claude Desktop → 点击顶部菜单 Claude → Settings → Developer → Edit Config。

这会打开一个 JSON 配置文件,写入以下内容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/你的用户名/Desktop",
        "/Users/你的用户名/Downloads"
      ]
    }
  }
}

把路径换成你自己的实际路径。Windows 用户把 /Users/ 改成 C:\\Users\\

这个配置告诉 Claude Desktop:启动时自动运行 filesystem 这个 Server,并授权它访问指定的目录。

Step 4:重启 Claude Desktop,开始对话

重启后在聊天框里试试这些:

“帮我看看桌面上有哪些文件”——Claude 会弹出权限请求,你确认后它就能读取文件列表了。

“把 Downloads 里最大的 5 个文件列出来”——它会扫描目录并排序。

“帮我创建一个 notes.txt,写上今天的待办事项”——它真的能创建文件。

全程不用写一行代码。现成的 Server 拿来就跑。

如果你用的是 Cursor,流程更简单:Settings → MCP → Add New Server → 粘贴配置 → 重启。VS Code Copilot 也类似,在 settings.json 里配置 mcp 字段即可。

想试试更多 Server?去官方 GitHub 仓库 modelcontextprotocol/servers,里面有几十个开箱即用的 Server——数据库、Git、Brave Search、Slack、Google Drive……复制配置就能用。

MCP vs Function Calling vs Agent:别再搞混了

这三个概念经常被混在一起说,其实完全不在一个层级。

概念是什么解决什么问题类比
Function Calling模型调用函数的能力让 LLM 能触发动作电灯开关
MCP标准化的工具发现和调用协议让所有工具对所有平台可用家里的电路系统
Agent利用工具链自主完成复杂任务的应用替人干活你本人

打个比方:Function Calling 是开关——让 AI “能"调用工具。MCP 是电路系统——规定所有电器用统一的接口。Agent 是你——决定开哪个灯、用哪个电器。

它们是三层关系,不是三选一。不存在"用 MCP 就不用 Function Calling"这种说法——Agent 内部用 Function Calling 来调工具,而这些工具通过 MCP 来暴露和发现。

写在最后

MCP 生态正在爆发式增长。官方 Registry 已上线,像 npm 一样可以搜索和安装 Server。社区贡献的 Server 数量每周都在增加,主流开发工具全面接入。

如果你还在为每个 AI 工具单独写适配代码——停下来,试试 MCP。

下一篇我会教你从零写一个自己的 MCP Server。从"用工具"到"造工具”。

关注 varkm,持续获取 AI 实战内容。