一个协议,让 AI 告别"语言不通"的尴尬
你有没有遇到过这种情况:想让 AI 帮你读一下本地文件,得写一堆胶水代码;想让它查个天气,又得单独封装一个 API;换个模型,所有适配代码全得重写......
说实话,在 MCP 出现之前,AI 开发者就像个"协议翻译官"------每天的工作就是让不同模型听懂不同工具的"方言" 。
直到 2024 年 11 月 25 日,Anthropic 公司扔出了一颗"炸弹"------MCP(Model Context Protocol,模型上下文协议) 。
一、MCP 是什么?一句话说清楚
MCP 不是工具,不是 SDK,不是产品------它是一个协议 。
说白了,MCP 就是 LLM 和外部世界之间的"通用翻译器"和"万能充电口" 。
就像 USB-C 接口统一了各种充电线和设备一样,MCP 统一了 AI 模型与外部数据、工具的交互方式。
在 MCP 出现之前,你要让 Claude、GPT、Gemini 调用同一个工具,得为每个模型单独写适配代码。有了 MCP,写一次,到处跑。
MCP 终结的不是代码,是"重复造轮子"的宿命。
二、MCP 的"三驾马车":Host、Client、Server
MCP 采用客户端-服务器架构,包含三个核心角色:
1. MCP Host(宿主)
就是运行 AI 模型的应用环境,比如 Claude Desktop、Cursor IDE、Cherry Studio 等。它是整个系统的"大脑"和"指挥官"。
2. MCP Client(客户端)
集成在 Host 中的模块,负责与 MCP Server 建立连接并管理通信。每个 Client 只对应一个 Server,保持职责清晰。
3. MCP Server(服务端)
提供具体功能的独立进程。比如:
- 文件系统 Server:让 AI 读写本地文件
- 高德地图 Server:让 AI 查 POI、规划路线
- Gmail Server:让 AI 帮你收发邮件
简单理解:Host 是"大脑",Client 是"神经",Server 是"手脚" 。
MCP 协议基于 JSON-RPC 2.0 进行通信,支持 STDIO 和 SSE 两种传输方式。
三、Server 的"三板斧":Resources、Tools、Prompts
MCP Server 主要提供三类功能:
| 类型 | 作用 | 举例 |
|---|---|---|
| Resources(资源) | 提供结构化数据 | 文件、数据库记录、API 响应 |
| Tools(工具) | 允许 AI 执行操作 | 发邮件、查天气、执行命令 |
| Prompts(提示模板) | 预定义的指令模板 | 优化任务执行的工作流 |
Resources 是"让 AI 知道",Tools 是"让 AI 行动" 。两者结合,AI 才能真正"手眼通天"。
四、手把手实战:配置一个文件系统 MCP Server
光说不练假把式。咱们直接上手,让 AI 能读写你电脑上的文件。
第一步:安装 MCP 文件系统 Server
css
npm i -g @modelcontextprotocol/server-filesystem
第二步:启动 Server(验证是否正常)
css
npx @modelcontextprotocol/server-filesystem E:\workspace\ai\mcp\mcp-test
这条命令会启动一个 MCP Server,让 AI 可以安全地读写 E:\workspace\ai\mcp\mcp-test 目录下的文件。
第三步:配置客户端------你的 mcp.json 到底在说什么?
无论是 Trae 、Cursor 还是 Claude Desktop ,MCP 配置都写在 mcp.json 里(位置因客户端而异)。我们以文件系统为例,逐行拆解:
perl
{
"mcpServers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"E:\workspace\lgl_ai\ai\mcp\mcp-test"
]
}
}
}
mcpServers ------ 顶层容器
这是所有 MCP Server 配置的"总开关",里面可以放多个 Server(比如 filesystem、高德地图、Gmail 等),每个 Server 一个 key。
"filesystem" ------ 自定义服务名称
你可以随便起名,比如 "my-fs" 或 "本地文件"。这个名字会出现在 AI 客户端里,方便你识别和启用/禁用。
"type": "stdio" ------ 通信方式
- stdio :通过标准输入/输出进行通信,Server 和 Client 在同一台机器上,最常用、最轻量。
- 还有 sse(Server-Sent Events)方式,用于远程 Server(比如云端部署的 MCP 服务),但日常本地开发 90% 都用 stdio。
"command": "npx" ------ 启动命令
告诉客户端用哪个可执行文件来启动这个 MCP Server。npx 是 Node.js 自带的命令,用于运行 npm 包。
如果你用的是 Python 写的 Server,这里可能就是 "python" 或 "uvx"。
"args" ------ 命令行参数数组
这里按顺序传给 command 的所有参数:
| 参数 | 含义 |
|---|---|
"-y" |
告诉 npx 自动确认安装(省去手动按 yes 的步骤) |
"@modelcontextprotocol/server-filesystem" |
npm 包名,官方文件系统 Server |
"E:\workspace\lgl_ai\ai\mcp\mcp-test" |
你要暴露给 AI 的目录路径(Windows 下双反斜杠转义) |
⚠️ 踩坑提醒 :路径里的反斜杠必须写成
\,否则 JSON 解析会报错。如果你用 Mac/Linux,写成"/Users/xxx/your-folder"即可。
保存后,回到客户端(Trae 或 Claude)的 MCP 面板,启用 filesystem 服务。 至此,你的 AI 就能像"本地文件管理员"一样读写指定目录了。
第四步:不同客户端的配置位置(Trae 和 Claude 实测)
很多同学卡在"配置文件到底放哪儿"这一步,我直接把经验贴出来:
Trae(国内常用 AI IDE)
- 打开 Trae 设置 → 找到 MCP 管理 或 模型上下文协议 选项卡;
- 点击"编辑配置",会打开一个
mcp.json文件; - 把你的配置粘贴进去,保存;
- 回到对话面板,点击刷新 MCP 服务列表,就能看到
filesystem亮起(绿色表示已连接)。

Claude Desktop(官方 Claude 应用)
Claude Desktop 的配置文件路径(macOS 和 Windows 不同):
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json - Windows :
%APPDATA%\Claude\claude_desktop_config.json
在这个文件里同样写入 mcpServers 块,重启 Claude Desktop,然后你会在输入框附近看到一个"🔌"插件图标,点击就能看到已连接的 MCP Server。
小技巧:在 Claude 里,你还可以直接用
/mcp命令查看当前所有配置的 MCP 服务,并动态启用/禁用,非常方便。
就这么几步,以前写 100 行胶水代码,现在写 10 行配置------这就是协议的力量。
五、MCP vs RAG vs Function Calling:到底有啥区别?
很多同学容易搞混这三个概念,我用最通俗的方式给你讲清楚:
| 技术 | 一句话解释 | 类比 |
|---|---|---|
| RAG | 给 AI "喂" 知识库 | 考前翻课本找答案 |
| Function Calling | 让 AI "调用" API | 给 AI 配了个遥控器 |
| MCP | 统一所有接入方式 | 把遥控器统一成 USB-C |
Function Calling 是"专属专车" ,只服务于特定 AI 生态,兼容性差。你给 GPT 写的函数调用,Claude 用不了。
MCP 是"公共交通" ,所有 AI 模型只要遵循这个标准,就能调用同一批外部工具。
更形象地说:
- RAG 是"被动喂饭"------给 AI 喂知识
- MCP 是"主动出门找饭吃"------AI 自己发现工具、发请求、拿结果
MCP 不是要取代 RAG 或 Function Calling,而是给它们提供了一套统一的"插座标准" 。
六、为什么 MCP 是 Agentic AI 的"地基"
MCP 的出现,不只是方便了开发者,而是从根本上重构了 AI 的应用架构。
以前,AI 是个"只会聊天的话痨"------你问它天气,它说"我不知道,你去查一下"。
现在,有了 MCP,AI 变成了"能动手的 Agent"------你问它天气,它自己去调用天气 API,把结果拿回来告诉你。
MCP 让 AI 从 Chatbot 进化到了 Agentic AI(智能体 AI) 。
这个转变的意义,不亚于手机从"只能打电话"进化到"能装 App"。
七、写在最后
MCP 还很年轻(2024 年 11 月才发布),生态还在快速建设中。但它的潜力是巨大的:
- 对开发者:不用再为每个模型重复写适配代码
- 对用户:AI 能调用的工具越来越多,越来越"好用"
- 对生态:MCP Server 可以像"插件"一样自由组合
MCP 不是终点,而是 AI 应用走向标准化的起点。
就像 USB-C 最终统一了充电接口一样,MCP 或许真的能让 AI 世界告别"语言不通"的混乱时代。