MCP 架构包含哪些核心组件?
MCP 架构包含哪些核心组件?
这道题考的是对 MCP(Model Context Protocol)架构的整体理解,看你能不能说清楚 AI 应用怎么通过这套协议和外部世界打交道。
我从三个方面来讲:先一句话让你理解 MCP 是干嘛的,再详细拆解三大核心组件,最后说清楚它们怎么配合工作。
一句话理解 MCP
MCP 就是 AI 应用和外部工具、数据源之间的"翻译官"。
打个比方。USB 协议大家都用过吧?电脑上有 USB 接口,鼠标、键盘、U 盘都能插上去,不用管每个设备里面怎么实现的,插上就能用。
MCP 做的是同样的事。AI 大模型就是"电脑",各种工具、数据源就是"外设"。有了 MCP,AI 不用管每个工具怎么调用,协议统一封装好了,直接用就行。
就这么简单。
三大核心组件
MCP 架构里有三个核心组件:Host、Client、Server。
Host(主机)
Host 是 AI 应用的运行环境。Claude Desktop、Cursor IDE 这些集成了 AI 的应用都是 Host。
你可以理解成 Host 是"餐厅"——它是面对顾客的地方,顾客来了要在这儿吃饭。
Host 负责创建客户端、管理整个连接的生命周期。它知道自己集成了哪些 AI 能力,然后通过 Client 去和外部服务沟通。
Client(客户端)
Client 嵌在 Host 里面,负责和 Server 保持通信。
接着上面的比方,Client 就是"服务员"。顾客点菜,服务员把需求传到厨房;菜做好了,服务员端回来。
一个 Host 可以有多个 Client,每个 Client 专门负责和一个 Server 通信。注意这里是 1:1 的关系:一个 Client 只连一个 Server,一个 Server 也只服务一个 Client。
这是 MCP 设计里很重要的一点,后面协作流程会再提到。
Server(服务器)
Server 是真正干活的,提供三样东西:工具(Tools)、资源(Resources)、提示(Prompts)。
对应餐厅的例子,Server 就是"厨房"。
- 工具(Tools):AI 可以调用的函数,比如查天气、搜文档、操作数据库。AI 决定调什么工具,Server 执行。
- 资源(Resources):AI 可以读取的数据,比如本地文件、API 返回的结构化数据。工具是"操作",资源是"读取"。
- 提示(Prompts):预定义好的提示模板,比如"帮我总结这段代码"这种常用场景。
Server 本身不运行 AI,它只是把各种能力暴露出来,让 Client 去调用。
组件间的协作流程
Client 和 Server 之间的通信分三个阶段:初始化 → 消息交换 → 终止。
初始化阶段
Client 先发起连接,像打电话拨号一样。
这个阶段会做协议握手,确认双方都支持 MCP 规范,协商好功能范围。Server 会告诉 Client:"我有这些工具,这些资源,这些提示。"
连接建立好了,才进入下一阶段。
消息交换阶段
这个阶段就是干活了。
Client 发请求,可以是:
- 调用工具("帮我查一下北京今天天气")
- 读取资源("把项目里的 package.json 内容给我")
- 获取提示模板
Server 执行完返回结果,Client 再把结果传给 Host 处理。
整个过程是同步的请求-响应模式,一个请求对应一个响应,不是一来一回多次那种。
终止阶段
通信结束了,释放连接资源,跟挂电话一样。
正常情况下 Client 发起关闭请求,双方确认后断开。有时候也可能异常断开,比如网络断了,这时候 Host 会负责重新建立连接。
面试怎么答
基础版
MCP 架构有三个核心组件:Host、Client 和 Server。
Host 是 AI 应用的运行环境,比如 Claude Desktop。Client 嵌在 Host 里,负责和 Server 保持 1:1 的通信连接。Server 提供工具、资源、提示三种能力,供 AI 调用。
三者配合起来,Host 管理连接生命周期,Client 转发请求响应,Server 执行具体操作。
这个版本能说出三个组件、每个的职责、它们怎么配合,够了。
加分版
除了三个组件,还要知道连接的生命周期:初始化、消息交换、终止三个阶段。
传输方式上,MCP 推荐用 Stdio(标准输入输出),也支持 Streamable HTTP。
安全方面要注意:Server 需要验证,Host 要做权限管理,确保 AI 只能调用被允许的工具。
能说到这些,说明你不光背了概念,还理解了点实际应用。
一句话总结
MCP 架构的核心就是 Host 提供运行环境、Client 负责 1:1 连接管理、Server 暴露工具/资源/提示三种能力,三者通过初始化-消息交换-终止的流程协作。
