プラグインを使用すると、Microsoft 365 Copilot の宣言型エージェントが、OpenAPI の記述を持つモデル コンテキスト プロトコル (MCP) サーバーまたは REST API と対話できるようになります。 プラグインを使用すると、ユーザーは宣言型エージェントに、MCP サーバーまたは REST API に情報を照会するだけでなく、データやオブジェクトの作成、更新、削除も依頼できます。 MCP サーバーまたは REST API が実行できる操作はすべて、自然言語プロンプトからアクセスできます。
重要
プラグインは、 宣言型エージェント内のアクションとしてのみサポートされます。 これらは Microsoft 365 Copilot では有効になっていません。
プラグインは、Copilot がプラグインの MCP サーバーまたは API の機能を学習するために使用するプラグイン マニフェストを提供します。 その後、Copilot は、インストールされて有効になっているプラグインが特定のプロンプトに応答するのに適しているタイミングを判断できます。 プラグインに必要なマニフェスト ファイルの詳細については、「Microsoft 365 Copilot のプラグイン マニフェスト スキーマ」を参照してください。
Copilot が MCP サーバー ツールを検出する方法
MCP サーバーに基づくプラグインの場合、Copilot は既定で実行時に MCP サーバーから直接、サーバーのツールを動的に解決します。 動的ツール検出とは、ユーザーがエージェントの再パッケージ化と再公開を待たずに MCP サーバーが公開する最新のツールを入手できるようにすることを意味します。 エージェントをビルドするときに、開発者は必要に応じて、プラグイン マニフェストに固定のツール セットを代わりにピン留めできます。 REST API プラグインは常に、プラグイン マニフェストで定義されたツールを使用します。 詳細については、「Microsoft 365 Copilot の MCP サーバーからプラグインをビルドする」 および「Microsoft 365 Copilot の MCP プラグイン用の動的ツール検出」を参照してください。
プラグインの例
予算の照会と作成、経費の請求、既存の予算への資金の追加ができる予算 MCP サーバーを検討してください。 "Contoso の出張予算に残っている金額" というプロンプトが表示されると、予算プラグインがトリガーされ、 get-budgets ツールが呼び出される可能性があります。
POST /mcp
Content-Type: application/json
{
"method": "tools/call",
"params": {
"name": "get-budgets",
"arguments": {
"budgetName": "contoso travel"
}
}
}
Copilot は、ツールの結果からの応答を使用して、応答を生成します: "現在、Contoso 出張予算に 5,000 ドルの利用可能な資金があります。 特定のカテゴリに資金を割り当てたり、経費を追跡したりする必要がある場合は、私もお手伝いします。 私が何ができるか教えてください!」
プロンプト "Megan の航空券の Contoso 旅行予算に 500 ドルを請求する" は、次の MCP ツール呼び出しに変換できます。
POST /mcp
Content-Type: application/json
{
"method": "tools/call",
"params": {
"name": "charge-budget",
"arguments": {
"budgetName": "contoso travel",
"amount": 500,
"description": "Megan's airline ticket"
}
}
}
Copilot は返された情報を使用してユーザーに応答します: "Megan の航空券に対する 500 ドルの請求は正常に処理されました。 Contoso の出張予算には、現在、4,500 ドルの利用可能な資金が残っています。 さらに取引する必要がある場合、または予算に関してさらにサポートが必要な場合は、お知らせください。」
プラグインのしくみ
ユーザーはエージェントに「Fourth Coffee ロビーの改修予算にどれくらい残っていますか?」と尋ねます。
動的ツール検出を使用する MCP プラグインの場合、エージェントは実行時にプラグインの MCP サーバーから現在のツール定義を取得し、使用する前に新規または変更されたツールを検証します。 固定されたツール セットを含むプラグイン、または REST API プラグインの場合、エージェントはプラグイン マニフェストで定義されているツールを代わりに使用します。
エージェントは、予算の詳細を取得するための MCP サーバー ツールまたは API
GetBudgetを持つ使用可能なプラグインから予算関連のプラグインを識別します。 ユーザーの質問の一部を関数のパラメーター (budgetName="") にマップします。エージェントは、プラグインに
Fourth Coffee lobby renovationを送信することを許可するようにユーザーに要求します。ユーザーは、プラグインとのデータの共有を 1 回許可するか、または常にこの関数のデータの共有を許可することを選択します。
プラグインの MCP サーバーまたは API で 認証が必要な場合、プラグインはトークン ストアからトークンまたは API キーを要求します。
トークン ストアはトークンまたはキーを返します。 必要に応じて、トークン ストアによってエージェントがユーザーにサインインするように求めます。
エージェントは、Microsoft 365 の外部でホストされているプラグインの MCP サーバーまたは API に要求を送信します。
MCP サーバーまたは API が応答を返します。
{ "name": "Fourth Coffee lobby renovation", "availableFunds": 5000.00 }エージェントは、MCP サーバーまたは API 応答に基づいて応答を生成します。
エージェントは、「Fourth Coffee ロビーの改修予算に残っている利用可能な資金は 5,000 ドルです」という回答を送信します。
アクションの確認
Copilot は、プラグインに初めてデータを送信する前に、ユーザーに確認します。
ユーザーが接続を確認した後、データを取得するだけの MCP サーバー ツールや API では確認を必要としませんが、データを変更するツールや API では確認が必要です。 プラグイン開発者は、これらの既定値を上書きできます。 詳細については、「Microsoft 365 Copilot の MCP および API プラグインの確認プロンプト」を参照してください。
応答プレゼンテーションのカスタマイズ
Copilot は、MCP サーバーまたは API 応答からのデータを使用して会話応答を生成します。 プラグインは、このデータの表示方法をカスタマイズできます。そのメカニズムはプラグインの種類によって異なります。
MCP プラグインでは、MCP アプリ (実行時に MCP サーバーがツールの結果と共に返す UI ウィジェット) を使用して、豊富な対話型応答を提供できます。 ウィジェットはマニフェストで定義されるのではなく、ツール応答と共に配信されるため、プラグインがピン留めされたツール セットを使用するか、 動的ツール検出を使用するかに関係なく、MCP アプリは機能します。
API プラグインを使用すると、 プラグイン マニフェストで アダプティブ カード テンプレートを提供して、構造化された方法でデータを表示できます。 テンプレートはマニフェストで宣言されている操作に対して定義されるため、このアプローチは API プラグインと、ピン留めされたツールのセットを使用する MCP プラグインに適用されます。
任意のプラグインの種類でのソースにリンクされた引用の場合、Copilot は応答セマンティクスを使用し、ツールまたは API の応答から引用メタデータを自動的に推論できます。 自動推論は、特に動的ツール検出を使用する MCP プラグインに役立ちます。このプラグインでは、ツールは実行時に解決され、構成するマニフェスト ツール定義はありません。 詳細については、「 応答セマンティクスで引用文献を表示する」を参照してください。
アクション応答での URL 処理
Microsoft 365 Copilot チャット エクスペリエンスでは、MCP プラグイン、API プラグイン、コネクタ、フローのいずれかから、アクション応答の一部として返された URL がクリック可能なリンクとしてレンダリングされる場合があります。 Copilot ランタイムはこの動作を制御し、プラグインが宣言するドメイン (API プラグインの OpenAPI の説明の servers セクションなど) に対して評価しません。
プラットフォームのセキュリティ、信頼、ポリシーのルールは、アクション応答の URL レンダリング動作を制御し、時間の経過と共に変更される可能性があります。 実稼働に不可欠なシナリオのアクション応答でクリック可能な URL に依存しないでください。
Copilot オーケストレーターによるプラグインの選択をサポートする
Microsoft 365 Copilot では、そのレパートリーの多くのスキルの中から適切なスキルを独自に選択できます。 しかし、Copilot が適切なスキル を提供するプラグインを 選択できるようにするにはどうすればよいでしょうか?
その答えは、プラグイン、そのスキル、スキル開始のパラメーターをどのように説明するかにあります。 プラグイン マニフェストに簡潔で正確な説明を指定して、Copilot オーケストレーターがプラグインをいつ、どのように呼び出すべきかを確実に把握できるようにします。
オーケストレータにプラグインを記述する方法は、次の表に示すように、ビルドするプラグインの種類によって異なります。
| プラグインの種類 | 説明者 | 詳細情報 |
|---|---|---|
| API プラグイン。 | OpenAPI の説明 | Copilot の拡張に OpenAPI ドキュメントを効果的にする方法 |
| Copilot Studio アクション | Copilot Studio の会話マップの名前と説明 | 生成 AI を使用して Copilot のトピックとアクションを調整する |
| メッセージ拡張機能プラグイン | アプリ マニフェスト | メッセージ拡張機能プラグインのガイドライン |
宣言型エージェント プラグインを構築する
開発者は、次の 2 つのツールを使用して API プラグイン パッケージを生成できます。
- Visual Studio または Visual Studio Code の Microsoft 365 Agents Toolkit は、既存の MCP サーバーまたは OpenAPI の記述に基づいてプラグイン パッケージを作成します。 Agents Toolkit には、サンプル API と対応するプラグイン パッケージを含むスターター プロジェクトもあります。
- Kiota は、既存の OpenAPI の記述に基づいてプラグイン パッケージを生成するコマンド ライン ツールと Visual Studio Code 拡張機能です。
ヒント
Work IQ 開発ツール (プレビュー) — コマンド ラインからアクションをアタッチしてチェックすることもできます。
wiqd agent add action 宣言型エージェントにアクションを追加し、アクションの OpenAPI 記述が到達可能で整形式であること、および参照されているプラグイン マニフェストが適切な認証スキームを宣言していることを確認する wiqd agent validate --mode deep 。 アルファ wiqd plugin コマンド ツリーも存在しますが、そのインターフェイスは変更される可能性があります。 詳細については、 Work IQ 開発ツールのドキュメントを参照してください。
制限事項
宣言型エージェントに宣言 型エージェント マニフェストで定義された最大 5 つのプラグインが含まれている場合、エージェントは常にプラグインをプロンプトに挿入します。 エージェントに 5 つ以上のプラグインが含まれている場合は、セマンティック マッチングが使用されます。 セマンティック マッチングは、プラグイン自体の個々の機能やツールに基づくのではなく、プラグインの説明に基づいています。
プラグインには、無制限の数の関数または MCP ツールを含めることができます。 一致したプラグインの関数またはツールは、一致するものが 1 つだけであってもすべて返されます。 動的ツール検出を使用する MCP プラグインの場合、実行時に MCP サーバーから解決されたツールは、この合計にカウントされます。 トークン ウィンドウの制限により、10 を超える関数またはツールが含まれている場合、応答の品質が低下する可能性があります。
プラグインへの入力とプラグインからの出力のトークン ウィンドウは、大きなコンテンツを切り捨てます。 機能制限は、モデルの改善に伴い、システムのオーバーヘッドに応じて変更される可能性があります。 トークンの長さが小さいように最適化するか、必要に応じて大規模なコンテンツのストリーミングを可能にする機能拡張オプションを選択します。
関連コンテンツ
- Microsoft 365 Copilot 用 MCP サーバーからプラグインをビルドする
- Microsoft 365 Copilot の宣言型エージェントに MCP アプリを追加する
- Microsoft 365 Copilot の MCP プラグインの動的ツール検出
- 既存の API から Microsoft 365 Copilot 用 API プラグインを構築する
- 新しい API を使用して API プラグインを構築する Microsoft 365 Copilot
- Microsoft 365 Copilot 用のプラグイン マニフェスト スキーマ
- API プラグインを使用して宣言型エージェントの効果的な手順を記述する