🧠 图解记忆: 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 + SSE | Server-Sent Events | 本地/远程 | 支持流式响应 |
| Streamable HTTP | HTTP长连接 | 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底座不需要改工具代码。"
