宿主是协调和管理一个或多个 MCP 客户端的 AI 应用程序(如 Claude Desktop、Visual Studio Code、Cursor)。宿主负责创建并管理多个客户端实例,控制客户端连接权限和生命周期,执行安全策略和用户授权决策,并协调 AI/LLM 集成与采样。
每个客户端由宿主创建,并维护一个与特定服务端的隔离连接。客户端负责处理协议协商和能力交换,双向路由协议消息,管理订阅和通知,并在服务端之间维持安全边界。每个服务端连接对应一个独立的客户端实例。
服务端是提供专项上下文和能力的程序,通过 MCP 原语暴露资源、工具和提示词。服务端独立运行并承担明确职责,通过客户端接口请求采样,必须遵守安全限制。服务端可以是本地进程(通过 Stdio 通信),也可以是远程服务(通过 HTTP 通信)。
传输层负责管理客户端与服务端之间的通信通道和认证,处理连接建立、消息分帧和安全通信。MCP 将通信细节从协议层中抽象出来,使相同的 JSON-RPC 2.0 消息格式可以在所有传输机制中复用。