Multi-MCP Orchestration 實戰 — 一次控制多個 MCP Server
2026-05-13 · MCP 進階 · Eric Cheung
前言:一個 MCP Server 唔夠用
快速結論(TL;DR)
- Multi-MCP Orchestration 即係 AI 做 Central Orchestrator,同時連接 GitHub、Database、Slack 等專門 Server,按任務自動揀合適工具
- 喺 Claude Code config 一次過註冊多個 Server 之後,AI 會自動發現所有 Tools/Resources/Prompts,唔使手動指定用邊個
- 最佳實踐包括:Server 名要清晰、Tool Description 要精準、避免 Tool Name 撞名、Secrets 全部放 Environment Variables、按需啟用 Server
- Debug 重點係檢查 tool description 夠唔夠 specific、每個 Server 獨立 process 唔怕互相拖累、用 claude mcp list 檢查連接狀態
Day 1-4 我哋學咗點樣建立單一 MCP Server。但現實開發中,你需要嘅唔只一個:GitHub Server 管理 code、Database Server 查詢 data、Slack Server 通知團隊、File Server 管理 project... 每個領域都有專門嘅 MCP Server。
今日嘅課題係:點樣同時註冊同管理多個 MCP Server,令 Claude Code 可以跨工具執行複雜嘅 orchestration 工作流。呢個就係所謂嘅「MCP Orchestration」。
Part 1:MCP Orchestration 架構
核心概念
Multi-MCP Orchestration 係指 AI 作為 Central Orchestrator,同時連接多個 domain-specific 嘅 MCP Server,根據任務需要自動選擇合適嘅 Server 執行操作,甚至將多個 Server 嘅輸出組合成一個完整嘅工作流。
三層架構
- Layer 1 — AI Orchestrator(Claude Code): 理解自然語言指令、拆解任務、決定調用邊啲 Server、組合結果
- Layer 2 — MCP Servers(Domain Services): GitHub MCP / DB MCP / Slack MCP / File MCP / n8n MCP 各自專精一個領域
- Layer 3 — External Services(底層服務): GitHub API / PostgreSQL / Slack API / File System / n8n Webhook
Part 2:註冊 Multiple MCP Servers
Claude Code Config — 一次註冊 5 個 Server
{
"mcpServers": {
"github": {
"command": "node",
"args": ["./servers/github-mcp/index.js"],
"env": { "GITHUB_TOKEN": "$GITHUB_TOKEN" }
},
"database": {
"command": "node",
"args": ["./servers/db-mcp/index.js"],
"env": { "DATABASE_URL": "$DATABASE_URL" }
},
"slack": {
"command": "node",
"args": ["./servers/slack-mcp/index.js"],
"env": { "SLACK_BOT_TOKEN": "$SLACK_BOT_TOKEN" }
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem",
"/path/to/project"],
},
"n8n": {
"type": "http",
"url": "https://n8n-mcp.example.com/mcp",
"headers": { "x-api-key": "$N8N_API_KEY" }
}
}
}
註冊之後,Claude Code 會自動發現所有 Server 嘅 Tools/Resources/Prompts,然後根據你嘅自然語言指令選擇合適嘅 Server。你唔需要手動指定用邊個 — AI 會自己判斷。
Part 3:Cross-Tool Workflow 實戰
Workflow 1:Bug Report → Fix → Deploy(跨 4 個 Server)
User: "有個 bug:login page 喺 mobile 爆 layout,
幫我 create issue、fix、然後通知 team"
Claude Code orchestrates:
┌─► GitHub MCP: create_issue("Fix login mobile layout")
│ → returns: Issue #128 created
├─► File MCP: read src/components/Login.jsx
│ → AI 分析 code,發現 flex 冇 responsive breakpoint
├─► File MCP: write updated Login.jsx with fix
├─► GitHub MCP: create_pr(head: "fix/mobile-login",
│ title: "Fix #128: Add responsive breakpoints to Login")
│ → returns: PR #129 created
└─► Slack MCP: send_message(#dev-team,
"✅ PR #129 ready for review — fixes mobile login")
Workflow 2:每週自動化 Report(跨 3 個 Server)
User: "Generate weekly dev report for this repo"
Claude Code orchestrates:
├─► GitHub MCP: list_issues(state: "closed", since: "7 days")
│ → returns: 12 closed issues
├─► GitHub MCP: list_prs(state: "merged", since: "7 days")
│ → returns: 5 merged PRs
├─► AI 分析數據,生成 structured report
├─► File MCP: write docs/weekly-report-2026-05-13.md
└─► Slack MCP: send_message(#engineering,
"Weekly report ready: docs/weekly-report-2026-05-13.md")
Part 4:Orchestration 最佳實踐
1. Server Naming Convention
用清晰嘅 server name 令 AI 可以準確判斷:`github` 好過 `server1`、`database-prod` 好過 `db`。AI 會用 server name 嚟理解每個 server 嘅用途。
2. Tool Description 要精準
當有多個 Server 提供類似功能時,精準嘅 tool description 尤其重要。例如 GitHub MCP 同 GitLab MCP 都有 `create_issue` — description 要清楚寫明係「Create an issue on GitHub」。
3. 避免 Tool Name Conflict
唔同 Server 嘅 tool name 唔應該撞名。如果用 prefix naming(e.g. `github_create_issue`、`jira_create_issue`),AI 嘅選擇會更加準確。
4. 善用 Environment Variables
API keys、tokens、URLs 一律放 environment variables,唔好 hardcode 入 config。呢個係 security best practice。
5. 按需啟用 Server
唔係全部 Server 都要 24/7 註冊。如果你呢個星期只係需要改 frontend,可以暫時 disable Database MCP。越少 Server → AI 選擇越精準。
Part 5:Debugging Multi-MCP Issues
常見問題同解決方案
- AI 揀錯 Server → 檢查 tool description 係咪夠 specific。加多啲 context 俾 AI 判斷。
- Server Crash 影響其他 Server → 每個 MCP Server 獨立 process,一個 crash 唔影響其他。AI 會收到 error 然後嘗試 fallback。
- 速率限制(Rate Limit) → GitHub API 有 rate limit,過量 call 會被 block。喺 GitHub MCP Server 加 rate limiting + caching。
- 認證問題 → 確保每個 Server 嘅 environment variables 都設定正確。用 `claude mcp list` 檢查連接狀態。
總結:由 Tool User 到 System Orchestrator
掌握 Multi-MCP Orchestration 之後,你嘅角色由「寫 code 嘅人」升級為「設計自動化系統嘅架構師」。你定義每個 MCP Server 做咩、AI Orchestrator 決定點樣組合佢哋 — 就好似一個指揮家,唔需要自己演奏每種樂器,但知道點樣令成個樂團奏出完美嘅樂章。
Written by Eric Cheung · Learn One AI Thing Every Day · Day 5: Multi-MCP Orchestration