Strumento: search_conversations
Cerca le conversazioni di Google Chat (spazi denominati, messaggi diretti o chat di gruppo) in base al nome visualizzato o ai partecipanti per trovare gli ID delle conversazioni.
Questo strumento cerca i metadati delle conversazioni, NON i contenuti dei messaggi. Per eseguire ricerche nella cronologia dei messaggi o trovare messaggi per parola chiave, mittente o timestamp, utilizza search_messages.
Se vengono forniti solo i participants, questo strumento trova i messaggi diretti 1:1 (se viene fornito un partecipante) o le chat di gruppo (se vengono forniti più partecipanti) che includono i partecipanti specificati e l'utente chiamante.
Se viene fornita solo una query, questo strumento cerca le conversazioni in cui la query è una sottostringa senza distinzione tra maiuscole e minuscole del nome visualizzato della conversazione.
Se vengono forniti sia participants sia query, questo strumento trova le conversazioni per partecipanti e poi le filtra in base al nome visualizzato.
Se non vengono forniti né participants né query, questo strumento elenca tutte le conversazioni di cui l'utente chiamante è membro.
Questo strumento elenca solo le conversazioni di cui l'utente chiamante è membro.
Restituisce un elenco di oggetti di conversazione contenenti ID di conversazione (formato: spaces/{space}), nomi visualizzati e tipi di conversazione.
IMPORTANTE: un elenco conversations vuoto non significa che non ci siano altri risultati in generale. Se è presente next_page_token, è possibile recuperare altre pagine. Se ricevi un elenco vuoto ma un next_page_token, chiedi all'utente se devi continuare la ricerca.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP search_conversations.
| Richiesta 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 }' |
Schema di input
SearchConversationsRequest
| Rappresentazione JSON |
|---|
{ "spaceNameQuery": string, "pageSize": integer, "pageToken": string, "participants": [ string ] } |
| Campi | |
|---|---|
spaceNameQuery |
Facoltativo. Il testo da cercare nei nomi visualizzati dello spazio (corrispondenza di sottostringa senza distinzione tra maiuscole e minuscole). |
pageSize |
Facoltativo. Il numero massimo di spazi da restituire. Il servizio potrebbe restituire un numero di spazi inferiore a questo valore. Se non specificato, verranno restituiti al massimo 20 spazi. Il valore massimo è 1000; i valori superiori a 1000 verranno forzati a 1000. |
pageToken |
Facoltativo. Un token di pagina, ricevuto da una chiamata |
participants[] |
Facoltativo. Elenco degli indirizzi email dei partecipanti per filtrare le conversazioni, escluso il chiamante. |
Schema di output
Risposta contenente l'elenco delle conversazioni corrispondenti.
SearchConversationsResponse
| Rappresentazione JSON |
|---|
{
"conversations": [
{
object ( |
| Campi | |
|---|---|
conversations[] |
Elenco di oggetti di conversazione che corrispondono ai criteri di ricerca. Ogni conversazione include conversation_id (formato: spaces/{space}), display_name, conversation_type e last_active_timestamp. |
nextPageToken |
Un token che può essere inviato come |
Conversazione
| Rappresentazione JSON |
|---|
{
"conversationId": string,
"displayName": string,
"conversationType": enum ( |
| Campi | |
|---|---|
conversationId |
L'ID della conversazione (ad es. "spaces/AAAAAAAAA"). |
displayName |
Il nome visualizzato della conversazione. |
conversationType |
Il tipo di conversazione (DIRECT_MESSAGE, GROUP_CHAT o NAMED_SPACE). |
lastActiveTimestamp |
L'ultima ora di attività della conversazione nel formato ISO 8601. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi dell'ora UTC dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrispondono a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni non negative di un secondo con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori dei secondi negativi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
ConversationType
Definisce il tipo di conversazione.
| Enum | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
Non specificato. |
NAMED_SPACE |
Uno spazio denominato. |
GROUP_CHAT |
Una chat di gruppo tra 3 o più persone. |
DIRECT_MESSAGE |
Un messaggio diretto tra due persone o tra una persona e un'app Chat. |
Annotazioni dello strumento
Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client tratta questi suggerimenti come non attendibili, ma possono essere utilizzati per decidere quando inviare un prompt di conferma a un utente.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, la chiamata ripetuta dello strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌
Ambiti di autorizzazione
Richiede uno dei seguenti ambiti OAuth:
https://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.spaceshttps://www.googleapis.com/auth/chat.spaces.readonly