Outil : search_messages
Recherche des messages Google Chat à l'aide de mots clés et de filtres. Fonctionne dans tous les espaces auxquels l'utilisateur a accès ou peut être limité à une conversation spécifique.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP search_messages.
| Requête curl |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Demande de recherche de messages Google Chat à l'aide de mots clés et de filtres. Fonctionne dans tous les espaces auxquels l'utilisateur a accès ou peut être limité à une conversation spécifique.
SearchMessagesRequest
| Représentation JSON |
|---|
{ "searchParameters": { object ( |
| Champs | |
|---|---|
searchParameters |
Obligatoire. Paramètres de recherche à utiliser pour la recherche. |
orderBy |
Facultatif. Spécifie l'ordre dans lequel les résultats doivent être renvoyés. Valeurs acceptées : |
pageSize |
Facultatif. Nombre maximal de résultats à renvoyer (100 maximum). Si aucune valeur n'est spécifiée, 25 éléments au maximum sont renvoyés. |
pageToken |
Facultatif. Jeton de page reçu d'un appel |
SearchParameters
| Représentation JSON |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| Champs | |
|---|---|
keywords[] |
Facultatif. Ensemble de mots clés utilisés pour filtrer les résultats. |
conversationId |
Facultatif. Limite la recherche à un identifiant de conversation spécifique, tel que renvoyé par l'outil search_conversations. Format : |
sender |
Facultatif. Filtrer les messages d'un utilisateur spécifique Vous pouvez utiliser l'adresse e-mail ou le nom de ressource de l'expéditeur. Les noms de ressources utilisateur sont au format |
isUnread |
Facultatif. Filtrez les messages qui n'ont pas été lus par l'utilisateur appelant. |
hasLink |
Facultatif. Filtrer les messages contenant au moins une URL. |
startTime |
Facultatif. Filtrer les messages créés après cette heure. Format : code temporel ISO 8601. |
endTime |
Facultatif. Filtrez les messages créés avant cette heure. Format : code temporel ISO 8601. |
mentionsMe |
Facultatif. Filtrez les messages qui mentionnent explicitement l'utilisateur appelant. |
conversationIncludesUser |
Facultatif. Filtrez les messages dans les MP et les chats de groupe qui incluent l'adresse e-mail ou l'ID de l'utilisateur spécifique. |
spaceDisplayNames[] |
Facultatif. Filtrer par une liste de noms d'espaces ; les noms d'affichage des espaces sont partiellement mis en correspondance. Remarque : Seules les cinq premières correspondances sont renvoyées. |
OrderBy
Spécifie l'ordre dans lequel les résultats doivent être renvoyés. Par défaut, RELEVANCE_DESC est utilisé si is_unread n'est pas défini sur "true". Sinon, CREATE_TIME_DESC est utilisé.
| Enums | |
|---|---|
ORDER_BY_UNSPECIFIED |
Valeur par défaut. |
CREATE_TIME_DESC |
Trier par date de création dans l'ordre décroissant. |
RELEVANCE_DESC |
Trier par pertinence dans l'ordre décroissant |
Schéma de sortie
Réponse à la recherche de messages Google Chat. Si next_page_token est renseigné, SearchMessages peut être appelé à nouveau avec ce jeton pour récupérer la page de résultats suivante.
SearchMessagesResponse
| Représentation JSON |
|---|
{
"messages": [
{
object ( |
| Champs | |
|---|---|
messages[] |
Liste des objets de message correspondant aux critères de recherche, classés selon le paramètre de requête |
nextPageToken |
Jeton pouvant être envoyé en tant que |
ChatMessage
| Représentation JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Champs | |
|---|---|
messageId |
Nom de ressource du message. Format : |
threadId |
Fil de discussion auquel appartient ce message. Il sera vide si le message n'est pas associé à un fil de discussion. Format : spaces/{space}/threads/{thread} |
plaintextBody |
Corps du message en texte brut. |
sender |
Expéditeur du message. |
createTime |
Uniquement en sortie. Code temporel de création du message. |
threadedReply |
Indique si le message est une réponse dans un fil de discussion. |
attachments[] |
Pièces jointes incluses dans le message. |
reactionSummaries[] |
Récapitulatif des réactions emoji inclus dans le message. |
Utilisateur
| Représentation JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| Champs | |
|---|---|
userId |
Nom de ressource d'un utilisateur Chat. Format : |
displayName |
Nom à afficher d'un utilisateur Chat. |
email |
Adresse e-mail de l'utilisateur. Ce champ n'est renseigné que lorsque le type d'utilisateur est "HUMAIN". |
userType |
Type d'utilisateur. |
ChatAttachmentMetadata
| Représentation JSON |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Champs | |
|---|---|
attachmentId |
Nom de ressource de la pièce jointe. Format : spaces/{space}/messages/{message}/attachments/{attachment}. |
filename |
Nom de la pièce jointe. |
mimeType |
Type de contenu (type MIME). |
source |
Source de la pièce jointe. |
ReactionSummary
| Représentation JSON |
|---|
{ "emoji": string, "count": integer } |
| Champs | |
|---|---|
emoji |
Chaîne Unicode de l'emoji ou nom de l'emoji personnalisé. |
count |
Nombre total de réactions utilisant l'emoji associé. |
UserType
Type d'utilisateur Google Chat.
| Enums | |
|---|---|
USER_TYPE_UNSPECIFIED |
Non spécifié. |
HUMAN |
Utilisateur humain. |
APP |
Utilisateur de l'application. |
Source
Source de la pièce jointe.
| Enums | |
|---|---|
SOURCE_UNSPECIFIED |
Réservé. |
DRIVE_FILE |
Le fichier est un fichier Google Drive. |
UPLOADED_CONTENT |
Le fichier est importé dans Chat. |
Annotations d'outils
Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌