写在前面:今天老师讲了一个让我"格局打开"的概念------MCP(Modular Context Protocol,模块化上下文协议)。以前我做 AI 开发,要给不同的模型写不同的对接代码,就像出门要带三四根不同接口的充电线一样烦。老师说,MCP 就是 AI 界的 USB-C------一个统一的接口标准,让所有模型都能用上所有工具。Anthropic 公司 2024 年 11 月 25 日推出了这个协议,现在已经成了 AI 圈的"标配"。
一、Context Engineering 之后,MCP 来了
1.1 Context Engineering 的痛点
之前我们学过了 Context Engineering(上下文工程),它的核心思想是:在回答之前,先去检索资料,加到 prompt 里面。
但这里有一个大问题------给 LLM 提供上下文的方式太零散了。
老师说:
"在 MCP 之前,RAG、函数调用......各种方式零散适配,乱象丛生。"
- 要读文件?得自己写代码调文件系统。
- 要查天气?得自己对接天气 API。
- 要发邮件?又得换一套对接方式。
每个工具都要写一套"翻译"代码,模型换个语言又得重写。
1.2 MCP:一个协议解决所有问题
老师说:
"MCP 是 Anthropic 公司于 2024 年 11 月 25 日推出的 AI 界通用 USB-C 接口协议。有了 MCP,不用为不同模型写对接代码,能轻松把各类数据工具标准化接入大模型上下文。"
MCP 的核心理念:让任意 AI 模型都能以统一的方式去访问外部资源和工具。
就像 USB-C 接口------你一个充电器可以给手机、平板、笔记本、耳机充电,不管是什么品牌、什么型号。MCP 就是 AI 世界里的 USB-C。
二、MCP 三件套:Server、Host、Client
MCP 架构由三部分组成:
2.1 MCP Server(服务器)
老师说:
"服务端,提供了大模型想用的各种上下文。定义好 Server 如何和 Client 交互(通信)。将上下文服务提供给 LLM。"
MCP Server 就是"资源的提供者"。
比如:
server-filesystem:提供本地文件读写能力。server-gmail:提供 Gmail 邮件服务。server-gaode:提供高德地图服务。
每个 Server 只做一件事,但把它做到标准化。
2.2 MCP Host(宿主)
老师说:
"Claude Code 等 AI Agent。"
Host 就是 AI 模型运行的地方。 比如:
- Claude Code
- Cursor
- Trae
- Codex
Host 负责接收用户指令,推理判断需要什么上下文,通过 MCP Client 去获取。
2.3 MCP Client(客户端)
老师说:
"配置一堆的 MCP Client,插件一样------古茗、高德地图、Gmail。"
MCP Client 就像插件------你装一个插件,Host 就能通过这个 Client 和对应的 Server 通信。
你可以配置多个 Client:
arduino
MCP Host(Claude Code)
→ MCP Client:文件系统(读写本地文件)
→ MCP Client:高德地图(查位置信息)
→ MCP Client:Gmail(收发邮件)
→ MCP Client:飞书文档(读写飞书内容)
每个 Client 就像一个 App Store 里的 App,你按需安装即可。
三、MCP 的工作流程:当 AI 需要"看文件"时
让我用一个具体的例子来展示 MCP 的工作流程:
3.1 安装文件系统 Server
bash
npm i -g @modelcontextprotocol/server-filesystem
老师说:
"MCP 官方文件系统服务端,安装完了,本地 Server / 远程 Server。用于通过 MCP 协议安全读写本地指定目录文件,为 AI 模型提供合规的本地文件访问能力。"
只需一行 npm install,你的 Cursor 就能直接读写你电脑上的文件------而不用你写任何对接代码。
3.2 完整流程
arduino
你:"帮我读取桌面上的 report.docx"
↓ Host(Claude Code)收到指令
↓ Host 推理:我需要文件的上下文,但我自己读不了
↓ Host 去 MCP Client 里查找
↓ 找到了 "filesystem" Client
↓ MCP Client(filesystem)→ 向 MCP Server(server-filesystem)发出请求
↓ MCP Server 读取本地文件
↓ 把文件内容返回给 Client
↓ Client 把内容传回 Host
↓ Host 把内容加入 LLM 的上下文
↓ LLM 回复:"我读到了 report.docx,它的核心内容是......"
整个过程,LLM 只需要通过 MCP 协议和外部世界通信。 它不需要知道文件系统怎么读,不需要知道 API 怎么调,MCP 帮它做好了标准化对接。
老师说:
"模型需要交互什么呢?模型想知道、能用、能调的内容(工具和资源)。MCP 就是 LLM 和外部世界的一个通信协议。"
四、MCP 的两大核心:资源和工具
老师说 MCP 提供了两类东西:
| 类别 | 内容 | 举例 |
|---|---|---|
| 资源(Resources) | 模型想知道的内容 | 数据库、API、文件、SaaS(飞书、高德地图) |
| 工具(Tools) | 模型能调用的能力 | 创建日历、发邮件、执行命令、远程控制 |
资源 = 读数据,工具 = 写数据/执行操作。
- 资源:比如读一个文件、查一条数据库记录、获取当前天气。
- 工具:比如创建一个日历事件、发送一封邮件、在服务器上执行一个命令。
老师说:
"这些资源和工具就是让大模型变得真正有用的上下文和能力。"
没有 MCP 的 LLM,只是一个"聊天机器"。有了 MCP 的 LLM,才是真正的"智能体(Agent)"。
五、从 Chatbot 到 Agentic AI
老师说了一句非常重要的话:
"MCP 不单单只是便利,而是从根本上重构了整个 AI 应用架构。真正把 AI,从 Chatbot 推到了 Agentic AI(智能体 AI)阶段。"
MCP 之前的 AI 架构:
用户 ↔ Chatbot(只会聊天,无法操作外部世界)
MCP 之后的 AI 架构:
arduino
用户 ↔ Host(AI Agent) ↔ MCP Client(插件) ↔ MCP Server(外部服务)
| 阶段 | 能力 | 比喻 |
|---|---|---|
| Chatbot | 只能聊天 | 一个坐在房间里只聊天的人 |
| Agentic AI | 能读文件、发邮件、查天气、操作电脑 | 一个既能聊天又能帮你干活的人 |
MCP 就是让 AI 从"只会聊天"变成"什么都能干"的那个关键协议。
六、总结:MCP 是 AI 的"通用语言"
| 概念 | 说明 |
|---|---|
| MCP | Modular Context Protocol,模块化上下文协议 |
| 发布方 | Anthropic,2024 年 11 月 25 日 |
| 本质 | AI 界通用 USB-C 接口协议 |
| MCP Server | 资源和工具的提供者 |
| MCP Host | AI Agent 运行的宿主环境 |
| MCP Client | 配置的插件,连接 Host 和 Server |
| 资源 | 模型想知道的上下文(文件、数据库、API) |
| 工具 | 模型能调用的能力(发邮件、执行命令) |
MCP 定义了 LLM 和外部世界之间的标准化通信方式。 以前每个模型、每个工具都要写专门的对接代码,现在只需要遵循 MCP 协议,所有模型都能用上所有工具。
写在最后
今天最大的收获,是理解了 MCP 的"标准化"思想。以前学 Context Engineering,知道要给 LLM 提供上下文,但提供的方式五花八门。MCP 的统一接口,就像当年的 USB-C 统一了充电接口------不用再为不同设备准备不同线了。
下次面试官问你:"什么是 MCP?它解决了什么问题?"
你可以淡定地说:
"MCP 是 Anthropic 在 2024 年 11 月推出的模块化上下文协议,可以理解为 AI 界的 USB-C。它解决了之前 LLM 接入外部工具时'各自为政'的问题------每个模型和工具都要写专门的对接代码。MCP 定义了三个角色:Server(提供资源/工具)、Host(AI Agent 宿主)、Client(标准化的插件接口)。有了 MCP,任意模型都能以统一的方式访问各类外部数据和服务,真正把 AI 从 Chatbot 推到了 Agentic AI 阶段。"
然后看着面试官满意的表情,心里默念:这波,又稳了。
本文所有代码示例均来自课堂学习资料,真实可运行。