本文带你深入理解 Anthropic 推出的 MCP(Model Context Protocol)协议,从概念到落地,用实战案例讲透为什么它被称为"AI 界的 USB-C"。
一、从 Chatbot 到 Agentic AI 的跨越
2024 年底,Anthropic 发布了 MCP(Model Context Protocol),一个看似低调却在 AI 圈掀起波澜的协议。它的核心目标只有一个:让任何 AI 模型以统一的方式访问外部资源和工具。
要理解 MCP 的价值,我们得先看清 AI 应用当下的困境。
过去的 AI 应用本质上是一个聊天机器人(Chatbot)。它能和你流畅对话,但一问到今天天气、最近邮件、本地文件中的某段代码,它就卡壳了。为什么?因为大模型的训练数据是凝固的快照,而现实世界是流动的。
于是开发者们开始给模型"接外部数据"——RAG、函数调用、插件机制……每种方案各搞一套,生态割裂,适配成本极高。你为 OpenAI 写的工具调用逻辑,到了 Claude 这边大概率要重写一遍。这就是 上下文工程(Context Engineering) 的散乱现状。
MCP 的出现,正是为了终结这一乱象。它不是工具,不是 API SDK,更不是某个具体产品——它是一个协议。就像 HTTP 定义了浏览器和服务器之间的通信规范,MCP 定义了 LLM 与外部世界之间的通信规范。
二、MCP 的三层架构
MCP 的架构清晰分为三层:
1. MCP Host(宿主)
Claude Code、Cursor、Trae、Codex 这类 AI Agent 应用,它们充当用户与大模型之间的交互桥梁。你通过 Host 输入 Prompt,Host 负责调度模型推理,并协调各类 MCP Client 的能力。
2. MCP Client(客户端)
像插件一样挂在 Host 上的能力单元。每一个 MCP Client 对应一类上下文来源——可以是高德地图的定位服务、Gmail 的邮件能力、古茗的点单接口,甚至是本地文件系统。
3. MCP Server(服务端)
提供标准化上下文服务的一方。Server 定义了如何与 Client 交互(通信协议、数据结构),并将具体的上下文能力——文件读写、API 调用、数据库查询——以统一接口暴露给 LLM。
三层之间各司其职:Host 负责"调度"、Client 负责"连接"、Server 负责"提供"。换任何一个 Host,只要它支持 MCP,你的 Gmail Client、文件系统 Client 都能无缝迁移。
三、实战:用 MCP Filesystem Server 打通本地文件
光说不练假把式。下面我们动手配置一个 MCP 文件系统服务,让 LLM 能够安全地读写指定目录下的文件。
3.1 安装官方 Filesystem Server
Anthropic 官方提供了一系列开箱即用的 MCP Server,文件系统服务是其中一个:
npm i -g @modelcontextprotocol/server-filesystem
安装完成后,这条 Server 就具备了通过 MCP 协议安全读写本地目录的能力——注意"安全"二字:你指定哪个目录,它就只能访问哪个目录,不会越界。
3.2 在项目中配置 MCP
在项目根目录创建 .mcp.json 文件:
{
"mcpServers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem"
],
"path": "C:\\Users\\ZFJJi\\Desktop\\workspace"
}
}
}
这段配置定义了:
type: "stdio":通过标准输入输出与 Server 进程通信——这是 MCP 最基础的传输方式,简单可靠,适合本地服务。command + args:通过npx -y运行 filesystem server,无需手动启动独立进程。path:指定 Server 可访问的工作目录范围。这里设置了workspace目录,LLM 只能在这个边界内操作。
3.3 启用 Server
接着在 .claude/settings.local.json 中启用刚配置的服务:
{
"enabledMcpjsonServers": [
"filesystem"
]
}
这一步相当于"插上数据线"——Host(Claude Code)现在能感知到 filesystem 这个 Client 的存在了。
3.4 工作流体验
配置完成后,当你向 Claude Code 提问——比如"帮我在 workspace 里创建一个新项目"——Host 会先扫描已启用的 MCP Client 列表,发现 filesystem 能提供文件系统上下文,于是通过 MCP 协议调用 Server 的能力:读取目录结构、创建文件、写入内容。整个过程对大模型来说就像调用本地函数一样自然。
一句话总结工作流: Prompt 进入 Host → Host 推理 → 发现可用的 MCP Client → 调用 MCP Server 获取上下文 → 模型基于上下文生成回复。
四、资源和工具:MCP 的两大能力象限
MCP 把外部世界的能力抽象为两种核心类型:
Resources(资源)
模型"想知道"的东西——数据库表结构、API 文档、飞书消息记录、高德地图 POI 数据、S3 上的文件……这些是静态或准静态的数据上下文,模型读取它们来补全知识缺口。
Tools(工具)
模型"能做"的事情——创建日历事件、发送邮件、执行 Shell 命令、远程控制 IoT 设备……这些是可执行的行动能力,模型主动调用它们来影响外部世界。
资源提供知识,工具赋予行动力。 两者叠加,大模型才真正从一个"能聊天的机器"变成"能办事的智能体"。
五、为什么说 MCP 是"AI 界的 USB-C"?
这个比喻极其精准。USB-C 出现之前,手机充电口五花八门——Micro USB、Lightning、各种私有接口,出差必须带一捆线。USB-C 用一个统一标准终结了这场混乱。
同理,MCP 出现之前,每接入一个新模型就得适配一套新接口,每对接一个新数据源就要写一套新逻辑。MCP 用一个统一标准终结了这场"插口战争":
- 任意 MCP Server ↔ 任意 MCP Client ↔ 任意模型,自由互联,不再锁定厂商。
- 开发者只需关注"我的服务提供什么能力",无需关心"对面用的是 GPT 还是 Claude"。
- 生态一旦形成网络效应,就像今天的 App Store——你的模型能用的"插件"将急剧膨胀。
Anthropic 把 MCP 定位为开放协议,从设计之初就鼓励社区参与。这意味着未来不仅有官方的 filesystem、GitHub、Slack Server,还会有无数第三方开发者贡献的高德地图 Server、飞书 Server、Notion Server……
六、MCP 带来的范式跃迁
MCP 的意义不仅是"方便"。它真正改变的是 AI 应用架构的底层逻辑。
在 MCP 之前,AI 应用是"竖井式"的:模型 + 定制适配 + 特定数据源,每套组合都是独立工程。在 MCP 之后,架构变成了"乐高式"的:选一个 Host、挂几个 Client、接几个 Server,自由拼接,随时替换。
这意味着:
- 开发效率指数级提升:不用再为同一段文件读取逻辑分别给不同模型写适配代码。
- AI 安全边界可定义:通过 Server 的
path限制、权限白名单等机制,模型的"行动半径"变得可控。 - 生态价值迁移:你的 MCP Server 库是跟随你的能力资产,而不是跟某个具体模型绑定。
七、写在最后
MCP 现在还处于早期阶段,但它所描绘的图景已经足够令人兴奋:一个所有 AI 模型都能平等对话外部世界的协议层,一套终结碎片化适配的标准化方案,一种让 Chatbot 真正进化成 Agent 的基础设施。
如果你正在做 AI 应用开发,建议尽早关注 MCP 生态——看看有哪些官方的、社区的 Server 可以直接集成到你的项目中;如果你有能力,不妨动手写一个 MCP Server 把你自己领域的上下文能力开放出来。
用一条"数据线",把 AI 接入真实世界。这就是 MCP 正在做的事。
本文基于 Anthropic MCP 官方协议概念及实战配置撰写,示例代码来自真实的 MCP Filesystem Server 项目配置。