將 MCP 伺服器在 Azure Functions 上連接到 Foundry Agent Service 代理

本文將說明如何將Model Context Protocol(MCP)伺服器連接Azure Functions Microsoft Foundry Agent Service。 完成本指南後,您的代理可以發現並調用由 MCP 伺服器暴露的工具。

本文將遵循以下基本流程,從 Foundry Agent Service 設定 MCP 伺服器連線:

  • 在 Azure 中建立並部署 MCP 伺服器到你的函式應用。
  • 取得 MCP 伺服器端點的網址。
  • 取得認證憑證(如需)。
  • 關閉基於金鑰的認證(當不需要時)。
  • 為現有代理新增 MCP 伺服器工具連線。

先決條件

在開始之前,請確保你已經準備好以下資源:

檢視連接選項

下表總結了目前支援的 Foundry Agent Service 中,驗證您的代理連接至 MCP 伺服器的選項:

方法 Description 用例 額外設定 支援的功能
基於鍵 (預設) 代理透過在請求標頭中傳遞共享 函式存取金鑰 來進行認證。 此方法是函式中 HTTP 端點的預設認證方式。 在開發期間或當 MCP 伺服器不需要 Microsoft Entra 認證時使用。 None Yes
Microsoft Entra 代理會使用自身身份(代理身份)或 Foundry 專案的共享身份(專案管理身份)來驗證。 在生產環境中使用 Agent 識別,但在開發環境中限制共用識別。 啟用內建的 MCP 認證,同時也禁用基於金鑰的驗證。 專案管理(共享)身份
OAuth 身分傳遞 代理會提示使用者登入並授權存取,並使用提供的憑證進行認證。 在每個使用者必須用自己的身份進行驗證,且使用者上下文必須被持續儲存時,使用於生產環境。 啟用內建的 MCP 認證,同時也禁用基於金鑰的驗證。 Yes
未經認證的存取 客服人員打未經認證的電話。 在開發期間或 MCP 伺服器僅存取公開資訊時使用。 關閉基於金鑰的驗證。 Yes

欲了解更多 Foundry Agent Service 支援的 MCP 伺服器認證選項,請參閱 「為 MCP 工具設定認證」。

取得遠端 MCP 伺服器端點

在你能將代理程式連接到 Functions 託管的 MCP 伺服器之前,必須取得該服務的端點 URL。 具體的網址格式取決於你如何建立和部署你的 MCP 伺服器:

https://<FUNCTION_APP_NAME>.azurewebsites.net/runtime/webhooks/mcp

更多資訊請參閱Azure Functions中的 Remote MCP servers。

取得認證

你的代理需要用來連接 MCP 伺服器的憑證,取決於你打算如何保護連線。 選擇標示你連線認證選項的標籤。

當你使用存取金鑰連接 MCP 伺服器端點時,你使用共享的秘密金鑰,讓隨機代理更難連接到你的伺服器。

這很重要

雖然存取金鑰預設能幫助防止不想要的端點存取,但可考慮使用 Microsoft Entra ID 或 OAuth 身份驗證,以加強生產環境中 MCP 伺服器端點的安全性。

你需要的存取金鑰名稱會依據你的 MCP 伺服器部署而定:

MCP 伺服器類型 機碼名稱 鍵類型
基於 MCP 擴充的伺服器 mcp_extension 系統金鑰
自架 MCP 伺服器 default 主機金鑰

要從 Azure 入口網站取得金鑰:

  1. 前往 Azure 入口網站中的函式應用程式資源。
  2. 在左側選單中展開 功能 下拉選單。
  3. 選擇 應用程式金鑰。
  4. 根據你的 MCP 伺服器類型,複製 mcp_extension 金鑰(位於 系統金鑰)或 default 金鑰(位於 主機金鑰)。

更多資訊請參閱 Work with access keys in Azure Functions。

新增你的 MCP 伺服器

建立與 MCP 伺服器的代理連線的過程取決於你具體的端點認證選項。

當你使用基於金鑰的驗證時,代理程式會透過在請求標頭中傳遞一個功能存取金鑰給你的 MCP 伺服器來進行認證。

要連接你的 MCP 伺服器端點:

  1. 前往鑄造廠入口(新鑄造廠)。

  2. 選擇頁面頂端的 「建置 」標籤,選擇一個代理程式連接到你的 MCP 伺服器。

  3. 在 Playground 分頁,展開 工具 下拉選單,選擇 新增。

  4. 在「選擇工具」的自訂標籤中,選擇「模型情境協定(MCP)>Create」。

  5. 在 新增模型上下文協定工具中,提供此表中的資訊以配置基於存取金鑰的連線:

    領域 Description Example
    名稱 你的 MCP 伺服器的一個唯一識別碼。 預設使用你的函式應用程式名稱。 contoso-mcp-tools
    遠端 MCP 伺服器端點 你 MCP 伺服器的 URL 端點。 https://contoso-mcp-tools.azurewebsites.net/runtime/webhooks/mcp
    驗證 要使用的驗證方法。 Key-based
    Credential 用來與你的函式應用程式進行驗證的鍵值對。 x-functions-key: aaaaaaaa-0b0b-1c1c-2d2d-333333333333
  6. 選擇 連接 以建立連接到你的 MCP 伺服器端點。 你會在 工具裡看到你的伺服器名稱。

  7. 選擇 儲存 以儲存 MCP 工具設定在你的代理程式中。

測試你的 MCP 工具

在將 MCP 伺服器連接到代理程式後,確認工具是否正常運作。

  1. 在 Agent Builder 裡,找到 Playground 下的聊天視窗。
  2. 輸入一個觸發你MCP工具的提示。 舉例來說,如果你的 MCP 伺服器有問候工具,可以試試看: Use the greeting tool to say hello
  3. 如果你使用 OAuth 身份直通,請選擇 開放同意 並用你的 Entra 帳號登入。
  4. 當代理程式要求呼叫 MCP 工具時,請檢視工具名稱與參數,並選擇 Approve 以允許呼叫。
  5. 確認工具回傳的結果是預期的。

你的代理現在可以使用你在 Azure Functions 上託管的 MCP 伺服器所暴露的工具。

以下額外文章能幫助你建立代理與功能應用程式的能力: