從標準工作流程建立遠端模型情境協定(MCP)伺服器(預覽版)

適用於:Azure Logic Apps (標準)

備註

此預覽功能受 Microsoft Azure 預覽版補充使用條款約束。

大型語言模型(LLM)與 AI 代理合作,透過呼叫預先建構 的工具 來完成任務,例如發送電子郵件、查詢資料庫或觸發工作流程。 在 Azure Logic Apps 中,你可以透過設置一個或多個 遠端 模型情境協定(MCP)伺服器,來建立標準邏輯應用程式以開發這些工具。 這種配置讓你能將工作流程暴露為可供大型語言模型(LLM)、AI 代理和 MCP 客戶端使用的工具,用來與企業資源和資產互動。 在此語境下, 遠端 指的是 MCP 伺服器運行於 AI 代理介面所處環境之外。

在本指南中,您會:

  • 設置一個標準邏輯應用程式資源,配備一台或多台 MCP 伺服器。
  • 用 Easy Auth 設定認證並產生 API 金鑰。
  • 選擇或建立工作流程作為 MCP 工具。
  • 用 Visual Studio Code 中的 MCP 客戶端測試你的 MCP 伺服器。

為什麼要把標準邏輯應用程式設成 MCP 伺服器

MCP 是一種開放標準,可讓 LLM、AI 代理程式及 MCP 用戶端以安全、可探索的結構化方式使用外部系統和工具。 此標準定義如何描述、執行及驗證對工具的存取,以便代理程式可以和現實世界的系統 (例如資料庫、API 與業務工作流程) 進行互動。 將 MCP 伺服器視為 LLM、AI 代理程式或 MCP 用戶端及使用工具之間的橋樑。

例如,假設您的標準邏輯應用程式型 MCP 伺服器是以 Azure 執行。 在您的本機電腦上,Visual Studio Code 有一個 MJCP 用戶端,您用它來與 MCP 伺服器進行遠端連結。 此案例與您電腦上執行的本機 MCP 伺服器不同。

下圖顯示這些元件如何互動:

此圖顯示代理程式或模型與 MCP 用戶端和 MCP 伺服器元件的互動。

圖示顯示了這些關鍵互動:

  • MCP 用戶端 + MCP 伺服器:你的 MCP 用戶端連接到 MCP 伺服器,MCP 伺服器提供邏輯應用程式工作流程作為工具。

  • MCP 客戶端 + 代理或模型:你的 MCP 客戶端與代理或模型溝通以協調工具呼叫。

  • 輸入:使用者輸入會透過 MCP 用戶端流向代理人或模型。

  • 輸出:來自代理或模型的回應會透過 MCP 用戶端回傳。

當你將多個 MCP 伺服器邏輯地分組在同一個標準邏輯應用中時,這種方法提供了一種更具擴展性、組織性且彈性的方式,將工作流程暴露為工具。 每個 MCP 伺服器都作為獨立的工作流程群組運作,您的 MCP 用戶端可以單獨發現並呼叫。

如需詳細資訊,請參閱:

下表說明將標準邏輯應用程式設置為遠端 MCP 伺服器的好處:

優點 Description
重複使用性 從 AI 代理程式呼叫現有的工作流程、連接器和程式碼編寫函數,為您提供額外的投資報酬。
靈活性 從超過 1,400 個連接器中選擇,這些連接器提供存取和操作功能,讓您能在雲端或本地系統中與企業資產和資源進行互動。
存取點 Azure Logic Apps 支援不同的連線模型來執行 MCP 伺服器。 您可以在雲端執行伺服器、將伺服器公開為私人端點,或連接至虛擬網路和內部部署資源。
安全性 當您公開邏輯應用程式作為 MCP 伺服器時,請設定強式安全性態勢,以便符合企業安全性需求。 根據預設,MCP 端點會使用 OAuth 2.0 進行驗證和授權。 如需詳細資訊,請參閱什麼是 OAuth

重要提示:要使用 OAuth 認證,必須設定 Easy Auth 以保護你的 MCP 伺服器和標準工作流程。 Easy Auth 是 Azure App Service、Azure Functions 和 Azure Container Apps 的原生認證與授權功能。 要為你的 MCP 伺服器設定 Easy Auth,請參考本指南後面的「 為你的 MCP 伺服器設定 Easy Auth 」。 如需詳細資訊,請參閱 Azure App Service 和 Azure Functions 中的驗證和授權
監視、治理和合規性 Azure Logic Apps 提供工作流程執行歷程記錄,並與 Application Insights 或 Log Analytics 整合,讓您可以取得必要資料來管理和監視 MCP 伺服器工具,以及支援診斷、疑難排解、報告、追蹤和稽核。
延展性 在單一邏輯應用程式中架設多個邏輯 MCP 伺服器。 每個邏輯 MCP 伺服器群組包含相關的工作流程。
MCP 的可串流 HTTP 和伺服器發送事件(SSE)傳輸 標準邏輯應用型 MCP 伺服器支援 SSE。

先決條件

工作流程作為工具的考量

建置要用作 MCP 工具的工作流程時,請查閱這些考量和最佳作法:

若要協助代理程式或模型尋找及執行工具,請將下列中繼資料新增到 [要求] 觸發程序並要求承載。 此中繼資料可改善使用工具時的代理程式可靠性與正確性。

本節的步驟使用 Azure 入口網站,但你也可以使用 Visual Studio Code。

觸發程序描述

您的 MCP 伺服器使用此中繼資料作為工具描述以顯示使用者,以及將要求路由傳送至正確的工具,例如:

此螢幕擷取畫面顯示含有描述方塊和範例描述的觸發程序資訊窗格。

若要新增此描述,請遵循下列步驟:

  1. Azure 入口網站中,開啟標準邏輯應用程式資源和工作流程。

  2. 在工作流程側邊欄中,選取 [工具] 下方的設計工具以開啟工作流程。

  3. 在設計工具中,選取 [要求] 觸發程序。

  4. 在觸發程序資訊窗格的觸發程序名稱下方,描述觸發程序和工作流程的用途。

輸入參數描述

此中繼資料可提高代理程式在執行階段將正確輸入傳遞至工具的準確性,例如:

此螢幕擷取畫面顯示觸發程序資訊窗格,其中包含要求本文 Json 結構描述方塊以及輸入參數的範例描述。

若要新增每個輸入參數的描述,請遵循下列步驟:

  1. Azure 入口網站中,開啟標準邏輯應用程式資源和工作流程。

  2. 在工作流程側邊欄中,選取 [工具] 下方的設計工具以開啟工作流程。

    備註

    您也可以使用程式碼檢視來新增此資訊。

  3. 在設計工具中,選取 [要求] 觸發程序。

  4. 在觸發程序資訊窗格的 [要求本文 JSON 結構描述]下方,輸入預期的要求內容承載結構描述。

    • 針對每個輸入參數,新增 description 屬性和對應的描述。

    • 如果您的工具需要特定參數才能執行,請新增 required 物件以及含有這些參數的陣列,以納入這些參數作為必要參數。

    下列範例顯示範例輸入參數、描述和必要參數:

    {
        "type": "object",
        "properties": {
            "TicketNumber": {
                "type": "string",
                "description": "The ticket number for the IT issue."
            },
            "OpenedBy_FirstName": {
                "type": "string",
                "description": "The first name for the person who reported the issue."
            },
            "OpenedBy_LastName": {
                "type": "string",
                "description": "The last name for the person who reported the issue."
            },
              "Notes": {
                "type": "string",
                "description": "Other information to include in the ticket about the issue."
            }
        },
        "required": [
            "TicketNumber",
            "OpenedBy_FirstName",
            "OpenedBy_LastName",
            "Notes"
        ]
    }
    
  • 如果您在代理程式呼叫及執行工具時收到不一致的結果,請檢查是否可以提供更獨特的觸發程序與參數描述。

    例如,嘗試描述參數輸入的格式。

  • 如果參數需要 base64 編碼字串,請在參數描述中納入此詳細資料。

  • 你可以設定錯誤處理,並利用該 runAfter 屬性將適當的錯誤訊息回傳給呼叫者。 如需詳細資訊,請參閱管理「執行之後」行為

建立應用程式註冊

若要為邏輯應用程式建立用於簡單驗證設定的應用程式註冊,請遵循下列步驟:

  1. Azure 入口網站的搜尋方塊中,輸入應用程式註冊

  2. 從 [應用程式註冊] 頁面上,選取 [新增註冊]

  3. 在 [註冊應用程式] 頁面上,提供下列資訊:

    房產 為必填項目 Description
    名稱 Yes 應用程式註冊的名稱。
    支援的帳戶類型 Yes 可以使用或存取邏輯應用程式的帳戶。
    重新導向 URI 跳過本節。
  4. 完成後,請選取 [註冊]

  5. 在應用程式註冊頁面上,複製並儲存應用程式 (用戶端) 識別碼以用於設定簡單驗證。

  6. 在應用程式註冊側邊欄的 [管理] 下方,選取 [公開 API]

  7. 選取 [應用程式識別碼 URI] 旁邊的 [新增]。 保留預設值。 複製並儲存此值,以便日後用來覆寫預設值,然後選取 [儲存]

  8. 在 [此 API 定義的範圍] 下方,選取 [新增範圍],為應用程式的使用者提供細微權限。

    1. 在 [新增範圍] 窗格中,提供下列資訊:

      房產 為必填項目 Description
      範圍名稱 Yes 權限範圍的相關名稱。 建議您使用名稱 user_impersonation,這是 MCP 伺服器內容中 Azure Logic Apps 保護資源資料中預設的支援範圍。

      如果您使用不同的範圍,則必須覆寫邏輯應用程式組態檔 (host.json) 中的預設範圍,並使用下列格式:

      <resource>.<operation>.<constraint>

      如需詳細資訊,請參閱 Microsoft 身分識別平台中的範圍和權限
      誰可以同意 Yes 使用者是否也可以同意此範圍,或是否只有系統管理員可以同意。 使用 [僅限系統管理員] 以要求較高權限。 根據您組織的原則,選取最符合您原則的選項。 此範例會選取 [管理員和使用者]
      管理員同意顯示名稱 Yes 只有管理員會看到範圍用途的簡短描述。
      管理員同意描述 Yes 只有管理員會看到範圍所授與權限的詳細描述。
      使用者同意顯示名稱 範圍用途的簡短描述。 只有當您將 [可同意的人員] 設定為 [管理員和使用者]時,才會向使用者顯示。 如果相關,請提供此資訊。
      使用者同意描述 範圍所授與權限的詳細描述。 只有當您將 [可同意的人員] 設定為 [管理員和使用者] 時,才會向使用者顯示。 如果相關,請提供此資訊。
      Yes 啟用還是停用範圍。 請務必選取 [啟用]

      如需詳細資訊,請參閱 新增範圍

    2. 完成時,請選取 [新增範圍]

如需詳細資訊,請參閱 在 Microsoft Entra ID 中註冊應用程式

完成這些步驟後,您就會取得下列值,稍後可以與邏輯應用程式一起使用:

  • 目錄 (租用戶) 識別碼
  • 應用程式 (用戶端) 識別碼
  • 應用程式識別碼 URI

設定 MCP 伺服器的簡單驗證

在你想用來當作 MCP 伺服器的 Standard Logic 應用程式上設定 Easy Auth 認證。

  1. Azure 入口網站中,開啟您的標準邏輯應用程式資源。

  2. 在資源側邊欄的 [設定] 下方,選取 [驗證]

  3. 在 [驗證] 頁面上,選取 [新增身分識別提供者]

  4. 在 [新增識別提供者] 頁面的 [基本] 索引標籤中,針對 [識別提供者] 選擇 [Microsoft]

  5. 在 [應用程式註冊] 區段中,提供下列資訊:

    房產 為必填項目 Description
    應用程式 (用戶端) 識別碼 Yes 應用程式 (用戶端) 識別碼,取自於您先前建立的應用程式註冊。
    簽發者 URL Yes 將下列 URL 中的 <tenant-ID> 更換為您目錄 (租用戶) 的 GUID:

    https://login.microsoftonline.com/<tenant-ID>/v2.0
    允許的權杖對象 Yes 應用程式識別碼 URI,取自於您之前建立的應用程式註冊,格式如下:

    api://<application-ID-URI>/

    重要事項:請務必在 URI 結尾包含後置斜線,例如:

    api://aaaabbbb-0000-cccc-1111-dddd2222eeee/
  6. 在 [其他檢查] 區段中,選取下列選項或提供資訊以進一步控制驗證和存取:

    房產 為必填項目 Description
    用戶端應用程式需求 Yes 選擇選項:

    - 僅允許來自此應用程式本身的要求:不適用於 MCP 伺服器。

    - 允許特定用戶端應用程式的請求:如果您知道哪些用戶端應用程式呼叫您的 MCP 伺服器,請從 允許的用戶端應用程式 清單中選擇這些應用程式。 例如,如果您使用 Visual Studio Code,則可以編輯 [允許的用戶端應用程式] 清單來新增此用戶端應用程式的識別碼。 若要尋找此值,請遵循下列步驟:

    1. 在 Azure 入口網站搜尋方塊中,尋找並選取 [企業應用程式]
    2. 在 [所有應用程式] 頁面的搜尋方塊中,尋找並選取 Visual Studio Code 的應用程式識別碼。

    - 允許來自任何應用程式的要求 (不建議使用):只有當您不確定哪些應用程式呼叫您的 MCP 伺服器時使用。
    身分識別需求 Yes 若要限制哪些使用者可以呼叫您的 MCP 伺服器,請選取 [允許來自特定身分識別的要求],然後從 Microsoft Entra ID 的 [允許的身分識別] 清單中,針對允許呼叫 MCP 伺服器的身分識別,選擇物件識別碼。 否則,請選取 [允許來自任何身分識別的要求]
    租用戶需求 Yes 若要拒絕從外部租用戶呼叫 MCP 伺服器,請選取 [允許來自簽發者租用戶的要求]
  7. 在 [App Service 驗證設定] 區段中,針對 [限制存取] 選取 [允許未驗證的存取]

    這很重要

    請確定 App Service 驗證 (簡單驗證) 允許未驗證的存取或要求。

  8. 選取 ,然後新增

  9. 繼續在你的 Logic App 裡建立 MCP 伺服器的步驟。

透過工作流程建立 MCP 伺服器

  1. Azure 入口網站中,開啟您的標準邏輯應用程式資源。

  2. 在邏輯應用程式側邊欄,在 代理(Agents)下,選擇 MCP 伺服器 以開啟 MCP 伺服器 頁面,例如:

    截圖顯示 Azure 入口網站、標準邏輯應用資源和 MCP 伺服器頁面。

  3. 選取下列其中一個選項:

    選項 Description
    使用現有的工作流程 當你有一個或多個現有的工作流程可以用來管理你的 MCP 伺服器時。 繼續 選擇現有的工作流程
    建立新的工作流程 當你想為你的 MCP 伺服器建立新的工作流程時, 持續 創造新的工作流程

選擇現有的工作流程

「建立 MCP 伺服器 」面板中,請依照以下步驟操作:

  1. MCP 伺服器細節中,輸入一個僅使用字母和數字的獨特 名稱

    確保這個名稱能輕易辨識你的 MCP 伺服器。

  2. 輸入一份關於你 MCP 伺服器用途的 說明

    這些重要資訊有助於客服人員及其他客戶選擇他們需要的伺服器。

  3. 工作流程中,選擇一個或多個工作流程作為 MCP 伺服器的工具。

    備註

    清單只會顯示以要求觸發程序開頭,且包含具有回應動作之核准的工作流程。

  4. 完成後,請選取 [建立]

建立新的工作流程

  1. 「以 Azure Logic Apps 註冊 MCP 伺服器 」頁面,專案 細節中,輸入以下數值:

    • 一個只使用字母和數字的獨特 MCP 伺服器名稱

      確保這個名稱能輕易辨識你的 MCP 伺服器。

    • 關於你 MCP 伺服器用途的 說明

      這些重要資訊有助於客服人員及其他客戶選擇他們需要的伺服器。

    預設情況下, Logic 應用程式 的值會設定為目前的 Logic 應用程式名稱,且無法編輯。

  2. 工具中,依照以下步驟選擇連接器及建立工作流程的動作。

    你選擇的每個動作都會建立一個工作流程,作為 MCP 伺服器中的一個工具。 這個範例使用 Office 365 Outlook 連接器。 根據你的 Azure 訂閱,你可能需要改用 Outlook.com 連接器。

    1. 連接器 區塊中,選擇 新增

      截圖顯示連接器區塊,並選中新增選項。

    2. 「新增連接器 」面板和 「選擇連接器 」標籤中,找到並選擇要使用的連接器,例如:

      螢幕擷取畫面顯示 [新增連接器] 窗格,其中已選取 Office 365 Outlook 連接器。

    3. 「選擇動作 」標籤中,選擇你想建立的每個動作作為工具,例如:

      螢幕擷取畫面顯示 [新增連接器] 窗格,其中已選取要建立為工具的連接器動作。

    4. 完成後,請選取 [下一步]

    5. 「建立連線 」標籤中,輸入所需連線資訊,或登入驗證你的憑證(如有需要)。

      如果你有想要更改的現有連線,請選擇 新增

    6. 選擇 儲存 以返回 「註冊 MCP 伺服器與 Azure Logic Apps 的頁面」。

    [連接器] 區段現在會顯示您選取的連接器。 [動作] 區段會顯示為 MCP 伺服器提供的工具提供支援的選取動作。 根據預設,這些動作的任何參數都會使用 LLM 作為輸入來源。 您可以根據案例的需求,將此輸入來源變更為由使用者提供。

    截圖顯示了連接器和動作區塊,以及新增的動作作為工具。

  3. 若要協助 Agent 或 LLM 選擇正確的工具,並將正確溯源的輸入傳遞至工具參數,請依照下列步驟檢閱並更新每個工具的設定:

    1. 在 [動作] 區段中,選取該工具的工具名稱或編輯 (鉛筆) 按鈕。

    2. 在 [編輯: <工具名稱>] 窗格中,提供下列資訊:

      區段 Description
      說明 描述動作支援工具的用途,以協助 Agent 或 LLM 決定何時使用該工具。 系統提供預設描述,但您可以視需要自訂該文字。

      預設文字來自連接器的 API Swagger 描述 (英文),例如動作 - Office 365 Outlook (英文)。
      預設參數 列出執行工具所需的任何參數。 針對每個參數,輸入來源選項為 [模型] 與 [使用者]。 根據預設,模型 (LLM) 會提供輸入。 如果您選取 [使用者],則會出現適當的 UX 供您提供輸入來源。 如需詳細資訊,請參閱 瞭解參數值如何在執行階段解析
      選擇性參數 選取您要為工具包括的任何其他參數。

      下列範例顯示傳送電子郵件 (V2) 工具的描述與參數:

      螢幕擷取畫面顯示範例工具的 [編輯] 窗格。

    3. 完成後,選擇 「儲存變更」。

  4. 當您完成檢視或更新每個工具後,請選擇 註冊

  5. 繼續 選擇認證並檢視你的 MCP 伺服器

選擇認證並審查 MCP 伺服器

MCP 伺服器頁面現在顯示了認證伺服器區塊。

區段 Description
驗證 選擇你的 MCP 伺服器所使用的認證。
伺服器 顯示已建立的 MCP 伺服器及伺服器提供作為工具的工作流程。 你也可以編輯、複製網址,或刪除伺服器。
  1. 要選擇 MCP 伺服器的認證,請依照以下步驟操作:

    1. 方法 框旁,選擇 編輯

    2. 選擇驗證方式,然後選擇 儲存

    3. 根據你的選擇,請依照相應步驟操作:

      基於密鑰的

      1. 選擇 產生金鑰 以建立 API 金鑰。

      2. 產生 MCP API 金鑰 面板中,選擇 持續時間

      3. 對於 存取金鑰,請選擇 主金鑰次金鑰 以產生 MCP API 金鑰。

      4. 選擇產生

      5. 金鑰產生後,務必複製並存於安全的地方。 你之後無法取得鑰匙。

      6. 完成後,選擇 關閉

      OAuth

      1. 選擇 「管理認證 」以查看 Logic App 的認證 頁面。

      2. 請依照 MCP 伺服器的「設定簡單認證」步驟操作。

  2. 繼續 測試你的 MCP 伺服器

測試你的 MCP 伺服器

你需要 MCP 伺服器的網址,這樣才能從 Visual Studio Code 發送請求。

  1. 在 Logic App 側邊欄,在代理程式(Agents)下,選擇 MCP 伺服器。

  2. 伺服器下,找到你的 MCP 伺服器,選擇 複製網址

  3. 在 Visual Studio Code 中,從 [檢視] 功能表,選取 [命令選擇區]。 尋找並選取 [MCP: 新增伺服器]

    螢幕擷取畫面顯示 Visual Studio Code、命令選擇區,以及新增 MCP 伺服器的命令。

  4. 選取HTTP(HTTP 或 Server-Sent 事件)。 輸入 伺服器網址時,請輸入你的 MCP 伺服器網址。

  5. 輸入 伺服器 ID 時,請輸入一個有意義的 MCP 伺服器名稱。

    當您第一次新增 MCP 伺服器時,必須選擇要用於儲存 MCP 設定的位置。 您會看到下列選項,因此請選擇最適合您案例的選項:

    • 全域:您的使用者設定,即為可以在所有工作區使用的 c:\users\<your-username>\AppData\Roaming\Code\User 目錄。

    • 工作區:您目前在 Visual Studio Code 中的工作區。

    本指南選擇 全域(Global )來儲存使用者設定中的 MCP 伺服器資訊。 因此,Visual Studio Code 會建立並開啟 mcp.json 檔案,其中會顯示您的 MCP 伺服器資訊。

  6. mcp.json 檔案中,選取 [開始] 或 [重新啟動] 連結以建立 MCP 伺服器的連線,例如:

    OAuth

    截圖顯示 OAuth 的 mcp.json 檔案,並選擇了「開始」連結。

    基於密鑰的

    截圖顯示 mcp.json 基於金鑰的檔案,並選擇了開始連結。

  7. 當驗證提示出現時,請選取 [允許],然後選取要用於驗證的帳戶。

  8. 登入並同意呼叫 MCP 伺服器。

    驗證完成後,mcp.json 檔案會顯示 [執行中] 作為 MCP 伺服器狀態。

    OAuth

    截圖顯示 mcp.json OAuth 檔案,並選擇了「運行狀態」。

    基於密鑰的

    顯示已選取執行中狀態之金鑰型 mcp.json 檔案的螢幕擷取畫面。

  9. 作為測試,請嘗試從 GitHub Copilot 呼叫 MCP 伺服器:

    1. 在 Visual Studio Code 標題列上,開啟 [Copilot] 清單,然後選取 [開啟聊天]

    2. 在聊天輸入框中,從 內建 模式列表中選擇 「代理人」。

    3. 從 [LLM] 清單選取要使用的 LLM。

    4. 若要瀏覽 MCP 伺服器中可用的工具,請選取 [設定工具]

    5. 在工具清單中,視需要選取或清除工具,但請確定已選取新的 MCP 伺服器。

現在,您可以透過 Copilot 聊天介面與 MCP 伺服器互動。

瞭解參數值如何在程序執行時解析

本節說明 MCP 伺服器如何取得動作支援工具的輸入參數值的選項。 您可以將模型保留為預設來源,也可以為所有互動提供硬式編碼的靜態值。

  • 模型提供的輸入

    依預設,模型會根據客服專員與一般使用者之間的交談,在執行階段傳入參數值。 這些值是動態的,在執行階段之前是未知的。

  • 使用者提供的輸入

    您可以在開發期間指定參數值。 這些數值通常是硬編碼的,且在代理迴路與終端使用者之間的所有互動中保持不變。