適用於:開發人員 |基本 |基本 v2 |標準 |標準 v2 |Premium |進階 v2
本文介紹 Azure API 管理中可用來管理模型內容通訊協定 (MCP) 伺服器的功能。 MCP 伺服器允許大型語言模型 (LLM) 和 AI 代理程式透過標準化通訊協定存取外部數據來源,例如資料庫或 API。
隨著 AI 代理與大型語言模型(LLM)的普及,管理 MCP 伺服器變得越來越重要:
- 代理人需要安全且受規範的工具與資源存取權。
- 開發者希望將現有 API 重用為代理工具。
- 企業需要可觀察性、控制力與擴展性。
使用 API 管理,針對 GITHub Copilot、ChatGPT、Claude 等 LLM 和 AI 代理程式安全地公開及控管 MCP 伺服器及其後端。 API 管理提供 MCP 伺服器驗證、授權和監視的集中式控制。 它可簡化 MCP 伺服器的管理,同時協助降低常見的安全性風險,並確保可檢視性、控制和延展性。
MCP 概念和架構
AI 代理程式正因為增強的 LLM 功能而廣為採用。 不過,即使是最進階的模型,也會因為與外部數據隔離而面臨限制。 每個新的數據源都可能需要自定義實作來擷取、準備及讓數據可供模型存取。
模型情境協定(Model Context Protocol)有助於解決這個問題。 MCP 是一個開放標準,可連接 AI 模型和代理程式與外部數據源,例如本機數據源(資料庫或計算機檔案)或遠端服務(因特網上可用的系統,例如遠端資料庫或 API)。
MCP 遵循用戶端伺服器架構,其中主應用程式可以連線到多部伺服器。 每當 MCP 主機或用戶端需要工具時,它就會連線到 MCP 伺服器。 MCP 伺服器接著會連線到資料庫或 API。 MCP 主機和伺服器會透過 MCP 通訊協定彼此連線。
下圖說明 MCP 架構:
此架構由下列元件組成:
| 元件 | 說明 |
|---|---|
| MCP 主機 | 需要存取外部功能的 LLM 應用程式,例如 IDE 中的聊天應用程式或 AI 助理(例如 Visual Studio Code 中的 GitHub Copilot) |
| MCP 用戶端 | 主機應用程式內的通訊協定用戶端,可維護與伺服器的 1:1 連線 |
| MCP 伺服器 | 每個公開特定功能的輕量型程式,並提供內容、工具和提示給用戶端 |
| MCP 通訊協定 | 中間的傳輸層 |
MCP 架構是以 JSON-RPC 2.0 為基礎來建置的。 用戶端與伺服器之間的通訊會透過定義的傳輸層進行,且主要支援兩種作業模式:
遠端 MCP 伺服器 - 使用 HTTP 型傳輸(例如可串流 HTTP)透過因特網存取的獨立進程執行,讓 MCP 用戶端能夠連線到裝載於任何地方的外部服務和 API。
本機 MCP 伺服器 MCP 用戶端會使用標準輸入/輸出作為本機傳輸方法,以連線到相同電腦上的 MCP 伺服器。
MCP 伺服器端點
MCP 提供下列遠端伺服器的傳輸類型和一般端點:
| 傳輸類型 | 端點 | 註釋 |
|---|---|---|
| 可串流 HTTP 协议 | /mcp |
取代 HTTP + SSE 傳輸 |
| SSE(伺服器推送事件) |
/sse - 用來建立 SSE 連線/messages - 用於 MCP 用戶端與伺服器之間的雙向傳訊 |
已棄用自通訊協定版本 2024-11-05 |
在 API 管理中公開 MCP 伺服器
Azure API Management 支援遠端 MCP 伺服器模式。 利用 API 管理的原生功能及 AI 閘道的功能 來管理 MCP 伺服器端點。
API Management 提供兩種內建方式來暴露 MCP 伺服器:
| 來源 | 說明 |
|---|---|
| REST API 作為 MCP 伺服器 | 將 API 管理中管理的任何 REST API 公開為 MCP 伺服器,包括從 Azure 資源匯入的 REST API。 API 作業會變成 MCP 工具。 瞭解更多資訊 |
| 現有的 MCP 伺服器 | 透過 API 管理公開 MCP 相容的伺服器(例如 LangChain、LangServe、Azure 邏輯應用程式、Azure 函式應用程式)。 瞭解更多資訊 |
請參閱連結文章,了解逐步說明與限制。
控管MCP伺服器
設定一或多個 API 管理 原則 ,以協助管理 MCP 伺服器。 目前,政策適用於所有在 MCP 伺服器中作為工具所暴露的 API 操作。 使用政策來控制存取、認證及工具的其他面向。
設定原則,例如:
- 速率限制和配額強制執行 - 將每個時段的要求數目限制為 MCP 伺服器的工具,並設定客戶端或訂用帳戶的使用量配額。
- 認證與授權 - 透過使用 Microsoft Entra ID 或其他身份提供者發行的 JSON 網頁憑證(JWT)來要求並驗證來函請求,以確保安全存取。
- IP 篩選 - 根據用戶端 IP 位址限制對 MCP 伺服器工具的存取。
- 快取 - 快取 MCP 伺服器工具的回應,以改善效能並減少後端負載。
保護 MCP 伺服器的存取
您可以保護 MCP 伺服器的輸入存取權(從 MCP 用戶端到 API 管理)和輸出存取(從 API 管理到 MCP 伺服器後端)。 根據後端及組織安全狀況,應用一項或多項安全措施,例如基於金鑰或 OAuth 認證。
如需詳細資訊和範例,請參閱 保護 MCP 伺服器的存取。
監測
在 Azure API Management 中監控 MCP 伺服器時,請使用 API Management 的內建整合與 Azure Monitor 來監察閘道器活動。
- 設定 Azure Application Insights 或 Azure 監視器來擷取 MCP 伺服器要求、回應和詳細診斷。
- 在要求標頭中包含相互關聯標識碼,以追蹤跨多個系統和元件的要求。
- 設定 MCP 伺服器的 追蹤 原則,以將自定義追蹤新增至測試控制台、Application Insights 遙測或資源記錄中的要求追蹤輸出。
如需詳細資訊,請參閱 監視 API 管理。
探索 MCP 伺服器
使用 Azure API 中心 來註冊及探索組織中的 MCP 伺服器。
Azure API 中心提供集中式位置來管理 MCP 伺服器,包括 API 管理中公開的伺服器,以及裝載於 API 管理外部的伺服器。
部署 API 中心入口網站 ,讓使用者透過私人、企業就緒的 MCP 伺服器登錄來探索 MCP 伺服器並與其互動。
可用性
MCP 伺服器管理功能可在以下 API 管理服務層級中取得:
- 經典等級:開發者、基礎、標準、高級
- v2 層:基本 v2、標準 v2、進階 v2
你也可以使用 API Management 自架閘道 來管理你自己基礎設施中的 MCP 伺服器。
備註
- API Management 目前支援 MCP 伺服器工具,但不支援 MCP 資源或提示。
- 目前 工作空間不支援 API 管理 MCP 伺服器功能。
你可以透過 AI Gateway 發佈頻道,搶先取得新的 MCP 伺服器與 AI 閘道功能與能力。 此存取權可讓您在最新的 AI 閘道創新正式推出之前試用它們,並提供意見反應以協助塑造產品。 如需詳細資訊,請參閱設定 APIM 執行個體的服務更新設定 (部分內容可能是機器或 AI 翻譯)。
相關內容
請流覽 https://mcp.azure.com 使用 Azure API 中心所建立 MCP 伺服器登錄的即時範例。