MCP,全称 Model Context Protocol(模型上下文协议)。
如果你之前觉得 AI 只能“聊”,不能“做”,那 MCP 就是让它学会“做”的那套标准。你可以把它理解为给 AI 用的 USB-C 接口——有了它,AI 能插上你电脑里的文件、数据库、邮箱、GitHub,甚至是任何你能想到的外部工具[1][2]。
🧩 它到底解决了一个什么问题?
在 MCP 出现之前,AI 开发者面对的是一个“N × M 噩梦”[2]。
假设你有 3 个 AI 模型(Claude、GPT、Gemini),要连接 5 个工具(GitHub、Slack、数据库、文件系统、邮箱)。传统做法是:写 5 套代码,让每个工具能被 AI 调用;再把这 5 套代码分别适配 3 个模型。最终你写了 5 × 3 = 15 套互相不通用的“胶水代码”。每加一个新工具,工作量乘上去;每换一个新模型,之前的全白干。
MCP 的做法是:大家都只说一种“普通话”。工具方按照 MCP 标准写一个 MCP Server(相当于工具端的“插头”),AI 应用方按照 MCP 标准写一个 MCP Client(相当于设备端的“插座”)。于是,3 个模型 + 5 个工具,工作量从 15 套骤降到 3 + 5 = 8 套,而且以后加东西是线性的,不再爆炸[2]。
🏗️ 它的架构长什么样?
MCP 的架构遵循 Client-Host-Server 三层模型,可以想象成一个“翻译公司”的结构[3]。
Host(宿主应用)—— 公司老板:就是你用的那个 AI 应用,比如 Claude Desktop、Cursor IDE、ChatGPT 桌面版。它负责管理所有“翻译员”,决定要不要接某个工具,把握全局的安全和权限[3]。
Client(客户端)—— 翻译员:Host 内部的小组件,每个翻译员只对接一个外部的 MCP Server。它负责把 AI 的“想法”翻译成协议消息,再发出去[3]。
Server(服务端)—— 外部的专业机构:一个轻量级的程序,把某个外部系统的能力(比如你的 GitHub 仓库、本地的文件系统、公司的数据库)包装成 MCP 标准格式,通过 Client 提供给 AI[3]。
这个结构最大的好处是安全隔离:Server 看不到完整的对话历史,也看不到其他 Server 在干什么。每个 Server 只专注做自己那一件事[3]。
🧰 它对外提供什么能力?
MCP Server 能向 AI 暴露三种“东西”,也就是三大核心原语[4]%20Emergence,%20Technical%20Architecture,%20and%20the%20Future%20of%20Agentic%20AI%20Infrastructure.pdf#3#1):
Tools(工具)—— 动词:可以让 AI 执行操作的函数。比如“发送一封邮件”、“在 GitHub 上创建一个 Issue”、“查询数据库”。这是最核心的能力,让 AI 从“只会说”变成“能动手”[4]%20Emergence,%20Technical%20Architecture,%20and%20the%20Future%20of%20Agentic%20AI%20Infrastructure.pdf#3#1)。
Resources(资源)—— 名词:可以让 AI 读取的数据。比如一个文件的内容、一条数据库记录、一个网页的截图。它提供的是“上下文信息”,让 AI 的回答有据可依[4]%20Emergence,%20Technical%20Architecture,%20and%20the%20Future%20of%20Agentic%20AI%20Infrastructure.pdf#3#1)。
Prompts(提示词)—— 模板:预置好的、可复用的交互模板。比如一个“代码审查”的提示词模板,引导 AI 按照固定的规范来工作[4]%20Emergence,%20Technical%20Architecture,%20and%20the%20Future%20of%20Agentic%20AI%20Infrastructure.pdf#3#1)。
📡 它是怎么“说话”的?
MCP 的“语言”是 JSON-RPC 2.0,一种非常成熟、简单的远程调用格式[5]。它规定了 AI 和工具之间交换消息的格式:请求(Request)、响应(Response)、通知(Notification)[5]。
这些消息要通过“路”来传输,目前有两条标准“路”[6][7]:
stdio(标准输入输出):用于本地工具。MCP Server 就运行在你的电脑上,作为你 AI 应用的一个子进程。通信直接在进程间发生,快、简单,不需要网络。比如你电脑上的一个“文件读写工具”[7]。
Streamable HTTP:用于远程工具。MCP Server 运行在互联网上的某台服务器上。你的 AI 应用通过 HTTP 请求和 Server-Sent Events(SSE)流来跟它通信。比如一个部署在云端的“公司数据库查询服务”[6][8]。
🌍 为什么大家都在用它?
MCP 由 Anthropic 在 2024 年 11 月开源,但很快就不是它一家的了[1][9]。OpenAI、Google DeepMind、微软全都宣布支持,并且把它捐给了 Linux 基金会旗下的 Agentic AI Foundation 来管理,确保它是中立的行业标准,而不是某家公司的私有财产[1][2]。
到今天,公开的 MCP Server 已经有上万个,覆盖了从 GitHub、Slack、Notion 到 Postgres、Blender 甚至 3D 打印的几乎所有主流工具[1]。一个 AI 应用只要实现了 MCP Client,就等于一次性获得了连接所有这些工具的能力。
⚠️ 它也不是万能的
“AI 的 USB-C”这个比喻很贴切,但也要看到差距。USB-C 之所以能一统天下,背后有欧盟立法的强制力——不换 C 口不准卖。MCP 没有这种强制力,它靠的是开发者自愿和生态共识[1]。
所以它也面临一些真实的挑战:有的公司(比如 Perplexity)在尝鲜之后,因为性能或成本原因,又切回了自己定制的方案[1]。MCP 的“大一统”是一个正在发生的趋势,而不是一个已经完成的事实。
但它确实解决了一个真实的、普遍的、阻碍 AI 落地的问题。它让“连接”这件事从每个开发者都要重复造的轮子,变成了一个可以拿来就用的标准件。这本身就是巨大的进步。
- [10]
- [1]
- [3]
- [6]
- [11]
- [12]
- [5]
- [13]
- [14]
- [7]
- [15]
- [9]
- [16]
- [17]
- [2]
- [8]
- [18]
- [4]%20Emergence,%20Technical%20Architecture,%20and%20the%20Future%20of%20Agentic%20AI%20Infrastructure.pdf#3#1)
参考来源
[1] MCP 是 AI 界的 USB-C,还是下一个被弃用的"标准"? - AI产品库王老师 — https://cloud.tencent.cn/developer/article/2700716?policyId=1003#1
[2] GitHub 8.6万Star,OpenAI、Google、微软全部接入——MCP凭什么成为AI的USB-C? — https://cloud.tencent.cn/developer/article/2693820?policyId=1003#1
[3] 来源 3 — https://modelcontextprotocol.io/specification/2026-07-28/architecture/index.md
[4] The Model Context Protocol (MCP): Emergence, Technical Architecture, and the Future of Agentic AI Infrastructure — https://zenodo.org/records/17390299/files/The%20Model%20Context%20Protocol%20(MCP
[5] 来源 8 — https://modelcontextprotocol.io/specification/2025-06-18/basic/index.md
[6] 来源 4 — https://modelcontextprotocol.io/specification/2025-06-18/basic/transports.md
[7] 来源 11 — https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/index.md
[8] Transports - Model Context Protocol — https://modelcontextprotocol.org/specification/2025-11-25/basic/transports#protocol-version-header
[9] Introducing the Model Context Protocol — https://www.anthropic.com/news/model-context-protocol?pscd=get.youai.ai&ps_partner_key=cGF0aGFrc2F0b25ncGl0YWs0Nzc5&ps_xid=AK2THDDNVBz7za&gsxid=AK2THDDNVBz7za&gspk=cGF0aGFrc2F0b25ncGl0YWs0Nzc5
[10] 来源 1 — https://modelcontextprotocol.io/specification/2026-07-28/server/utilities/completion.md
[11] GitHub - cynic12138/mcp-llm-demo: 这是一个基于 MCP (Model-Client-Protocol) 和大语言模型的演示项目,展示了如何构建一个具有工具调用能力的 LLM 应用服务。 · GitHub - GitHub - cynic12138/mcp-llm-demo: 这是一个基于 MCP (Model-Client-Protocol) 和大语言模型的演示项目,展示了如何构建一个具有工具调用能力的 LLM 应用服务。 · GitHub — https://github.com/cynic12138/mcp-llm-demo#1
[12] Introduzione a .NET AI e MCP - .NET — https://learn.microsoft.com/it-it/dotnet/ai/get-started-mcp#1
[13] MCP:给 Agent 接上外部世界的「USB-C」 — https://raw.githubusercontent.com/archlizheng/AIPM-Wiki/95b400daa82ee58cc274a1828e9620a7025004ef/docs/01-ai-basics/llm/mcp.md#1
[14] 来源 10 — https://modelcontextprotocol.io/specification/2025-03-26/architecture/index.md
[15] MCP-LLM演示项目 - 大语言模型工具调用框架-MCP服务 — https://www.mcpworld.com/zh/detail/1090eea2432dd4a88db25ec6311c64e0
[16] Začínáme s .NET AI a MCP - .NET - Přeskočit na hlavní obsah Přeskočit do chatu asistenta Zeptat se a Učit se — https://learn.microsoft.com/cs-cz/dotnet/ai/get-started-mcp#1
[17] 来源 15 — https://modelcontextprotocol.io/specification/2025-11-25/basic.md
[18] Simple MCP Tool Server — https://github.com/cmilcode/simple-mcp-tool-lesson/blob/fe410886f2ee15afe5b9371d11ab1ee8a59586c5/SimpleMCPSlides.pdf?_x_output_type_b6db407c4_=embedded_pdf#1#1