协议与标准

MCP 客户端(MCP Client)

MCP 客户端是宿主应用内部的组件,负责代表模型建立并维护与一个或多个 MCP 服务端的连接。

MCP 服务端 AMCP 服务端 BMCP 服务端 CMCP 客户端
一个 MCP 客户端通常会同时维护多条连接,每个服务端对应一条。

MCP 客户端是一次 MCP 连接里的『使用方』。它运行在宿主应用内部——比如某个编程 Agent、对话助手、IDE 插件——负责去连接 MCP 服务端、询问每个服务端提供了什么,再把这些信息传递给模型或宿主自身的逻辑,由它们决定要不要用、怎么用。

一个宿主应用通常会同时维护多条 MCP 客户端连接,配置了几个服务端就有几条连接。比如一个编程 Agent 可能同时连着一个文件系统服务端、一个版本控制服务端、一个项目管理服务端,每个连接各自独立,但最终会把所有能力汇总成一份列表呈现给模型。

客户端本身不负责决定模型能做什么——这类策略通常由宿主应用掌控,比如筛选要连哪些服务端、某些工具调用要不要先人工确认、哪些资源该展示给模型看。

怎么运作

宿主应用启动时,它的 MCP 客户端会依次连接每个配置好的服务端,完成能力协商,拿到对方的工具、资源、提示词模板列表。客户端再把这些能力呈现给模型作为可选项——通常直接并入模型本来就在用的工具调用接口里。模型决定要用某个能力时,客户端把对应的 JSON-RPC 请求发给正确的服务端,再把结果返回。因为每条连接是相互独立的,某个服务端响应慢甚至连不上,也不会拖累其他连接。

举个例子

比如一个对话应用的 MCP 客户端,可能同时保持着搜索服务端、日历服务端、笔记服务端三条连接,并把三者的工具合并成一份列表,供模型在对话过程中按需选用。

常见误解

常被以为: MCP 客户端就是模型本身。
实际上: 客户端是宿主应用内部独立的一层基础设施;模型并不直接说 MCP 协议,它只是决定要调用哪个工具,真正的协议交互由客户端处理。
常被以为: 一个 MCP 客户端同一时间只能连一个服务端。
实际上: 宿主应用通常会同时维护多条客户端连接,配置了几个服务端就对应几条,再把它们的能力汇总成一套选项呈现给模型。

常见问题

MCP 客户端和 MCP 服务端有什么区别?
客户端运行在宿主应用里,负责发起连接;服务端则是真正暴露工具、资源、提示词,并执行具体调用的那一方。
一个 MCP 客户端能同时连多个服务端吗?
可以,而且这是很常见的用法——宿主应用通常按配置的服务端数量维护对应数量的客户端连接,再把能力汇总给模型。
需要自己写 MCP 客户端吗?
只有在你要开发一个全新的宿主应用时才需要;大多数情况下,直接用已经内置 MCP 客户端能力的宿主就够了,比如支持 MCP 的编程 Agent 或对话应用。

最近核实: 2026-08-28

相关术语