Referência da ferramenta MCP do Work IQ

O servidor MCP do Work IQ expõe 10 ferramentas por meio do MCP (Model Context Protocol). Este artigo fornece uma referência para cada ferramenta, incluindo sua finalidade, parâmetros e exemplos de uso.

O Work IQ MCP usa a autenticação do Microsoft Entra e as permissões do usuário conectado do Microsoft 365 quando suas ferramentas acessam caminhos de recursos do Microsoft Graph. Uma camada de política de locatário separada avalia cada solicitação de ferramenta e bloqueia as operações de mutação por padrão. Os administradores podem habilitar solicitações de criação, atualização, exclusão e ação compatíveis por meio da política de locatário. Para obter detalhes, consulte Governança de políticas para o Work IQ MCP.

Ferramentas de entidade

As ferramentas de entidade fornecem operações e ações CRUD em recursos do Microsoft 365. Essas ferramentas operam em caminhos de recursos relativos que são mapeados para pontos de extremidade do Microsoft Graph .

Efetuar fetch

Lê uma ou mais entidades por caminho de recurso. Suporta a busca de vários caminhos em paralelo.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
entityUrls matriz de cadeia de caracteres Sim Os caminhos de recursos relativos a serem buscados (por exemplo, /me/messages, /me/events/{event-id})
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém uma results propriedade que é uma matriz de objetos com as propriedades a seguir. Há um objeto para cada caminho de recurso no entityUrls parâmetro da solicitação.

Propriedade Tipo Descrição
data objeto O objeto JSON retornado pelo Microsoft Graph.
statusCode inteiro O código de status HTTP da resposta.

Observação

  • Os limites de política por locatário se aplicam aos resultados da coleção. Se você não especificar um valor, um padrão $top de 25 será injetado, com um limite máximo de 100.
  • As mensagens de Chat são limitadas a 10 por solicitação.
  • Os $skip parâmetros de consulta and $skiptoken estão bloqueados.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

{
  "method": "tools/call",
  "params": {
    "name": "fetch",
    "arguments": {
      "entityUrls": [
        "/me/messages"
      ]
    }
  }
}
Resposta
{
  "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

Busca conteúdo binário, como documentos, imagens e arquivos do Office de um caminho relativo do Work IQ. O conteúdo é retornado como uma cadeia de caracteres codificada em Base64 com metadados.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
path string Sim O caminho relativo para o conteúdo binário (por exemplo, /drives/{drive-id}/items/{item-id}/content)
format string Não Formato de conversão de arquivo (por exemplo, pdf). Com suporte apenas por pontos de extremidade de conteúdo de unidade que aceitam o parâmetro Microsoft Graph $format .
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida expõe as propriedades a seguir por meio do campo MCP structuredContent .

Propriedade Tipo Descrição
statusCode inteiro O código de status HTTP da resposta.
contentType string O tipo MIME do conteúdo retornado.
blobName string O nome do arquivo, quando disponível.
sizeBytes inteiro O tamanho do conteúdo bruto, em bytes.
base64Content string O conteúdo binário codificado como Base64.

Observação

  • O limite padrão de arquivos brutos é de 4 MB e pode ser configurado por caminho.
  • Os clientes devem decodificar base64Content Base64 para recuperar os bytes originais.
  • O conteúdo do blob não é duplicado no campo de conteúdo de texto MCP. Os clientes devem lê-lo de structuredContent.
  • Um arquivo que excede o limite configurado retorna um erro da ferramenta MCP contendo o limite configurado; Ele não retorna conteúdo de blob.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

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

create_entity

Cria uma nova entidade em uma coleção.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
parentUrl string Sim O caminho de recurso relativo para a coleção (por exemplo, /me/events, /me/messages).
jsonBody string Sim Os dados da entidade a serem criados, correspondendo ao esquema do recurso. Essa propriedade deve ser uma cadeia de caracteres codificada em JSON, não um objeto JSON.
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém um objeto na structuredContent propriedade com as propriedades a seguir.

Propriedade Tipo Descrição
data objeto O objeto JSON retornado pelo Microsoft Graph.
statusCode inteiro O código de status HTTP da resposta.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

{
  "method": "tools/call",
  "params": {
    "name": "create_entity",
    "arguments": {
      "parentUrl": "/me/messages",
      "jsonBody": "{ \"subject\": \"Hello world!\" }"
    }
  }
}
Resposta
{
  "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

Atualizações uma entidade existente.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
entityUrl string Sim O caminho relativo para a entidade (por exemplo, /me/messages/{message-id}).
jsonBody string Sim Os dados da entidade a serem criados, correspondendo ao esquema do recurso. Essa propriedade deve ser uma cadeia de caracteres codificada em JSON, não um objeto JSON.
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém um objeto na structuredContent propriedade com as propriedades a seguir.

Propriedade Tipo Descrição
data objeto O objeto JSON retornado pelo Microsoft Graph.
statusCode inteiro O código de status HTTP da resposta.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

{
  "method": "tools/call",
  "params": {
    "name": "update_entity",
    "arguments": {
      "entityUrl": "/me/messages/AAMkADk0...",
      "jsonBody": "{ \"subject\": \"Updated: Hello world!\" }"
    }
  }
}
Resposta
{
  "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

Exclui uma entidade.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
entityUrl string Sim O caminho de recurso relativo para a entidade a ser excluída (por exemplo, /me/messages/{id})
agentId string Não A ID de um agente específico para encaminhar a pergunta. Se omitido, o padrão é o agente interno do Microsoft 365 Copilot.

Resposta

Uma resposta bem-sucedida contém uma statusCode propriedade definida como 204 no structuredContent campo.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

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

do_action

Executa uma ação de efeito colateral, como enviar email, copiar ou mover itens.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
actionUrl string Sim O caminho relativo para a ação (por exemplo, /me/messages/{message-id}/send).
jsonBody string Não O corpo JSON da ação, se necessário. Essa propriedade deve ser uma cadeia de caracteres codificada em JSON, não um objeto JSON.
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém um objeto na structuredContent propriedade com as propriedades a seguir.

Propriedade Tipo Descrição
data objeto O objeto JSON retornado pelo Microsoft Graph, se houver.
statusCode inteiro O código de status HTTP da resposta.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

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

call_function

Chama uma função do Microsoft Graph para calcular dados derivados, como agendas, deltas ou resultados de pesquisa.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
functionUrl string Sim O caminho relativo para a função (por exemplo, /me/calendarview).
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém um objeto na structuredContent propriedade com as propriedades a seguir.

Propriedade Tipo Descrição
data objeto O objeto JSON retornado pelo Microsoft Graph.
statusCode inteiro O código de status HTTP da resposta.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

{
  "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"
    }
  }
}
Resposta
{
  "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
}

Ferramentas do Copilot

As ferramentas do Copilot fornecem inteligência de linguagem natural invocando o Microsoft 365 Copilot e descobrindo os agentes disponíveis.

Perguntar

Faça uma pergunta em linguagem natural ao Microsoft 365 Copilot (ou a um agente específico) sobre os dados do usuário. Quando você fornece um agentId, a solicitação vai para esse agente específico. Quando você omiti-la, a solicitação vai para o agente interno do Microsoft 365 Copilot.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
question string Sim A pergunta em linguagem natural a ser feita
agentId string Não A ID de um agente específico para encaminhar a pergunta. Se omitido, o padrão é o agente interno do Microsoft 365 Copilot.
fileUrls matriz de cadeia de caracteres Não Uma matriz de URLs de arquivo do OneDrive ou do SharePoint para usar como contexto.
conversationId string Não Um ID de conversa de uma conversa existente. Se fornecida, essa solicitação continuará a conversa existente.
timeZone string Não Um identificador de fuso horário IANA que corresponda ao deslocamento UTC atual do usuário. Se omitido, a hora será retornada em UTC.

Resposta

Uma resposta bem-sucedida contém uma cadeia de caracteres JSON na text propriedade de um objeto TextContent . A cadeia de caracteres inclui as propriedades a seguir.

Propriedade Tipo Descrição
response string A resposta do Microsoft 365 Copilot ou do agente especificado.
conversationId string A ID da conversa. Forneça essa ID nas conversationId solicitações subsequentes para continuar a conversa.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

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

list_agents

Lista os agentes disponíveis que você pode usar com a ask ferramenta. Retorna uma matriz JSON de agentes disponíveis e o agente interno do Microsoft 365 Copilot está sempre incluído.

Parâmetros

Essa ferramenta não aceita parâmetros.

Resposta

Uma resposta bem-sucedida contém uma cadeia de caracteres JSON na text propriedade de um objeto TextContent . A cadeia de caracteres inclui as propriedades a seguir.

Propriedade Tipo Descrição
agentId string O identificador exclusivo do agente.
name string O nome de exibição do agente.
provider string O editor do agente.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

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

Ferramentas de esquema

As ferramentas de esquema permitem a descoberta em tempo de execução de caminhos de API disponíveis e seus esquemas OpenAPI. Essas ferramentas permitem que os agentes descubram quais operações estão disponíveis sem carregar grandes definições de esquema no contexto antecipadamente.

get_schema

Recupera o esquema OpenAPI para uma operação específica, identificada pelo caminho e pelo tipo de operação.

Observação

Atualmente, somente esquemas do Microsoft Graph v1.0 estão disponíveis.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
operationIds string Não A ID da operação da API para obter o esquema (por exemplo, me.CreateMessages). Use operationIds ou path, não ambos.
path string Não O caminho da API para obter o esquema (por exemplo, /me/messages). Use operationIds ou path, não ambos.
operationType string Sim O tipo de operação. Os valores válidos são fetch, create e update.
format string Não O formato de saída desejado. Os valores válidos são jsonschema (formato do esquema JSON ) e typescript (definições do TypeScript). Se omitido, o esquema JSON será retornado.
backend string Não Reserved for future use.
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém o esquema JSON ou as definições de TypeScript na text propriedade de um objeto TextContent .

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

{
  "method": "tools/call",
  "params": {
    "name": "get_schema",
    "arguments": {
      "path": "/me/messages",
      "operationType": "fetch"
    }
  }
}
Resposta
{
  "$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

Pesquisa caminhos de API disponíveis por prefixo ou filtro regex. Use essa ferramenta para descobrir quais caminhos de recursos estão disponíveis antes de chamar outras ferramentas.

Observação

Atualmente, somente os caminhos do Microsoft Graph v1.0 estão disponíveis.

Parâmetros

Parâmetro Tipo Obrigatório Descrição
filter string Sim Um prefixo ou padrão regex para pesquisar caminhos de API correspondentes (por exemplo, messages ou .*calendar.*)
backend string Não Reserved for future use.
agentId string Não Reserved for future use.

Resposta

Uma resposta bem-sucedida contém uma paths propriedade no structuredContent campo. Esta é uma matriz de objetos com as propriedades a seguir.

Propriedade Tipo Descrição
path string O caminho de API relativo.
operations matriz de cadeia de caracteres As operações com suporte para o caminho. Os valores válidos são fetch, create e update.

Exemplo

Solicitação

▶ Abra este exemplo na Demonstração Interativa

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

Caminhos de recursos permitidos

As ferramentas de entidade funcionam com caminhos de recursos relativos. Por padrão, os seguintes prefixos de caminho são permitidos:

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

Os seguintes segmentos de caminho estão bloqueados:

  • /authentication/
  • /servicePrincipals/

Observação

A lista completa de caminhos permitidos e bloqueados depende da configuração da política por locatário e pode variar.

Tratamento de erros

Quando uma chamada de ferramenta falha, o servidor MCP do Work IQ retorna erros com as seguintes informações:

  • Código de status HTTP do serviço downstream
  • Retry-After cabeçalhos para respostas de limitação (transmitidos pelo Microsoft Graph)
  • Solicitar IDs de correlação para solução de problemas

O servidor não executa novas tentativas automáticas. O cliente MCP recebe erros e toma decisões de repetição do lado do cliente.