Tool Catalog を使用して、Foundry Toolkit でツールとツールボックスを接続する

注意

ツールボックスのサポートは現在プレビュー段階であり、Foundry Toolkit のプレリリース版でのみ利用可能です。

エージェントは多くの場合、複数のツールに依存しています。一部のツールは Microsoft Foundry から提供され、一部はローカルの Model Context Protocol (MCP) サーバーとして実行され、また一部は別のチームが管理する共有ツールボックスに属しています。Visual Studio Code 用 Foundry Toolkit の Tool Catalog を使用すると、これらのオプションを接続し、エージェントにアタッチし、ツールボックスに接続されたホスト型エージェントのサンプルを生成するための単一の場所が提供されます。

この記事では、Foundry ツールを接続し、ローカル MCP サーバーを登録し、ツールボックスを作成および使用し、ツールボックスからホスト型エージェントのサンプルを足場として作成して、Agent Builder から実行可能なコードに移行する方法を学びます。

A ツールボックスは、単一の MCP 互換エンドポイントを介して公開される、一元的に管理されたツールコレクションです。複数のエージェントが同じ管理されたツールと資格情報のセットを必要とする場合に使用します。

Screenshot showing the Tool Catalog in Foundry Toolkit.

主な機能

機能 説明
Foundry ツールを接続する Foundry プロジェクトから個々のツールを Agent Builder のプロンプトエージェントに追加します。
ローカル MCP サーバーを接続する ローカルまたはリモートのエージェントワークフロー用に `stdio`、HTTP、または SSE MCP サーバーを登録します。
ツールボックスをアタッチする 単一の MCP 互換エンドポイントを介して、一元的に管理されたツールコレクションを再利用します。
ホスト型エージェントのサンプルを生成する ツールボックスに接続し、Responses プロトコルを公開する Agent Framework Python プロジェクトを足場として作成します。
一元化されたガバナンス 資格情報、ポリシー適用、監査可能性をエージェントコードではなく Microsoft Foundry で保持します。

前提条件

開始する前に、以下を準備してください

  • Visual Studio Code。
  • Foundry Toolkit 拡張機能がインストールされていること。
  • Microsoft Foundry プロジェクトへのアクセス。詳細については、「Visual Studio Code 用 Foundry Toolkit」を参照してください。
  • プロジェクト内のツールおよびツールボックスを表示またはアタッチする権限。
  • ホスト型エージェントのサンプルには、Python 3.12 以降と、`az login` でサインインした Azure CLI が必要です。
注意

ツールボックスのエンドポイントは MCP 互換です。MCP をサポートする任意のエージェントランタイムは、Foundry Toolkit の外部で構築されたエージェントを含め、ツールボックスを使用できます。

開始方法

Tool Catalog は、ツールをエージェントに組み込むためのいくつかの方法をサポートしています。ツールのホスト方法と、エージェント間でツールを共有する方法に合うオプションを選択してください。以下のセクションでは、各オプションについて詳しく説明します。

オプション 使用するケース
Foundry ツール Foundry プロジェクトから単一のツールをプロンプトエージェントに追加したい場合。
ローカル MCP サーバー ローカルまたはカスタムの MCP エンドポイントで実行されるサーバーを使用したい場合。
ツールボックス 複数のエージェントが、一元的に管理された同じツール、資格情報、およびポリシーを共有したい場合。

Foundry ツールを接続する

Agent Builder で Foundry プロジェクトから単一のツールをプロンプトエージェントに追加したい場合は、このオプションを使用します。

  1. 「**アクティビティ バー**」で「**Foundry Toolkit**」を選択します。
  2. 「**マイ リソース**」で、「**お使いのプロジェクト名**」>「**ツール**」を展開します。
  3. 「**ツール**」の横にある「**+**」アイコンを選択して、「**Tool Catalog**」を開きます。
  4. 「**カタログ**」タブで、利用可能なツールを参照します。
  5. 使用したいツールを選択します。
  6. 「**接続**」ダイアログで、名前、エンドポイント、パラメーター、認証設定などの必須値を入力します。
  7. 「**接続**」を選択します。

接続が作成されると、そのツールはエージェントで利用可能になります。

ローカル MCP サーバー ツールを接続する

ご使用のマシンでローカルに実行されるか、カスタムのリモートエンドポイントで実行される MCP サーバーを登録します。開発中に MCP サーバーをテストしたい場合や、Foundry プロジェクトに公開されていないサーバーに接続したい場合にこのオプションを使用します。

  1. 「**アクティビティ バー**」で「**Foundry Toolkit**」を選択します。
  2. 「**マイ リソース**」で、「**ローカル リソース**」>「**ツール**」を展開します。
  3. 「**ツール**」の横にある「**+**」アイコンを選択して、「**Tool Catalog**」を開きます。
  4. 「**カスタム**」タブで、次のいずれかのオプションを選択します
    • `mcp.json` でサーバーを定義するには、「**mcp.json を編集**」を選択します。
    • ローカルコマンドを実行するには、「**構成 (stdio)**」を選択します。
    • リモートエンドポイントに接続するには、「**構成 (HTTP または SSE)**」を選択します。
  5. 構成を保存または完了します。

構成を保存すると、MCP サーバーが利用可能なツールとして表示されます。

エージェントにツールを追加する

Tool Catalog を介してツールを接続した後、Agent Builder で特定のエージェントにアタッチして、エージェントが実行時にそれらを呼び出せるようにします。

  1. 「**マイ リソース**」 > 「**お使いのプロジェクト名**」 > 「**プロンプト エージェント**」の下にある既存のエージェントの Agent Builder を開くか、「**開発者ツール**」 > 「**ビルド**」 > 「**エージェントの作成**」の下に新しいエージェントを作成します。
  2. 「**プレイグラウンド**」タブの「**ツール**」セクションで、「**+**」を選択します。
  3. 「**ツールを選択**」ダイアログで、事前構成済みのツール、カタログツール、またはカスタムツールを選択します。
  4. ツールオプションを構成します。
  5. 「**ツールを追加**」を選択します。

これでツールはエージェントにアタッチされ、実行中に使用できます。

新しいツールボックスを作成し、ホスト型エージェントで使用する

Foundry プロジェクトでカスタムツールボックスを構築して、関連するツールを単一の MCP 互換エンドポイントの背後にグループ化し、それを使用するホスト型エージェントを足場として作成します。

  1. 「**アクティビティ バー**」で「**Foundry Toolkit**」を選択します。
  2. 「**マイ リソース**」で、「**お使いのプロジェクト名**」>「**ツール**」を展開します。
  3. 「**+ ツールボックスを追加**」アイコンを選択して、新しいツールボックスを作成します。
  4. 「**カスタム ツールボックスを構築**」タブで、ツールボックスの名前と説明を入力し、ツールを追加してから、「**公開**」を選択します。
  5. 「**ツール**」ページに戻り、新しいツールボックスを特定し、「**コードテンプレートを足場として作成**」を選択して、ツールボックスに接続するホスト型エージェントを作成します。

Screenshot showing the Build a Custom Toolbox page in Foundry Toolkit with fields for the toolbox name, description, and selected tools.

ヒント

同じツールを複数のエージェントに一つずつ配線する代わりに、ツールボックスをアタッチします。ツールボックスの所有者がツールボックスを更新すると、消費するエージェントは個別のエージェント編集なしで変更を反映します。

ツールボックスのエンドポイントをコピーする

ツールボックスを作成した後、Foundry Toolkit からその MCP 互換エンドポイントをコピーできます。

  1. 「**アクティビティ バー**」で「**Foundry Toolkit**」を選択します。
  2. 「**マイ リソース**」で、「**お使いのプロジェクト名**」>「**ツール**」を展開します。
  3. 「**ツールボックス**」タブで、ご使用のツールボックスを見つけます。
  4. 「**エンドポイント URL**」列で、エンドポイントをコピーします。

Screenshot showing the Toolboxes tab in Foundry Toolkit with a toolbox entry, endpoint URL, and Scaffold code template action.

「**エンドポイント URL**」の値は、ツールボックスのコンシューマーエンドポイントです。MCP をサポートする任意のエージェントランタイムは、このエンドポイントを使用してツールボックスに接続できます。

ツールボックスを使用するホスト型エージェントのサンプルを生成する

Foundry Toolkit は、ツールボックスに既に接続されている実行可能なホスト型エージェントプロジェクトを足場として作成できます。生成されたプロジェクトは Agent Framework を使用し、応答プロトコルを公開するため、Agent Builder からコードに移行し、ローカルでデバッグし、Microsoft Foundry に再デプロイすることができます。

  1. 「**アクティビティ バー**」で「**Foundry Toolkit**」を選択します。
  2. 「**マイ リソース**」で、「**お使いのプロジェクト名**」>「**ツール**」を展開し、使用したいツールボックスを開きます。
  3. 「**コードテンプレートを足場として作成**」を選択します。
  4. 「**コマンドパレット**」で、プロンプトが表示されたらプロジェクトフォルダーを選択します。

生成されたプロジェクトには、ホスト型エージェントのエントリポイント、デプロイファイル、およびその足場に対する正確なセットアップ、実行、デプロイ手順が記載された `README.md` が含まれています。

ローカルで実行する

生成された `README.md` に従って、依存関係をインストールし、環境変数を構成し、Azure にサインインします。その後、次のいずれかの方法でエージェントを開始します。

  • VS Code で `F5` を押し、「**ローカル エージェント HTTP サーバーをデバッグ**」を選択します。
  • ターミナルから `python main.py` を実行します。
ヒント

メッセージの送信、ツール呼び出しの表示、ブレークポイントを使用したエージェント動作のデバッグのためのインタラクティブな UI が必要な場合は、`F5` フローで**エージェントインスペクター**を使用します。

デプロイ

足場固有のデプロイ手順については、生成された `README.md` に従ってください。プロジェクトは次のいずれかの方法でデプロイできます。

  • 「**コマンドパレット**」を開き、「**Microsoft Foundry: ホスト型エージェントをデプロイ**」を実行して、プロンプトに従います。
  • 「**アクティビティ バー**」で「**Foundry Toolkit**」を選択し、「**Microsoft Foundry にデプロイ**」を選択して、プロンプトに従います。
  • GitHub Copilot Chat を開き、ホスト型エージェントを Microsoft Foundry にデプロイするように依頼します。Copilot は `microsoft-foundry` スキルを使用して、Docker イメージを構築し、プッシュし、エージェントを登録します。

生成されたプロジェクトは、ホスト型エージェントの設定を `agent.yaml` および `agent.manifest.yaml` に保存します。

注意

ツールボックスの MCP リクエストには `Foundry-Features: Toolboxes=V1Preview` ヘッダーが必要です。生成されたエージェントはこれを自動的に処理します。Application Insights の接続が構成されていない場合、起動時に警告が表示されることがありますが、エージェントは正常に動作し続けます。

© . This site is unofficial and not affiliated with Microsoft.