MCP 的工作流程是什么?
MCP 的工作流程是什么?
这道题考的是 MCP(模型上下文协议)的核心架构和工作原理,属于 AI Agent 工具调用领域的进阶知识点。面试官想看你能不能把"AI 怎么调用外部工具"这件事讲清楚。
我从四个方面来讲:MCP 是什么、核心三组件怎么分工、五阶段工作流程、实际怎么用。
MCP 是什么——像 USB 一样的"AI 接口标准"
先说清楚 MCP 是什么。
MCP 全称 Model Context Protocol,是 Anthropic 在 2024 年底推出的开放协议。它的核心目标是解决大模型和外部工具之间的连接标准化问题。
这话说得有点绕,我打个比方你就懂了。
你有没有想过,为什么现在随便一个鼠标、键盘、打印机,插上电脑就能用?因为 USB 协议定义了统一的接口标准。厂商不用发明新的连接方式,只要符合 USB 规范就能互联。
AI 领域之前就是这个状态。每个 AI 应用想调用工具,比如查数据库、搜网页、调 API,都要自己写一套对接代码。工具提供方也要配合不同的 AI 平台做适配。折腾得要死。
MCP 就是来解决这个问题的。它定义了一套标准的通信协议,让任何支持 MCP 的 AI 都能调用任何支持 MCP 的工具。不用每对组合都单独开发。
所以 MCP 的核心价值是:它不发明工具调用,而是提供标准化的通信框架。就像 USB 不发明鼠标和键盘,但让所有设备能通用。
核心三组件——Host、Client、Server 的分工协作
搞懂 MCP,第一件事是理解它的三组件架构。
Host 是 MCP 的运行环境。你可以理解成 AI 应用的"宿主进程"。Claude Desktop、Cursor 这些集成了 MCP 的应用就是 Host。Host 负责整合所有功能,给用户提供统一的体验。
Client 是 Host 和 Server 之间的通信中介。Host 内部会为每个 Server 创建一个 Client。Client 负责管理连接、发送请求、接收响应。你不用直接和 Client 打交道,但它在背后默默工作。
Server 是暴露工具能力的组件。它对外提供工具列表、定义工具参数格式、响应工具调用请求。Server 才是真正"做事"的地方——查数据库、调 API、读文件,都由 Server 执行。
三者的关系是这样的:Host 包含 Client,Client 连接 Server。一个 Host 可以同时连接多个 Server。
我再打个比方,把 MCP 比作餐厅:
- Host 是餐厅老板,提供场所、接待顾客、整合服务
- Client 是服务员,在顾客和厨房之间传话、协调
- Server 是厨房,真正做菜、产出结果
顾客(用户)进餐厅,跟服务员说要点宫保鸡丁。服务员把需求传给厨房,厨房做好了再由服务员端回来。这就是三组件协作的基本模式。
五阶段工作流程——从用户输入到结果输出
现在讲重点,MCP 的工作流程分五个阶段。
第一阶段:意图识别
用户给 AI 发了一条指令。
比如:"帮我查一下今天北京的天气"
AI(准确说是 AI 背后的 LLM)要理解:用户想干嘛?这个任务需要调用外部工具吗?
如果用户只是闲聊,AI 正常回复就行。如果涉及需要实时数据或外部能力的任务,LLM 就会触发 MCP 流程。
这个阶段的关键是:LLM 判断要不要调用工具,以及调用哪个工具。
第二阶段:工具发现
LLM 确定要调用工具后,它需要知道有哪些工具可用。
这时候 MCP Server 会把自己暴露的工具列表发给 Client,Client 再传给 Host。LLM 拿到工具描述(每个工具叫什么、能做什么、参数是什么),从中选一个合适的。
继续上面的例子。LLM 看到有个 weather 工具,能查指定城市的天气。它决定调用这个工具。
这个阶段的关键是:Server 暴露能力,LLM 基于描述做选择。
第三阶段:构造请求
LLM 选好工具后,要构造调用请求。
请求里包含:调哪个工具、传什么参数。格式是 JSON-RPC 2.0,MCP 规定的标准格式。
比如:调用 weather 工具,参数是 city="北京"。
这个请求从 LLM 传到 Host,传给对应的 Client,Client 再发给对应的 Server。
这个阶段的关键是:请求格式标准化。
第四阶段:工具执行
Server 收到请求后,真正去执行操作。
可能是查数据库、调第三方 API、读本地文件。执行完生成结果。
还是上面的例子:Server 调用天气 API,获取到"北京今天晴,25度"。
这个阶段的关键是:Server 是实际的执行者。
第五阶段:结果整合
Server 把执行结果返回给 Client,Client 传给 Host。
Host 把结果返回给 LLM。LLM 拿到工具的原始输出,结合原始问题,生成最终回复。
回到例子:LLM 拿到"北京今天晴,25度",用它来回答用户的问题。
整个流程串起来就是:用户输入 → LLM 意图识别 → 工具发现 → 构造请求 → Server 执行 → 结果整合 → LLM 生成回复
实战场景——MCP 怎么用、解决什么问题
说这么多,MCP 到底能干嘛?
场景一:数据库查询
你没有 MCP 之前,想让 AI 分析销售数据,得先把数据导出来、清洗好、喂给 AI。有 MCP 之后,AI 能直接连数据库,用自然语言问"去年第四季度销售额是多少",AI 自动转成 SQL、执行、返回结果。
场景二:实时信息获取
AI 训练数据有截止日期,问它"今天热搜是什么"它答不上来。有了 MCP,AI 可以调用搜索工具或者新闻 API,拿到最新信息再回答。
场景三:文件系统访问
让 AI 帮你整理文件夹、读代码库、生成报告。MCP 让 AI 能直接操作文件,不用你手动复制粘贴内容。
场景四:第三方 API 集成
比如调地图 API 查路线、调日历 API 安排会议、调邮件 API 发消息。AI 不只是"纸上谈兵",能真正动手做事。
MCP 解决了 AI 从"能说不能做"到"能说又能做"的跨越。没有它,LLM 每次想用工具都得单独对接。有了它,工具一次适配、处处可用。
面试怎么答
基础版(直接背)
MCP 是模型上下文协议,由 Anthropic 推出,解决大模型与外部工具连接的标准化问题。
架构上分三个组件:Host 提供运行环境、Client 做通信中介、Server 暴露工具能力。
工作流程分五阶段:意图识别 → 工具发现 → 构造请求 → 工具执行 → 结果整合。LLM 扮演决策者角色,基于 Server 暴露的工具描述选择合适的工具调用。
通信采用 JSON-RPC 2.0 规范,实现标准化交互。
加分版(扩展聊)
在基础版基础上,可以加这些:
- 能画出 Host/Client/Server 的架构图,解释它们的包含和连接关系
- 理解 MCP 和 Function Calling 的关系:MCP 是标准化的 Function Calling 框架,把原来各平台自定义的函数调用规范统一了
- 知道实际应用:Cursor、Claude Desktop 已经集成 MCP,开发者可以自己写 MCP Server 扩展 AI 能力
- 了解安全风险:MCP Server 安装来源可信性、运行时的权限控制、工具更新的安全性都需要考虑
一句话总结
MCP 的核心就是:用标准化的三组件架构和五阶段流程,让 AI 能像 USB 插拔设备一样灵活调用外部工具。
