Ferramenta: search_conversations
Pesquisa conversas do Google Chat (espaços nomeados, mensagens diretas ou chats em grupo) por nome de exibição ou participantes para encontrar IDs de conversa.
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 1:1 (se um participante for fornecido) ou chats em grupo (se vários participantes forem fornecidos) que incluam os participantes especificados e o usuário que fez a chamada.
Se apenas uma query for fornecida, essa ferramenta vai pesquisar conversas em que a consulta seja uma substring sem distinção entre maiúsculas e minúsculas do nome de exibição da conversa.
Se participants e query forem fornecidos, essa ferramenta vai encontrar conversas por participantes e, em seguida, filtrá-las por nome de exibição.
Se nem participants nem query forem fornecidos, essa ferramenta vai listar todas as conversas de que o usuário que fez a chamada faz parte.
Essa ferramenta lista apenas as conversas de que o usuário que fez a chamada faz parte.
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 você 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 tool MCP 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 do espaço (correspondência de substring sem distinção entre maiúsculas e minúsculas). |
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, excluindo o autor da chamada. |
Esquema de saída
Resposta contendo 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 |
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. |
conversationType |
O tipo de conversa (DIRECT_MESSAGE, GROUP_CHAT ou NAMED_SPACE). |
lastActiveTimestamp |
A última hora ativa 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. Precisa estar entre 0 e 999.999.999, inclusive. |
ConversationType
Define o tipo de conversa.
| Tipos enumerados | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
Não especificado. |
NAMED_SPACE |
Um espaço nomeado. |
GROUP_CHAT |
Um grupo de chat entre três 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 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 um aviso de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:
readOnlyHint: se for verdadeiro, a ferramenta não modifica 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 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