第 24 期:MCP 服务编排 — 多 Server 管理、路由与健康检查
当 MCP Server 变多了
随着业务增长,你可能部署了 10+ 个 MCP Server(GitHub、Slack、内部 CRM、知识库等)。如何统一管理?
graph TB
subgraph "MCP 编排层"
Registry["📋 Server 注册表
(Data Table)"]
Health["💓 健康检查
(Schedule Workflow)"]
Router["🔀 智能路由
(根据 Agent 需求分发)"]
end
subgraph "MCP Server 集群"
S1[🐙 GitHub Server]
S2[💬 Slack Server]
S3[🐘 PostgreSQL Server]
S4[📂 Filesystem Server]
S5[🔍 RAG Server]
end
Registry --> S1 & S2 & S3 & S4 & S5
Health --> S1 & S2 & S3 & S4 & S5
Router --> S1 & S2 & S3 & S4 & S5
style Registry fill:#6366f1,stroke:#4f46e5,color:#fff
style Health fill:#22c55e,stroke:#16a34a,color:#fff1. Server 注册表
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Data Table: mcp_servers (MCP 服务注册表)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 列定义:
// | name | url | transport | status | last_check |
// |------------|------------------------------|-----------|---------|------------------|
// | github | http://mcp-github:3001/sse | sse | healthy | 2026-04-09T12:00 |
// | slack | http://mcp-slack:3003/sse | sse | healthy | 2026-04-09T12:00 |
// | filesystem | http://mcp-fs:3002/sse | sse | down | 2026-04-09T11:55 |
// | rag | http://mcp-rag:3004/sse | sse | healthy | 2026-04-09T12:00 |
2. 健康检查工作流
graph TB
Schedule[⏰ 每 5 分钟] --> ReadRegistry[读取注册表
所有 Server]
ReadRegistry --> Loop[Loop Over Items]
Loop --> Ping[HTTP Request
GET /healthz]
Ping --> Check{响应正常?}
Check -->|"✅ 200 OK"| Update1[更新状态: healthy]
Check -->|"❌ 超时/错误"| Count{连续失败 ≥ 3?}
Count -->|"是"| Alert[🚨 Slack 告警] --> Update2[更新状态: down]
Count -->|"否"| Update3[更新状态: degraded]
Update1 & Update2 & Update3 --> Loop
style Schedule fill:#6366f1,stroke:#4f46e5,color:#fff
style Alert fill:#ef4444,stroke:#dc2626,color:#fff3. 动态 Agent 配置
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 根据注册表动态配置 Agent 的 MCP 工具
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 在 Agent 启动前,查询注册表获取所有 healthy 的 Server
const healthyServers = $('Data Table').all()
.filter(s => s.json.status === 'healthy');
// 只连接健康的 Server
// 自动跳过 down 或 degraded 的 Server
// → Agent 永远不会因为某个 Server 宕机而卡死
下一步
Ep 25 将总结 MCP 生态的最佳实践,并构建一个完整的 MCP 驱动的智能工作台。