在 MCP 协议的整体架构中,核心组件有哪些划分?其中 Server 与 Client 各自承担什么样的职责?
考察说明
考察对 MCP 协议架构组成及 Client、Server 职责分工的理解。
回答思路
- 【回答框架 1】MCP 即模型上下文协议,是用于连接 AI 模型与外部数据、工具的标准协议。其架构核心是客户端-服务器模型,包含 Client、Server、Transport 和协议层,并引入资源、工具、提示词等原语以及授权等机制。
- 【回答框架 2】MCP Client 通常是模型宿主端,如 Claude Desktop、IDE 或自定义应用,负责与用户交互、管理会话,并作为桥梁将模型请求发送给 Server,同时处理权限、UI 展示和聚合多个 Server 的能力;Client 不直接执行工具,而是调度。
- 【回答框架 3】MCP Server 是轻量级服务,暴露特定能力,如文件读取、数据库查询或调用外部 API。它负责实现资源、工具或提示词的定义与执行,通过标准协议暴露能力,并与特定数据源或服务相集成,每个 Server 专注于一组功能。
- 【回答框架 4】Client 与 Server 通过传输层通信,常见基于 JSON-RPC 2.0。整个协议还规范了能力协商、生命周期管理以及安全授权,使得 Client 能动态发现 Server 提供的能力。Server 通常由本地或远程进程承载,二者通过标准接口解耦。
- 【回答框架 5】从职责看,Client 侧重意图编排、上下文聚合与安全控制,Server 侧重能力实现与资源访问,两者相互配合但边界清晰,这是 MCP 成为 Agent 工具调用范式的关键。
- 【关键点 1】MCP 由 Client、Server 及传输协议层构成,采用客户端-服务器架构,解耦模型与资源。
- 【关键点 2】Client 负责连接模型、管理会话、调用 Server 并处理权限,不直接实现工具逻辑。
- 【关键点 3】Server 实现并暴露资源、工具与提示词,负责与具体数据源或系统交互。
- 【关键点 4】Client 与 Server 通过 JSON-RPC 2.0 等传输机制通信,支持能力发现与协商。
- 【关键点 5】职责划分清晰:Client 管编排与安全,Server 管执行与访问,二者通过标准接口协作。
- 【易错点 1】误把 Server 当作服务端 Web 应用,其实它是能力提供进程,可运行在本地或云端。
- 【易错点 2】混淆 Client 与模型本身:Client 是宿主应用,模型由 Client 调用并调度,但模型不直接连 Server。
- 【易错点 3】认为 Server 负责所有逻辑,实际它可依赖外部库或服务,但 MCP 协议只定义接口,不限制实现。