Work IQ MCP ツール リファレンス

Work IQ MCP サーバーは、 モデル コンテキスト プロトコル (MCP) を介してツールを公開します。 この記事では、各ツールの目的、パラメーター、使用例など、リファレンスを提供します。

Work IQ MCP は、ツールが Microsoft Graph リソース パスにアクセスするときに、Microsoft Entra 認証とサインインしているユーザーの Microsoft 365 アクセス許可を使用します。 個別のテナント ポリシー レイヤーが各ツール要求を評価し、既定で変更操作をブロックします。 管理者は、テナント ポリシーを通じて、サポートされている作成、更新、削除、およびアクション要求を有効にすることができます。 詳細については、 Work IQ MCP のポリシーガバナンスを参照してください。

エンティティ ツール

エンティティ ツールは、Microsoft 365 リソースに対する CRUD 操作とアクションを提供します。 これらのツールは、 Microsoft Graph エンドポイントにマップされる相対リソース パスで動作します。

フェッチ

リソース パスで 1 つ以上のエンティティを読み取ります。 複数のパスを並列でフェッチできます。

パラメーター

パラメーター 型 必須 説明
entityUrls 文字列配列 はい フェッチする相対リソース パス ( /me/messages、 /me/events/{event-id} など)
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答には、次のプロパティを持つオブジェクトの配列である results プロパティが含まれています。 要求の entityUrls パラメーターには、リソース パスごとに 1 つのオブジェクトがあります。

プロパティ 型 説明
data object Microsoft Graph によって返される JSON オブジェクト。
statusCode integer 応答の HTTP 状態コード。

注:

  • 収集結果には、テナントごとのポリシー制限が適用されます。 値を指定しない場合、システムは既定の $top 25 を挿入し、最大限は 100 です。
  • Chat メッセージの上限は、要求あたり 10 個です。
  • システムは、 $skip および $skiptoken クエリ パラメーターをブロックします。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "fetch",
    "arguments": {
      "entityUrls": [
        "/me/messages"
      ]
    }
  }
}
応答
{
  "results": [
    {
      "data": {
        "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('0c6bc4a2-337b-4672-9bcd-6aa53af1b02a')/messages(id,subject,from,receivedDateTime,isRead,importance)",
        "value": [
          {
            "@odata.etag": "W/\"CQAAABYAAADltuSvpI1YRKDFG38ihSmWAABepTg8\"",
            "id": "AAMkADk0...",
            "receivedDateTime": "2026-05-31T15:40:44Z",
            "subject": "Your weekly PIM digest for Contoso",
            "importance": "normal",
            "isRead": false,
            "from": {
              "emailAddress": {
                "name": "Microsoft Security",
                "address": "MSSecurity-noreply@microsoft.com"
              }
            }
          },
          {
            "@odata.etag": "W/\"CQAAABYAAADltuSvpI1YRKDFG38ihSmWAAA/eZg0\"",
            "id": "AAMkADk0...",
            "receivedDateTime": "2026-05-26T07:39:09Z",
            "subject": "Microsoft Entra ID Protection Weekly Digest",
            "importance": "normal",
            "isRead": false,
            "from": {
              "emailAddress": {
                "name": "Microsoft Security",
                "address": "MSSecurity-noreply@microsoft.com"
              }
            }
          }
        ],
        "@odata.nextLink": "https://graph.microsoft.com/v1.0/me/messages?%24select=id%2csubject%2cfrom%2creceivedDateTime%2cisRead%2cimportance&%24top=10&%24skip=10"
      },
      "statusCode": 200
    }
  ]
}

fetch_blob

相対的な Work IQ パスからドキュメント、画像、Office ファイルなどのバイナリ コンテンツをフェッチします。 コンテンツは、メタデータを含む Base64 エンコード文字列として返されます。

パラメーター

パラメーター 型 必須 説明
path string はい バイナリ コンテンツへの相対パス ( /drives/{drive-id}/items/{item-id}/contentなど)
format 文字列 いいえ ファイル変換形式 (例: pdf)。 Microsoft Graph $format パラメーターを受け入れるドライブコンテンツ エンドポイントでのみサポートされます。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答は、MCP structuredContent フィールドを介して次のプロパティを公開します。

プロパティ 型 説明
statusCode integer 応答の HTTP 状態コード。
contentType string 返されるコンテンツの MIME タイプ。
blobName string ファイル名 (使用可能な場合)。
sizeBytes integer 生コンテンツのサイズ (バイト単位)。
base64Content 文字列 Base64 としてエンコードされたバイナリ コンテンツ。

注:

  • 既定の生ファイルの制限は 4 MB で、パスごとに構成できます。
  • クライアントは元のバイトを回復するために Base64 デコード base64Content 必要があります。
  • BLOB ペイロードは、MCP のテキスト コンテンツ フィールドで重複しません。 クライアントはそれを structuredContent から読み取る必要があります。
  • 構成された制限を超えるファイルは、構成された制限を含む MCP ツール エラーを返します。BLOB コンテンツは返されません。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "fetch_blob",
    "arguments": {
      "path": "/me/drive/items/01ABCDEF/content"
    }
  }
}
応答
{
  "structuredContent": {
    "statusCode": 200,
    "contentType": "text/plain",
    "blobName": "notes.txt",
    "sizeBytes": 14,
    "base64Content": "SGVsbG8sIFdvcmtJUSE="
  }
}

create_entity

コレクションに新しいエンティティを作成します。

パラメーター

パラメーター 型 必須 説明
parentUrl string はい コレクションの相対リソース パス ( /me/events、 /me/messages など)。
jsonBody string はい 作成するエンティティ データ。リソース スキーマと一致します。 このプロパティは、JSON オブジェクトではなく、JSON でエンコードされた文字列である必要があります。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答には、次のプロパティを持つ structuredContent プロパティのオブジェクトが含まれています。

プロパティ 型 説明
data object Microsoft Graph によって返される JSON オブジェクト。
statusCode integer 応答の HTTP 状態コード。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "create_entity",
    "arguments": {
      "parentUrl": "/me/messages",
      "jsonBody": "{ \"subject\": \"Hello world!\" }"
    }
  }
}
応答
{
  "statusCode": 201,
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('0c6bc4a2-337b-4672-9bcd-6aa53af1b02a')/messages/$entity",
    "@odata.etag": "W/\"CQAAABYAAADltuSvpI1YRKDFG38ihSmWAABlFT7g\"",
    "id": "AAMkADk0...",
    "createdDateTime": "2026-06-01T17:32:39Z",
    "lastModifiedDateTime": "2026-06-01T17:32:39Z",
    "changeKey": "CQAAABYAAADltuSvpI1YRKDFG38ihSmWAABlFT7g",
    "categories": [],
    "receivedDateTime": "2026-06-01T17:32:39Z",
    "sentDateTime": "2026-06-01T17:32:39Z",
    "hasAttachments": false,
    "internetMessageId": "<CH7PR03MB79063B75F29F929523CCC68FAE152@CH7PR03MB7906.namprd03.prod.outlook.com>",
    "subject": "Hello world!",
    "bodyPreview": "",
    "importance": "normal",
    "parentFolderId": "AQMkADk0...",
    "conversationId": "AAQkADk0...",
    "conversationIndex": "AQHc8eykdVXKjf4ytUio+dQPqWG95A==",
    "isDeliveryReceiptRequested": false,
    "isReadReceiptRequested": false,
    "isRead": true,
    "isDraft": true,
    "inferenceClassification": "focused",
    "body": {
      "contentType": "text",
      "content": ""
    },
    "toRecipients": [],
    "ccRecipients": [],
    "bccRecipients": [],
    "replyTo": [],
    "flag": {
      "flagStatus": "notFlagged"
    }
  }
}

update_entity

既存のエンティティを Updates します。

パラメーター

パラメーター 型 必須 説明
entityUrl string はい エンティティへの相対パス ( /me/messages/{message-id}など)。
jsonBody string はい 作成するエンティティ データ。リソース スキーマと一致します。 このプロパティは、JSON オブジェクトではなく、JSON でエンコードされた文字列である必要があります。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答には、次のプロパティを持つ structuredContent プロパティのオブジェクトが含まれています。

プロパティ 型 説明
data object Microsoft Graph によって返される JSON オブジェクト。
statusCode integer 応答の HTTP 状態コード。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "update_entity",
    "arguments": {
      "entityUrl": "/me/messages/AAMkADk0...",
      "jsonBody": "{ \"subject\": \"Updated: Hello world!\" }"
    }
  }
}
応答
{
  "statusCode": 200,
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('0c6bc4a2-337b-4672-9bcd-6aa53af1b02a')/messages/$entity",
    "@odata.etag": "W/\"CQAAABYAAADltuSvpI1YRKDFG38ihSmWAABlFT7g\"",
    "id": "AAMkADk0...",
    "createdDateTime": "2026-06-01T17:32:39Z",
    "lastModifiedDateTime": "2026-06-01T17:32:39Z",
    "changeKey": "CQAAABYAAADltuSvpI1YRKDFG38ihSmWAABlFT7g",
    "categories": [],
    "receivedDateTime": "2026-06-01T17:32:39Z",
    "sentDateTime": "2026-06-01T17:32:39Z",
    "hasAttachments": false,
    "internetMessageId": "<CH7PR03MB79063B75F29F929523CCC68FAE152@CH7PR03MB7906.namprd03.prod.outlook.com>",
    "subject": "Updated: Hello world!",
    "bodyPreview": "",
    "importance": "normal",
    "parentFolderId": "AQMkADk0...",
    "conversationId": "AAQkADk0...",
    "conversationIndex": "AQHc8eykdVXKjf4ytUio+dQPqWG95A==",
    "isDeliveryReceiptRequested": false,
    "isReadReceiptRequested": false,
    "isRead": true,
    "isDraft": true,
    "inferenceClassification": "focused",
    "body": {
      "contentType": "text",
      "content": ""
    },
    "toRecipients": [],
    "ccRecipients": [],
    "bccRecipients": [],
    "replyTo": [],
    "flag": {
      "flagStatus": "notFlagged"
    }
  }
}

delete_entity

エンティティを削除します。

パラメーター

パラメーター 型 必須 説明
entityUrl string はい 削除するエンティティへの相対リソース パス ( /me/messages/{id} など)
agentId 文字列 いいえ 質問のルーティング先となる特定のエージェントの ID。 省略した場合、既定では組み込みの Microsoft 365 Copilot エージェントになります。

応答

成功した応答には、[structuredContent] フィールドに 204 に設定されたstatusCodeプロパティが含まれています。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "delete_entity",
    "arguments": {
      "entityUrl": "/me/messages/AAMkADk0MDkyMzM3LTlmNzAtNDhmM...."
    }
  }
}
応答
{
  "statusCode": 204
}

do_action

メールの送信、アイテムのコピー、移動などの副作用のあるアクションを実行します。

パラメーター

パラメーター 型 必須 説明
actionUrl string はい アクションの相対パス ( /me/messages/{message-id}/send など)。
jsonBody 文字列 いいえ 必要な場合は、アクションの JSON 本文。 このプロパティは、JSON オブジェクトではなく、JSON でエンコードされた文字列である必要があります。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答には、次のプロパティを持つ structuredContent プロパティのオブジェクトが含まれています。

プロパティ 型 説明
data object Microsoft Graph によって返される JSON オブジェクト (存在する場合)。
statusCode integer 応答の HTTP 状態コード。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "do_action",
    "arguments": {
      "actionUrl": "/me/messages/AAMkADk0.../send"
    }
  }
}
応答
{
  "statusCode": 202
}

call_function

Microsoft Graph 関数を呼び出して、スケジュール、差分、検索結果などの派生データを計算します。

パラメーター

パラメーター 型 必須 説明
functionUrl string はい 関数の相対パス ( /me/calendarview など)。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答には、次のプロパティを持つ structuredContent プロパティのオブジェクトが含まれています。

プロパティ 型 説明
data object Microsoft Graph によって返される JSON オブジェクト。
statusCode integer 応答の HTTP 状態コード。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "call_function",
    "arguments": {
      "parentUrl": "/me/calendarView?startdatetime=2026-06-01T17:51:49.607Z&enddatetime=2026-06-08T17:51:49.607Z"
    }
  }
}
応答
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('0c6bc4a2-337b-4672-9bcd-6aa53af1b02a')/calendarView(id,subject,start,end,location,organizer,isAllDay)",
    "value": [
      {
        "@odata.etag": "W/\"5bbkr6SNWESgxRt/IoUplgAAKcCTsQ==\"",
        "id": "AAMkADk0...",
        "subject": "Sales and Marketing Sync",
        "isAllDay": false,
        "start": {
          "dateTime": "2026-06-08T12:30:00.0000000",
          "timeZone": "UTC"
        },
        "end": {
          "dateTime": "2026-06-08T13:00:00.0000000",
          "timeZone": "UTC"
        },
        "location": {
          "displayName": "Sales and Marketing / General",
          "locationType": "default",
          "uniqueId": "Sales and Marketing / General",
          "uniqueIdType": "private"
        },
        "organizer": {
          "emailAddress": {
            "name": "Sales and Marketing",
            "address": "SalesandMarketing@contoso.com"
          }
        }
      }
    ],
    "@odata.nextLink": "https://graph.microsoft.com/v1.0/me/calendarView?startdatetime=2026-06-01T17%3a51%3a49.607Z&enddatetime=2026-06-08T17%3a51%3a49.607Z&%24select=id%2csubject%2cstart%2cend%2clocation%2corganizer%2cisAllDay&%24top=10&%24skip=10"
  },
  "statusCode": 200
}

Copilot ツール

Copilot ツールは、Microsoft 365 Copilot を呼び出し、使用可能なエージェントを検出することで、自然言語インテリジェンスを提供します。

質問する

Microsoft 365 Copilot (または特定のエージェント) に、データについて自然言語で質問します。 agentIdを指定すると、要求はその特定のエージェントに送られます。 省略すると、要求は組み込みの Microsoft 365 Copilot エージェントに移動します。

パラメーター

パラメーター 型 必須 説明
question string はい 自然言語で尋ねる質問
agentId 文字列 いいえ 質問のルーティング先となる特定のエージェントの ID。 省略した場合、既定では組み込みの Microsoft 365 Copilot エージェントになります。
fileUrls 文字列配列 不要 コンテキストとして使用する OneDrive または SharePoint ファイルの URL の配列。
conversationId 文字列 いいえ 既存の会話の会話 ID。 指定された場合、この要求により既存の会話が続行されます。
timeZone 文字列 いいえ ユーザーの現在の UTC オフセットに一致する IANA タイム ゾーン識別子。 省略すると、UTC で時間が返されます。

応答

正常な応答には、TextContent オブジェクトの text プロパティに JSON 文字列が含まれています。 文字列には以下のプロパティが含まれています。

プロパティ 型 説明
response string Microsoft 365 Copilot または指定されたエージェントからの応答。
conversationId string 会話 ID。 会話を続行するには、後続の要求の conversationId でこの ID を指定します。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "ask",
    "arguments": {
      "question": "Do I have any meetings today?"
    }
  }
}
応答
{
  "response": "You have **4 meetings scheduled today**. Here\\u2019s a clear view of your day:...",
  "conversationId": "cc7d6f5202cb4c5b814b120440e48ede"
}

retrieve

Microsoft 365 データと、サインインしたユーザーがアクセスできる接続されたエンタープライズ ソースを検索します。 このツールは、引用された各ソースのインライン引用と構造化されたメタデータを含む、モデルフレンドリーなグラウンディング Markdown を返します。 grounding戦略が既定です。

重要

retrieve ツールはパブリック プレビューで利用できます。

パラメーター

パラメーター 型 必須 説明
query string はい 検索対象を説明する自然言語クエリ。
agentId 文字列 いいえ 取得に使用するエージェントの ID。 このパラメーターを省略した場合、取得では組み込みの Microsoft 365 Copilot エージェントが使用されます。 既定以外のエージェント ID と空でない capabilities 配列を組み合わせないでください。
strategy 文字列 いいえ 取得戦略。 有効な値は grounding と copilot です。 既定値は grounding です。 データが Microsoft 365 インデックスの外部にある可能性がある場合、またはGraphConnectors機能を使用する場合は、copilotを使用します。
capabilities オブジェクト配列 不要 要求のソース許可リスト。 現在サポートされている機能名は、 People、 Meetings、 OneDriveAndSharePoint、 Email、 TeamsMessages、 GraphConnectors です。 省略するか、空の配列を渡して、エージェントと戦略で利用可能なすべてのソースを検索します。

Dataverse と Power BI はロードマップ ソースであり、現在サポートされている取得ソースではありません。 スキーマには Dataverse 機能名が含まれていますが、Dataverse がサポートされていると説明するにはさらに評価が必要であり、短期的な優先事項ではありません。 デリバリー タイムラインはコミットされていません。

応答

Authoritative Response Payload is in the application/vnd.ms-workiq.retrieval property of structuredContent.

プロパティ 型 説明
markdown string retrievalHits 内の ID に対応するインライン引用を含む、モデルに適した基礎となるコンテンツ。
retrievalHits オブジェクト配列 ソース URL、識別子、ソース固有のメタデータ (使用可能な場合) を含む構造化されたソース メタデータ。
resultCount integer 取得ヒットの数。
stoppedReason string ターミナルの取得状態 ( completed、 cancelled、 error など)。
conversationId string 返されたときの会話識別子。

要求の例、機能固有のスコープ、SharePoint Embedded サポート、応答処理ガイダンス、エラー処理については、「 Work IQ MCP で retrieve ツールを使用する」を参照してください。


list_agents

ask ツールで使用できるエージェントを一覧表示します。 使用可能なエージェントの JSON 配列を返します。組み込みの Microsoft 365 Copilot エージェントは常に含まれます。

パラメーター

このツールはパラメーターを取りません。

応答

正常な応答には、TextContent オブジェクトの text プロパティに JSON 文字列が含まれています。 文字列には以下のプロパティが含まれています。

プロパティ 型 説明
agentId string エージェントの一意識別子。
name string エージェントの表示名。
provider string エージェントの発行元。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "list_agent",
    "arguments": {}
  }
}
応答
[
  {
    "agentId": "bizchat-as-gpt-scenario",
    "name": "Microsoft Copilot",
    "provider": "Microsoft"
  }
]

スキーマ ツール

スキーマ ツールを使用すると、利用可能な API パスとその OpenAPI スキーマをランタイムで検出できます。 これらのツールを使用することで、エージェントは、大きなスキーマ定義を前もってコンテキストにロードすることなく、使用可能な操作を検出できます。

get_schema

パスと操作の種類によって識別される、特定の操作の OpenAPI スキーマを取得します。

注:

現在、Microsoft Graph v1.0 スキーマのみを使用できます。

パラメーター

パラメーター 型 必須 説明
operationIds 文字列 いいえ スキーマを取得する API の操作 ID ( me.CreateMessages など)。 operationIds または path を使用しますが、両方は使用しないでください。
path 文字列 いいえ スキーマを取得する API パス ( /me/messagesなど)。 operationIds または path を使用しますが、両方は使用しないでください。
operationType string はい 操作の種類。 有効な値は、fetch、create、update です。
format 文字列 いいえ 目的の出力形式。 有効な値は、 jsonschema (JSON スキーマ 形式) と typescript (TypeScript 定義) です。 省略すると、JSON スキーマが返されます。
backend 文字列 いいえ 将来使用するために予約されています。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

正常な応答には、TextContent オブジェクトの text プロパティに JSON スキーマまたは TypeScript 定義が含まれています。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "get_schema",
    "arguments": {
      "path": "/me/messages",
      "operationType": "fetch"
    }
  }
}
応答
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "microsoft.graph.messageCollectionResponse",
  "type": "object",
  "properties": {
    "value": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/microsoft.graph.message"
      }
    }
  },
  "$defs": {
    ...
  }
}

search_paths

プレフィックスまたは正規表現フィルターで利用可能な API パスを検索します。 このツールを使用して、他のツールを呼び出す前に、使用可能なリソース パスを検出します。

注:

現在、Microsoft Graph v1.0 パスのみを使用できます。

パラメーター

パラメーター 型 必須 説明
filter string はい 一致する API パス ( messages や .*calendar.* など) を検索するためのプレフィックスまたは正規表現パターン
backend 文字列 いいえ 将来使用するために予約されています。
agentId 文字列 いいえ 将来使用するために予約されています。

応答

成功した応答には、[structuredContent] フィールドに paths プロパティが含まれています。 このプロパティは、次のプロパティを持つオブジェクトの配列です。

プロパティ 型 説明
path string 相対 API パス。
operations 文字列配列 パスでサポートされている操作。 有効な値は、fetch、create、update です。

例

要求

▶ インタラクティブ デモでこの例を開きます

{
  "method": "tools/call",
  "params": {
    "name": "search_paths",
    "arguments": {
      "filter": "messages"
    }
  }
}
応答
{
  "paths": [
    {
      "path": "/admin/serviceAnnouncement/messages",
      "operations": [
        "fetch",
        "create"
      ]
    },
    {
      "path": "/admin/serviceAnnouncement/messages/{serviceUpdateMessage-id}",
      "operations": [
        "fetch",
        "create",
        "update"
      ]
    },
    ...
  ]
}

許可されるリソース パス

エンティティ ツールは相対リソース パスで動作します。 既定では、次のパス プレフィックスを使用できます。

  • /me/
  • /users/
  • /sites/

次のパス セグメントはブロックされます。

  • /authentication/
  • /servicePrincipals/

注:

許可されるパスとブロックされるパスの完全な一覧は、テナントごとのポリシー構成に依存し、異なる場合があります。

エラー処理

ツールの呼び出しが失敗すると、Work IQ MCP サーバーは次の情報を含むエラーを返します。

  • ダウンストリーム サービスからの HTTP 状態コード
  • Retry-After 調整応答のヘッダー (Microsoft Graph から渡される)
  • トラブルシューティング用の関連付け ID を要求する

サーバーは自動再試行を実行しません。 MCP クライアントはエラーを受信し、クライアント側の再試行を決定します。