Azure Functions上の MCP サーバーを Foundry Agent Service エージェントに接続する

この記事では、Azure Functionsでホストされている Model Context Protocol (MCP) サーバーを Microsoft Foundry Agent Service に接続する方法について説明します。 このガイドを完了すると、エージェントは MCP サーバーによって公開されているツールを検出して呼び出すことができます。

この記事では、Foundry Agent Service から MCP サーバー接続を構成するためのこの基本的なプロセスに従います。

  • Azureで MCP サーバーを作成して関数アプリにデプロイします。
  • MCP サーバー エンドポイント URL を取得します。
  • (必要に応じて) 認証資格情報を取得します。
  • キーベースの認証を無効にします (不要な場合)。
  • 既存のエージェントに MCP サーバー ツール接続を追加します。

[前提条件]

開始する前に、次のリソースが配置されていることを確認します。

接続オプションを確認する

次の表は、Foundry Agent Service の MCP サーバーへのエージェント接続を認証するために現在サポートされているオプションをまとめたものです。

メソッド Description 利用シーン 追加のセットアップ Functions は、次の機能をサポートします。
キーによる (既定) エージェントは、要求ヘッダーで共有 関数アクセス キー を渡すことによって認証します。 この方法は、Functions の HTTP エンドポイントの既定の認証です。 開発中、または MCP サーバーがMicrosoft Entra認証を必要としない場合に使用します。 None イエス
Microsoft Entra エージェントは、独自の ID (エージェント ID) または Foundry プロジェクトの共有 ID (プロジェクトマネージド ID) を使用して認証します。 運用シナリオではエージェント ID を使用しますが、共有 ID は開発に限定します。 組み込みの MCP 認証を有効にします。キーベースの認証も無効にします。 プロジェクトマネージド (共有) ID
OAuth ID パススルー エージェントは、指定されたトークンを使用して認証を行い、ユーザーにサインインとアクセスの承認を求めます。 各ユーザーが独自の ID で認証する必要があり、ユーザー コンテキストを永続化する必要がある場合は、運用環境で使用します。 組み込みの MCP 認証を有効にします。キーベースの認証も無効にします。 イエス
認証されていないアクセス エージェントが認証されていない呼び出しを行います。 開発中、または MCP サーバーがパブリック情報にのみアクセスする場合に使用します。 キーベースの認証を無効にします イエス

Foundry Agent Service でサポートされる MCP サーバー認証オプションの詳細については、「 MCP ツールの認証を設定する」を参照してください。

リモート MCP サーバー エンドポイントを取得する

エージェントを Functions ホース MCP サーバーに接続する前に、サービスのエンドポイント URL を取得する必要があります。 特定の URL 形式は、MCP サーバーの作成方法とデプロイ方法によって異なります。

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

詳細については、Azure Functionsの「Remote MCP servers」を参照してください。

資格情報の取得

エージェントが MCP サーバーに接続するために必要な資格情報は、接続をセキュリティで保護する方法によって異なります。 接続認証オプションを示すタブを選択します。

アクセス キーを使用して MCP サーバー エンドポイントに接続する場合は、共有秘密鍵を使用して、ランダム エージェントがサーバーに接続しにくくします。

Important

アクセス キーは既定で不要なエンドポイント アクセスを防ぐのに役立ちますが、Microsoft Entra IDまたは OAuth ID 認証を使用して、運用環境の 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. Foundry ポータル (新しい Foundry) に移動します。

  2. ページの上部にある [ ビルド ] タブを選択し、MCP サーバーに接続するエージェントを選択します。

  3. [ プレイグラウンド ] タブで、[ ツール ] ドロップダウンを展開し、[ 追加] を選択します。

  4. [ツールの選択] の [カスタム] タブで、[モデル コンテキスト プロトコル (MCP)]>[作成] を選択します。

  5. [モデル コンテンツ プロトコルの追加] ツールで、次の表の情報を入力して、アクセス キーベースの接続を構成します。

    フィールド Description Example
    名前 MCP サーバー用の一意の識別子。 関数アプリ名を既定値として使用します。 contoso-mcp-tools
    リモート MCP サーバー エンドポイント MCP サーバーの URL エンドポイント。 https://contoso-mcp-tools.azurewebsites.net/runtime/webhooks/mcp
    認証 使用する認証方法。 Key-based
    資格情報 関数アプリで認証するキーと値のペア。 x-functions-key: aaaaaaaa-0b0b-1c1c-2d2d-333333333333
  6. [ 接続 ] を選択して、MCP サーバー エンドポイントへの接続を作成します。 [ ツール] の下にサーバー名が表示されます。

  7. [ 保存] を 選択して、MCP ツール構成をエージェントに保存します。

MCP ツールをテストする

MCP サーバーをエージェントに接続した後、ツールが正しく動作することを確認します。

  1. エージェント ビルダーで、[ プレイグラウンド] の下にあるチャット ウィンドウを見つけます。
  2. MCP ツールの 1 つをトリガーするプロンプトを入力します。 たとえば、MCP サーバーにグリーティング ツールがある場合は、 Use the greeting tool to say helloを試してください。
  3. OAuth ID パススルーを使用している場合は、[ 同意を開く ] を選択し、Entra アカウントでサインインします。
  4. エージェントが MCP ツールの呼び出しを要求したら、ツール名と引数を確認し、[ 承認] を選択して呼び出しを許可します。
  5. ツールが期待される結果を返すかどうかを確認します。

エージェントは、Azure Functionsでホストされている MCP サーバーによって公開されているツールを使用できるようになりました。

次の追加の記事は、エージェントと関数アプリの機能を構築するのに役立ちます。