Ferramenta: search_conversations
Pesquisa conversas do Google Chat para encontrar IDs de conversa. Os espaços nomeados são encontrados pelo nome de exibição (space_name_query). As mensagens diretas (DMs) e os grupos de chat são encontrados apenas pelos endereços de e-mail dos participantes (participants).
Essa ferramenta pesquisa metadados de conversas, NÃO o conteúdo das mensagens. Para pesquisar no histórico de mensagens ou encontrar mensagens por palavra-chave/remetente/carimbo de data/hora, use search_messages.
Se apenas participants forem fornecidos, essa ferramenta vai encontrar mensagens diretas individuais (se um participante for fornecido) ou grupos de chat (se vários participantes forem fornecidos) que incluam os participantes especificados e o usuário que está fazendo a chamada. Os espaços com nome não são retornados.
Se apenas um space_name_query for fornecido, essa ferramenta vai pesquisar APENAS espaços com nome em que a consulta é uma substring que não diferencia maiúsculas de minúsculas do nome de exibição do espaço. As mensagens diretas e os grupos de chat nunca são retornados. Portanto, NÃO transmita o nome de uma pessoa como space_name_query para encontrar uma mensagem direta com ela. Em vez disso, procure o endereço de e-mail dela e transmita-o em participants.
Se participants e space_name_query forem fornecidos, essa ferramenta vai encontrar mensagens diretas ou grupos de chat por participantes e, em seguida, filtrá-los por nome de exibição.
Se nem participants nem space_name_query forem fornecidos, essa ferramenta vai listar os espaços nomeados em que o usuário que fez a chamada é participante (as mensagens diretas e os grupos de chat não estão incluídos).
Essa ferramenta só lista as conversas em que o usuário que está ligando é membro.
Retorna uma lista de objetos de conversa que contêm IDs de conversa (formato: spaces/{space}), nomes de exibição e tipos de conversa.
IMPORTANTE: uma lista conversations vazia não significa que não há mais resultados. Se next_page_token estiver presente, mais páginas poderão ser buscadas. Se você receber uma lista vazia, mas um next_page_token, pergunte ao usuário se deve continuar a pesquisa.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP search_conversations.
| Solicitação curl |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_conversations", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
SearchConversationsRequest
| Representação JSON |
|---|
{ "spaceNameQuery": string, "pageSize": integer, "pageToken": string, "participants": [ string ] } |
| Campos | |
|---|---|
spaceNameQuery |
Opcional. O texto a ser pesquisado nos nomes de exibição da conversa (correspondência de substring que não diferencia maiúsculas de minúsculas). Se |
pageSize |
Opcional. O número máximo de espaços a serem retornados. O serviço pode retornar um valor inferior a este. Se não for especificado, no máximo 20 espaços serão retornados. O valor máximo é 1.000. Valores maiores serão convertidos para 1.000. |
pageToken |
Opcional. Um token de página recebido de uma chamada |
participants[] |
Opcional. Lista de endereços de e-mail dos participantes para filtrar as conversas, exceto o autor da chamada. Use isso para encontrar mensagens diretas (DMs) e grupos de chat: um único participante retorna a DM individual com essa pessoa, e vários participantes retornam grupos de chat que contêm todos eles. Os espaços com nome não são retornados quando esse campo é definido. |
Esquema de saída
Resposta que contém a lista de conversas correspondentes.
SearchConversationsResponse
| Representação JSON |
|---|
{
"conversations": [
{
object ( |
| Campos | |
|---|---|
conversations[] |
Lista de objetos de conversa que correspondem aos critérios de pesquisa. Cada conversa inclui o conversation_id (formato: spaces/{space}), display_name, conversation_type e last_active_timestamp. |
nextPageToken |
Um token que pode ser enviado como Preenchido apenas se a solicitação for filtrada por |
Conversa
| Representação JSON |
|---|
{
"conversationId": string,
"displayName": string,
"conversationType": enum ( |
| Campos | |
|---|---|
conversationId |
O ID da conversa (por exemplo, "spaces/AAAAAAAAA"). |
displayName |
O nome de exibição da conversa. Para espaços com nome, é o nome do espaço. Nas mensagens diretas individuais, é o nome do outro participante. Para grupos de chat sem nome, esse é um nome gerado com base nos nomes dos participantes. |
conversationType |
O tipo de conversa (DIRECT_MESSAGE, GROUP_CHAT ou NAMED_SPACE). |
lastActiveTimestamp |
O horário da última atividade da conversa no formato ISO 8601. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799, inclusive (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999. |
ConversationType
Define o tipo de conversa.
| Tipos enumerados | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
Não especificado. |
NAMED_SPACE |
Um espaço com nome. |
GROUP_CHAT |
Um grupo de chat com 3 ou mais pessoas. |
DIRECT_MESSAGE |
Uma mensagem direta entre dois humanos ou um humano e um app do Chat. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando uma solicitação de confirmação pode ser enviada a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas:
readOnlyHint: se for verdadeiro, a ferramenta não vai modificar o ambiente. (Padrão: falso).destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. (Padrão: falso).openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de jogos de mundo aberto: ❌
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.spaceshttps://www.googleapis.com/auth/chat.spaces.readonly