FastMCP:MCP 聚合閘道
FastMCP 是一個以「聚合」為核心的「MCP(Model Context Protocol)」閘道器。它介於 AI 應用與多個後端服務之間,將分散的 MCP 伺服器收攏成單一入口,讓客戶端只需對接一個端點,即可呼叫來自不同來源的能力。不同於一般 MCP Server 只提供單一領域工具,FastMCP 專注於閘道層級,負責路由、轉換、權限控管與生命週期管理。
架構
FastMCP 分為三層:接入層、聚合層、後端層。接入層對外提供標準 MCP Endpoint,支援 Streamable HTTP 與 stdio 傳輸;聚合層是核心,包含工具暫存器、路由表、設定載入器與協定轉換器;後端層則連接各 MCP Server/Service,透過 Client 連線管理器維持長連線。當用戶端發送 tools/list 或 tools/call,聚合層會合併多個後端的工具清單,並以命名空間前綴避免衝突,例如 weather_* 與 finance_*。
收編新服務為 Tool
收編新服務為 Tool 的流程,本質上是「宣告—掛載—暴露」三步驟。首先,新服務需實作或包裝成 MCP Server,並在工具定義中給定 name、description、inputSchema。接著,在 FastMCP 設定檔中新增一個 Server 條目,指定傳輸方式、URL/命令、認證資訊,以及工具允許或改名規則。FastMCP 啟動時會以 MCP Client 角色連到該服務,執行 initialize、tools/list 握手,將回傳的工具註冊進工具暫存器。註冊完成後,該服務的工具便自動出現在聚合閘道的 tools/list 回應中;呼叫時,FastMCP 依路由表把請求轉送到原始服務,並將結果標準化回傳。因此「收編」不須改寫服務邏輯,只要符合 MCP 協定即可。
配置
FastMCP 使用 YAML 或 JSON 作為主要設定格式。典型片段如下:
servers:
weather:
transport: sse
url: https://weather.internal/mcp
headers:
Authorization: Bearer ${WEATHER_TOKEN}
tools:
- get_forecast上述設定表示將遠端 Weather 服務納入閘道,並僅開放 get_forecast 工具。其他進階選項包括 timeout、retry、rate limit,以及動態掛載(透過管理 API 於執行期加入 Server)。配置熱載入可減少重啟,適合微服務擴展。
Wikilinks
FastMCP 支援「維基式內部連結」Wikilinks,在工具描述或回應註解中使用 服務名/工具名 語法,讓查詢工具清單時可直接跳轉至相關文件或相依服務。例如 get_forecast 的說明可標註「依賴 weather/auth 驗證」。這些 Wikilinks 會被聚合層解析,形成工具間的可導覽知識圖,方便開發者與 AI Agent 探索脈絡。
總結
FastMCP 作為 MCP 聚合閘道,簡化了多服務整合的複雜度:透過標準協定與設定驅動,新服務能以「可插拔」方式快速成為 Tool;Wikilinks 則提供語意層的連結能力,使其成為 MCP 生態中重要的基礎設施。
來源
自動生成(2026-08-19 容器覆蓋率補完)