MCP:给 AI 装上 USB-C
Anthropic 在 2024 年 11 月推出的 MCP(Model Context Protocol,模型上下文协议),正成为 AI Agent 开发的基础设施标准。如果你用过 Cursor、Claude Desktop 或 Cline,多半已经在它的加持下工作。
图 1:一句话定义
MCP 是一个开放协议,让 AI 模型能用同一套接口调用任何外部工具——文件系统、数据库、浏览器、邮件,乃至你自己写的业务系统。它的设计目标,是把原本「每个模型单独适配一个工具」的烟囱式开发,变成「任何模型即插即用任何工具」。
图 2:为什么会有 MCP?
在 MCP 之前,LangChain 和 LlamaIndex 这类框架虽然尝试统一工具调用,但抽象层太高、代码体验差,稍微复杂的业务场景就会让开发者陷入调试地狱。Anthropic 拿出了 USB-C 的思路:与其每款手机用自己的充电口,不如定一个所有设备共用的标准接口。这次 MCP 推出时,Anthropic 选择了直接开源——协议现在由社区共同维护。
图 3:核心架构四层
MCP 把 AI 与工具之间的通信切成三个角色:
- MCP Host:你在用的 AI 应用本身(Claude Desktop / Cursor 等)
- MCP Client:Host 内部管理连接的模块,可以同时维持多条 Server 连接
- MCP Server:独立运行的轻量程序,向 Client 提供某类能力(比如「读取本地文件」或「查询数据库」)
数据源——无论是本地文件还是远程 API——挂在 Server 下面,不直接暴露给模型。这一设计让权限管控和模块替换都变得容易。
图 4:三大原语
MCP Server 能提供三种东西:
- Prompts:预设指令片段,注入到模型的上下文里,影响它的行为方式
- Resources:只读数据,模型可以请求后作为参考(类似「只读文件」)
- Tools:可执行操作,模型调用后会在外部产生副作用——发邮件、写文件、查数据库。每次调用都需要用户手动批准,防止模型越权
工具是 MCP 里最强大也最需要谨慎的部分。
图 5:MCP vs Function Calling
两者并不对立——Function Calling 是单个模型内部的工具调用能力,而 MCP 是跨模型、跨平台的标准化协议。换言之:Function Calling 是能力,MCP 是接口规范。用了 MCP,同一个 Server 今天接 Claude,明天换 GPT,不需要重写任何适配代码。
通信层上,MCP 基于 JSON-RPC 2.0,本地场景走 STDIO,网络通信走 SSE + HTTP POST,开发者也可以自定义传输通道。
图 6:现在就能上手
目前支持 MCP 的主流工具包括 Claude Desktop、Cursor、Cline。GitHub 上已有 200+ 开源 MCP Server,覆盖文件系统、数据库、浏览器自动化、知识库检索等常见场景。
上手只需三步:
- 选一个原生支持 MCP 的 AI 工具
- 从 github.com/modelcontextprotocol 找到你需要的 Server
- 在客户端配置文件里填入 Server 路径,重启即生效
来源:MCP 官方协议文档 modelcontextprotocol.info,Anthropic 发布公告 anthropic.com/news/model-context-protocol


Comments
Sign in to comment.