什么是 MCP 客户端(MCP Client)?
MCP 客户端(MCP Client)是通常由 MCP Host 管理的协议组件,用于建立并维护到 MCP Server 的连接,并与其交换 Model Context Protocol 消息。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
MCP 客户端是 MCP 架构中面向单个 Server 的连接器。它负责初始化、能力协商、tools/list 或 resources/read 等请求、响应、错误、通知,以及传输方式相关的生命周期细节。它不应和面向用户的 AI 应用混淆;它通常是内部协议适配器,让 Host 能以受控方式和某个 Server 通信。
主要特点
- 连接管理器:打开、维护并关闭到某个 MCP Server 的协议连接
- 能力发现:询问 Server 支持哪些工具、资源、提示词或其他功能
- JSON-RPC 参与者:发送请求、接收响应并处理协议错误
- 传输感知:可使用 stdio、SSE、streamable HTTP 或其他支持的传输
- 隔离点:让 Host 可以按 Server 限定失败、权限和能力范围
常见用途
- 把 AI IDE 连接到本地文件系统 MCP Server
- 从远程内部 MCP Server 获取可用工具列表
- 从一个 Server 读取资源,而不让所有 Server 共享同一故障域
- 管理长时间运行工具集成的重连和超时行为
- 记录协议 Trace 以调试 MCP 互操作问题
示例
loading...
Loading code...常见问题
每个 MCP Server 都需要自己的 MCP Client 吗?
实践中,Host 通常会为每个 Server 创建独立客户端连接。这样生命周期状态、错误、权限和能力发现都能按 Server 隔离。
MCP Client 初始化时做什么?
它协商协议能力,获取 Server 信息,并为后续请求做准备,例如列出工具、读取资源或调用操作。
终端用户会看到 MCP Client 吗?
通常不会。用户交互的是 Host 应用。MCP Client 一般是内部组件,不过它连接的 Server 和能力可能会出现在设置页或授权界面中。
MCP Client 应处理哪些失败?
它应处理传输失败、协议错误、Server 崩溃、超时、格式错误响应、能力变化,以及用户或 Host 停止操作时的取消。