Outil : search_conversations
Recherche des conversations Google Chat (espaces nommés, messages privés ou chats de groupe) par nom à afficher ou participants pour trouver les ID de conversation.
Cet outil recherche les métadonnées des conversations, et NON le contenu des messages. Pour effectuer une recherche dans l'historique des messages ou trouver des messages par mot clé, expéditeur ou code temporel, utilisez search_messages.
Si seuls des participants sont fournis, cet outil recherche les messages privés 1:1 (si un participant est fourni) ou les discussions de groupe (si plusieurs participants sont fournis) qui incluent les participants spécifiés et l'utilisateur qui appelle.
Si seul un query est fourni, cet outil recherche les conversations dont la requête est une sous-chaîne insensible à la casse du nom à afficher de la conversation.
Si les options participants et query sont fournies, cet outil recherche les conversations par participants, puis les filtre par nom à afficher.
Si vous ne fournissez ni participants ni query, cet outil liste toutes les conversations dont l'utilisateur appelant est membre.
Cet outil ne liste que les conversations dont l'utilisateur qui appelle est membre.
Renvoie une liste d'objets de conversation contenant des ID de conversation (format : spaces/{space}), des noms à afficher et des types de conversation.
IMPORTANT : Une liste conversations vide ne signifie pas qu'il n'y a plus de résultats au total. Si next_page_token est présent, d'autres pages peuvent être récupérées. Si vous obtenez une liste vide, mais un next_page_token, demandez à l'utilisateur si vous devez poursuivre la recherche.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP search_conversations.
| Requête 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 }' |
Schéma d'entrée
SearchConversationsRequest
| Représentation JSON |
|---|
{ "spaceNameQuery": string, "pageSize": integer, "pageToken": string, "participants": [ string ] } |
| Champs | |
|---|---|
spaceNameQuery |
Facultatif. Texte à rechercher dans les noms à afficher des espaces (correspondance de sous-chaîne non sensible à la casse). |
pageSize |
Facultatif. Nombre maximal d'espaces à renvoyer. Le service peut renvoyer un nombre inférieur à cette valeur. Si aucune valeur n'est spécifiée, 20 espaces au maximum sont renvoyés. La valeur maximale est 1 000. Les valeurs supérieures sont réduites à 1 000. |
pageToken |
Facultatif. Jeton de page reçu d'un appel |
participants[] |
Facultatif. Liste des adresses e-mail des participants pour filtrer les conversations, à l'exclusion de l'appelant. |
Schéma de sortie
Réponse contenant la liste des conversations correspondantes.
SearchConversationsResponse
| Représentation JSON |
|---|
{
"conversations": [
{
object ( |
| Champs | |
|---|---|
conversations[] |
Liste des objets de conversation correspondant aux critères de recherche. Chaque conversation inclut l'ID de conversation (format : spaces/{space}), le nom à afficher, le type de conversation et le dernier code temporel actif. |
nextPageToken |
Jeton pouvant être envoyé en tant que Renseigné uniquement si la requête est filtrée par |
Conversation
| Représentation JSON |
|---|
{
"conversationId": string,
"displayName": string,
"conversationType": enum ( |
| Champs | |
|---|---|
conversationId |
ID de la conversation (par exemple, "spaces/AAAAAAAAA"). |
displayName |
Nom à afficher de la conversation. |
conversationType |
Type de conversation (DIRECT_MESSAGE, GROUP_CHAT ou NAMED_SPACE). |
lastActiveTimestamp |
Heure de la dernière activité dans la conversation, au format ISO 8601. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Code temporel
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus. |
ConversationType
Définit le type de conversation.
| Enums | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
Non spécifié. |
NAMED_SPACE |
Un espace nommé. |
GROUP_CHAT |
Un chat de groupe entre trois personnes ou plus. |
DIRECT_MESSAGE |
Message privé entre deux personnes ou entre une personne et une application Chat. |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.
En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indication destructive : ❌ | Indication d'idempotence : ✅ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌
Champs d'application des autorisations
Nécessite l'un des champs d'application OAuth suivants :
https://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.spaceshttps://www.googleapis.com/auth/chat.spaces.readonly