AI导航

MCP协议的架构设计是怎样的?

AI百科
3 min read
68 次阅读

MCP协议的架构设计全解:从核心组件到安全机制

一、总体架构概览MCP(Model Context Protocol)遵循 “客户端-主机-服务器” 三层架构:

  • Host(主机):充当容器与协调器,创建/管理多个 Client,负责安全策略与用户授权。
  • Client(客户端):与单个 Server 建立 1:1 有状态会话,完成能力协商、双向消息转发与上下文维护。
  • Server(服务器):暴露特定资源或工具,专注单一能力,实现最小化职责与安全隔离。

二、消息层:JSON-RPC 2.0 与状态会话MCP 统一采用 JSON-RPC 2.0 作为消息格式(请求 / 响应 / 通知三类),并通过 session 保持跨多步任务的上下文,实现链式调用与变量追踪。

三、传输层:可插拔通信通道

  1. Stdio(标准输入/输出)——本地 CLI 与桌面插件首选,延迟极低。
  2. Streamable HTTP——“单端点 POST + 可选 SSE 流” 的远程方案,支持断点续连与多客户端并发。
  3. 传统 SSE 双端点——兼容旧生态,依旧常见于生产环境。
  4. 自定义扩展——协议允许 WebSocket、Unix Socket、ZeroMQ 等任意双向通道,只需封装 JSON-RPC 消息。

四、能力协商与扩展机制建立连接时,Client 与 Server 显式声明 capability 列表(如订阅通知、工具调用、采样支持等)。功能按需启用,保证前向兼容与渐进式扩展。

五、安全设计要点

  • 最小权限原则:主机层面对每个工具设定 Scope,避免越权。
  • 多重隔离:Server 彼此不可见,完整会话仅掌握在 Host,防止数据泄露。
  • 审计与日志:所有调用链路可追溯,便于检测提示注入、令牌窃取等攻击。

六、设计原则与实践价值

  1. 易构建:Server 只关注自身功能,复杂编排交由 Host 完成。
  2. 可组合:多个 Server 可任意拼装,快速聚合能力。
  3. 逐步演进:核心协议精简,功能通过 capability 渐进扩展,保持长期稳定。

七、部署拓扑示例

  • 本地开发:IDE 插件 (Client) ←→ 调试 Server (Stdio)
  • 云端服务:浏览器 Agent (Client) ←HTTP→ 工具网关 (Server)
  • 操作系统级:Windows AI Foundry (Host) 统一暴露文件系统、日历等 Server,任何 LLM Agent 均可即插即用。

八、总结通过“客户端-主机-服务器”解耦、JSON-RPC 消息层与可插拔传输,MCP 将 AI 与外部工具的集成从碎片化接线升级为 标准化、可扩展、安全可控 的体系,为构建企业级与个人级智能体奠定基础。

推荐工具

NVIDIA Chat with RTX AI聊天 Chat with RTX 是 NVIDIA 面向 RTX 电脑的本地 AI 聊天工具,可围绕本地文档和视频资料做问答,适合重视隐私、离线检索并具备硬件条件的用户更适合资料不便上传云 HuggingChat AI聊天 HuggingChat 是 Hugging Face 的开源模型聊天应用,支持 Omni 自动选模型,也可手动选社区开放模型对话。它适合体验开源模型、技术探索和问答,结果可能不稳定,重要内容需复核。 纳米AI搜索 AI搜索 纳米AI 是 360 旗下 AI 搜索和智能体入口,支持文字、语音、拍照提问、多模型协作与内容创作,适合中文用户做日常搜索、学习问答、移动查询、热点追踪、生活决策、知识整理和轻量创作。 Qwen Chat(通义千问) AI聊天 Qwen Chat 是Qwen 大模型聊天助手,支持Qwen 模型聊天、写作和编程问答,适合中文用户和开发者完成 AI 对话、资料问答和任务协作,适合上线前核对权限、成本和资料质量。 DuckDuckGo AI Chat AI聊天 DuckDuckGo AI Chat 适合重视隐私的普通用户使用,围绕隐私 AI 聊天、免账户使用和多模型问答提供对话式 AI 支持和任务协作能力,适合上线前核对权限、成本和资料质量。 Goody-2 AI聊天 Goody-2 是以极端安全和伦理对齐为特色的 AI 聊天助手,常用于观察模型拒答边界、内容安全策略、保守输出体验和 AI 风险讨论,更适合作为安全边界样本使用前应理解它偏实验性质,不适合。