Skip to content
🔗 分享本题
查看我的学习进度 →

MCP Client Server Transport三层协同图解

🧠 图解记忆: Client 代表 AI 发请求,Server 代表能力执行,Transport 只负责可靠传消息。

💡 答案要点

MCP三层架构:

┌─────────────────────────────────────────────────────────────┐
│                     MCP 完整架构                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────┐         ┌─────────────────────────────┐  │
│  │  AI Model   │         │      MCP Client              │  │
│  │  (LLM/Agent)│◄───────►│  - 工具调用发起者           │  │
│  │             │         │  - JSON-RPC 2.0 消息构造      │  │
│  │  Claude/    │         │  - 响应解析                  │  │
│  │  GPT-4o     │         └─────────────┬───────────────┘  │
│  └─────────────┘                       │                  │
│                                      Transport             │
│                         ┌─────────────┴───────────────┐    │
│                         │   MCP Server                 │    │
│                         │  - 工具注册与管理             │    │
│                         │  - 资源提供                  │    │
│                         │  - 提示模板                  │    │
│                         │  - 安全检查                  │    │
│                         └─────────────┬───────────────┘    │
│                                       │                   │
│                              ┌────────┴────────┐          │
│                              │   外部工具/数据  │          │
│                              │  文件系统        │          │
│                              │  数据库          │          │
│                              │  GitHub         │          │
│                              │  Slack/Email    │          │
│                              └─────────────────┘          │
└─────────────────────────────────────────────────────────────┘

Client-Server交互流程:

用户:AI,帮我查一下用户12345的订单状态

Step 1: AI模型识别需要调用工具
        → 生成JSON-RPC请求

Step 2: MCP Client接收请求
        → 验证参数格式
        → 发送到MCP Server

Step 3: MCP Server处理请求
        → 安全检查(权限、输入验证)
        → 调用实际工具(数据库查询)

Step 4: MCP Server返回结果
        → 格式化JSON-RPC响应

Step 5: MCP Client解析响应
        → 返回给AI模型

Step 6: AI模型基于结果生成回复
        → "用户12345有3个订单,2个已完成..."

Transport层详解:

传输方式协议适用场景特点
stdio标准输入输出本地进程通信简单、安全、无网络依赖
HTTP + SSEServer-Sent Events本地/远程支持流式响应
Streamable HTTPHTTP长连接2026年新标准支持双向通信、更高效

Streamable HTTP(2026年主流):

python
# Streamable HTTP传输流程
# AI发起请求 → Server处理 → SSE流式返回结果

# 请求
POST /mcp/streamable
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {"name": "search", "arguments": {...}}
}

# 响应(流式)
HTTP/1.1 200 OK
Content-Type: text/event-stream

event: result
data: {"id": 1, "result": {"content": [...]}}
event: done
data: {"finished": true}

面试话术:

"MCP架构本质是'Client-Server-Transport'三层。Client是AI模型的代理人,负责构造JSON-RPC请求;Server是工具的代理人,负责注册工具、处理调用、返回结果;Transport负责消息传输,2026年主流是Streamable HTTP(支持SSE流式响应)。三层解耦让AI模型和工具完全独立,切换AI底座不需要改工具代码。"

📚 参考:MCP 官方:Architecture(Client/Server/Transport)