重要
プラグインは、 宣言型エージェント内のアクションとしてのみサポートされます。 Microsoft 365 Copilotでは有効になっていません。
Microsoft 365 Copilot初めてモデル コンテキスト プロトコル (MCP) または API プラグインを使用すると、ユーザーに通知し、操作を許可または取り消すように求められます。 ユーザーが Copilot にプラグインへの接続を許可した場合、データを取得する今後のすべての操作 (HTTP GET 操作) には確認は必要ありません。 その他の HTTP 操作では、送信するデータが表示され、ユーザーに許可または拒否の選択が求められます。
プラグイン開発者は、MCP サーバーまたは API の個々の操作に対してこの動作を変更できます。 開発者は、Copilot が確認プロンプトの一部としてユーザーに表示するテキストをカスタマイズすることもできます。
プロンプト動作のオーバーライド
開発者は、MCP サーバーのtools/list応答で readOnlyHint プロパティをツールのtrueに設定することで、特定のツールの確認 (初回プロンプトの後) をユーザーに求めるかどうかをMicrosoft 365 Copilot制御できます。 詳細については、 MCP スキーマ リファレンスを参照してください。
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "get_weather",
"title": "Weather Information Provider",
"description": "Get current weather information for a location",
"annotations": {
"readOnlyHint": true,
},
"inputSchema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name or zip code"
}
},
"required": ["location"]
}
}
]
}
}
確認テキストのカスタマイズ
開発者は、プラグイン マニフェストの関数の Function capabilitiesオブジェクトの Confirmation オブジェクトで body プロパティを設定することで、確認テキストを指定できます。
bodyの値は、関数の動作を示す必要があります。 このプロパティがマニフェストに存在しない場合は、代わりに Function オブジェクトの description プロパティが使用されます。
{
"name": "GetBudgets",
"description": "Returns details including name and available funds of budgets, optionally filtered by budget name",
"capabilities": {
"confirmation": {
"type": "AdaptiveCard",
"title": "Search budgets",
"body": "Do you want to allow searching for budgets?"
}
}
}
確認テキストのローカライズ
確認プロンプトとして使用するように ローカライズ可能な文字列 を構成できます。 次の手順では、プロセスについて説明します。
手順 1: プラグイン マニフェストでローカライズ キーを使用する
プラグイン マニフェスト (たとえば、plugin.json) で、リテラル文字列をローカライズ キーに置き換えるには、次の形式を使用します。
{
"schema_version": "v2.3",
"name_for_human": "[[plugin_name]]",
"description_for_human": "[[plugin_description]]"
}
これらのキー ( plugin_name や plugin_descriptionなど) は、ローカライズ ファイル内のエントリと一致し、正規表現の ^[a-zA-Z_][a-zA-Z0-9_]*に準拠している必要があります。
手順 2: ローカライズ ファイルを作成する
次の例に示すように、ローカライズ ファイルを JSON 形式で作成し、各キーを翻訳された文字列にマップする localizationKeys プロパティを含めます。
{
"localizationKeys": {
"plugin_name": "Weather Assistant",
"plugin_description": "Provides weather updates and forecasts."
}
}
さまざまな言語 (たとえば、en.json、fr.json、de.json) に対して複数のローカライズ ファイルを作成し、プラグイン構成で参照できます。
手順 3: アプリ マニフェストに localizationInfo を追加する
ローカライズ ファイルを参照する localizationInfo セクションをアプリ マニフェストに含めます。 例えば、
"localizationInfo": {
"defaultLanguageTag": "en",
"defaultLanguageFile": "en.json",
"additionalLanguages": [
{
"languageTag": "fr",
"file": "fr.json"
}
]
}