Model Context Protocol 總覽
本文將概略說明 API Gateway 中的 Model Context Protocol (MCP) 支援。
API Gateway 可做為遠端 MCP 伺服器,讓您向 AI 代理程式和 LLM 公開現有的 REST API,不必重寫後端服務。
背景
Model Context Protocol (MCP) 是一項開放標準,可讓您直接根據現有基礎架構建構 AI 代理。不必為每個工具或 API 編寫自訂整合程式碼,MCP 提供標準做法,讓 AI 模型探索及叫用您環境中的功能。
設定為 MCP 伺服器時,API Gateway 會做為 Proxy。這項服務會將從代理系統傳送的標準 MCP JSON-RPC 通訊協定訊息,轉譯為傳送至現有後端的標準 HTTP REST 要求。
支援功能
在公開測試期間,API Gateway 支援下列 MCP 功能:
- 遠端 MCP 伺服器:API Gateway 會做為遠端伺服器,透過 HTTP (POST) 接收 MCP 要求。
- 整合 OpenAPI 3.x:MCP 設定會使用自訂擴充功能,直接從 OpenAPI 3.x 規格衍生而來。
- 支援的 MCP 生命週期方法:
initialize:建立通訊協定版本和功能。notifications/initialized:確認交握。tools/list:讓用戶探索可用的工具及其結構定義。tools/call:允許用戶使用引數叫用工具。
限制
API Gateway 的 MCP 支援功能有下列限制:
- 不支援「資源」(
resources/*) 和「提示」(prompts/*)。 - 不支援 Stdio 傳輸。
- 不支援 OpenAPI 2.0。
- 系統不支援串流或長時間執行的工具呼叫。
- 模型路徑互斥:您無法在同一個 API 設定中同時啟用 MCP 和模型路徑。如果啟用「
x-google-api-management.mcp」,就無法使用「x-google-model-router」。
如需技術限制的完整清單,請參閱「OpenAPI 3.x 功能限制」。
用途
- 將現有 REST API 公開為 MCP 工具:將現有 API 轉換為 AI 就緒工具,不必變更後端程式碼。
- 為每個作業選取工具:明確選擇要向代理程式公開的 API 路徑和方法。
- 保護工具介面:對 MCP 端點套用現有的 API Gateway 安全性政策 (例如 API 金鑰或 OAuth)。
要求流程
MCP 要求的標準路徑為 <basepath>/mcp,其中 <basepath> 是從閘道的 URL 或 x-google-endpoint 設定衍生而來。
下圖顯示 MCP tools/call 要求的流程:
- MCP 用戶端 (例如 AI 代理) 會將 JSON-RPC 要求傳送至閘道的 MCP 端點 (例如
POST /mcp或POST /v1/mcp,如果使用版本前置字元)。 - 閘道會驗證要求並檢查驗證。
- 閘道會檢查酬載,判斷要呼叫哪個工具。
- 閘道會根據 API 設定中定義的對應,將 MCP 酬載轉換為標準 HTTP 要求 (路徑、參數、主體)。
- 閘道會將要求轉送至後端服務。
- 後端會傳回標準 HTTP 回應。
- 閘道會將 HTTP 回應轉換回 MCP JSON-RPC 回應,並傳回給用戶端。
透過 API Hub 和 Agent Registry 探索
如果將閘道與 API 中心整合,系統會將啟用 MCP 的閘道發布至 API 中心,做為 MCP 伺服器,並提供額外的 MCP 專屬中繼資料,也會自動顯示在 Agent Registry 中。
如果閘道未啟用 MCP,則會發布標準 API 中繼資料。只有啟用 MCP 的閘道,才會在 API 中心顯示這些額外的 MCP 設定。
無須另外註冊。然後,代理程式可以透過任一目錄探索伺服器及其工具。
如要查詢 Agent Registry,請在專案中啟用其 API:
gcloud services enable agentregistry.googleapis.com