图中 MCP 五大核心角色完整释义

1. MCP Hosts(MCP 宿主程序)

原文定义:

Programs like Claude Desktop, IDEs, or AI tools that want to access data through MCP

翻译

宿主程序,指需要通过 MCP 协议读取各类数据、调用工具的上层 AI 应用。

详细说明

  • 典型例子:Claude Desktop、VS Code AI 插件、Cursor、各类本地 AI 客户端
  • 定位:最终面向用户的顶层软件,是发起所有 MCP 通信的入口主体
  • 职责:
    1. 配置、启动、管理多个 MCP Server 子进程
    2. 内置 MCP Client,和每一个 Server 建立独立连接
    3. 接收模型请求,转发给对应 MCP 服务获取文件 / 数据库 / 第三方接口数据
  • 和 Client 的关系:Host 内部封装了 MCP Client,Host 是软件载体,Client 是协议通信模块。

2. MCP Clients(MCP 协议客户端)

原文定义:

Protocol clients that maintain 1:1 connections with servers

翻译

协议客户端,负责与服务端维持一对一独占连接的通信组件。

详细说明

  • 核心特征 1:1:一套 Client 实例只能对接一个 MCP Server,一一绑定、独占通道,这也是 stdio 传输天然的特性(一个子进程管道只能供一对进程通信)
  • 载体:嵌入在 MCP Host 内部,用户不会直接操作 Client,由 Host 自动管理
  • 工作逻辑:
    • 发送 JSON-RPC 请求(读取文件、调用工具、查询资源)通过 stdin 下发给 Server
    • 从 stdout 接收 Server 返回的数据、工具执行结果
  • 区分:
    • Host = 完整 AI 软件(看得见的桌面程序 / IDE)
    • Client = Host 内部负责 MCP 协议收发的底层通信模块

3. MCP Servers(MCP 服务端)

原文定义:

Lightweight programs that each expose specific capabilities through the standardized Model Context Protocol

翻译

轻量独立程序,各自通过标准化「模型上下文协议」对外暴露专属功能能力。

详细说明

  1. 轻量化独立进程 每个 Server 都是单独可执行文件(Python 脚本、Node 程序、二进制 exe),Host 按需拉起 / 销毁,无常驻后台;默认走 stdio 管道通信。
  2. 单一职责拆分 一个 Server 只负责一类能力:
    • 文件 MCP:读写本机文件夹
    • Git MCP:读取仓库代码、提交记录
    • 数据库 MCP:查询本地 SQLite/PostgreSQL
    • 第三方 API MCP:对接远程云服务
  3. 标准统一:全部遵循同一套 MCP JSON-RPC 规范,任意 Host 都能无缝对接任意合规 Server。
  4. 数据流边界:
    • 仅用 stdout 返回协议报文
    • 日志、调试、报错全部输出到 stderr,不干扰通信

4. Local Data Sources(本地数据源)

原文定义:

Your computer's files, databases, and services that MCP servers can securely access

翻译

本机本地资源:MCP 服务端可安全访问的电脑文件、本地数据库、本机后台服务。

详细说明

这是 stdio 传输最核心服务的场景,也是 MCP 设计初衷:

  • 资源类型:本地文档、代码文件夹、SQLite / 本地 MySQL、本地剪贴板、本机命令行工具
  • 安全优势:MCP Server 作为独立子进程访问本地文件,权限隔离;全程本机管道通信,无网络暴露风险
  • 链路:Host → MCP Client → stdio 管道 → MCP Server → 本地文件 / 数据库

5. Remote Services(远程服务)

原文定义:

External systems available over the internet that MCP servers can connect to

翻译

互联网上的外部第三方系统,由 MCP 服务端代为连接访问。

详细说明

  • 资源类型:云端 API、在线数据库、第三方 SaaS(Notion、GitHub 云、云存储、支付接口等)
  • 访问链路区分:
    1. 本地数据源:Server 直接读写本机磁盘 / 进程
    2. 远程服务:Server 发起网络请求访问公网接口,再把结果通过 MCP 协议回传给 Host
  • 传输适配:远程大规模多客户端场景可切换 Streamable HTTP(SSE)传输;单机本地访问仍优先 stdio

整体完整分层链路(串联五大角色)

  1. MCP Host(Claude Desktop/IDE) ↓内置
  2. MCP Client(1:1 通信模块) ↓stdio 管道一对一连接
  3. MCP Server(专用轻量工具进程) 分支 A:访问 Local Data Sources(本机文件、本地数据库) 分支 B:联网请求 Remote Services(互联网第三方云端系统)

关键补充区分(容易混淆点)

  1. Host ≠ Client Host 是完整应用;Client 是 Host 内部实现协议的底层组件。一个 Host 可以同时创建多个 Client,分别连接多个不同 MCP Server。
  2. Client ↔ Server 严格 1:1 一套 Client 只能绑定一个 Server,所以每新增一个工具服务,Host 都会新建一条独立 stdio 管道、启动新子进程。
  3. stdio 完美适配本地架构 因为本地场景是 Host 主动拉起 Server 子进程、一对一独占管道,完全契合图中 1:1 connections 的 Client-Server 设计,这也是官方把 stdio 设为默认传输层的架构根源。
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐