MCP Tools Reference: chatmcp.googleapis.com

Outil : list_messages

Récupère les messages d'une conversation Google Chat spécifiée (espace, message privé ou message privé de groupe) au format Markdown. Permet de filtrer par fil de discussion, période et nombre de messages. De plus, la page de messages suivante peut être récupérée pour fournir plus de contexte. Les messages privés (messages visibles uniquement par un seul utilisateur) sont filtrés.

L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP list_messages.

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": "list_messages",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schéma d'entrée

ListChatMessagesRequest

Représentation JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
Champs
conversationId

string

Obligatoire. ID de la conversation. Une conversation peut être un espace, un message privé (MP) ou un MP/chat de groupe. Format : spaces/{space}

threadId

string

Facultatif. ID d'un fil de discussion spécifique dans la conversation. Si cette option est fournie, seuls les messages de ce fil de discussion seront renvoyés. Si ce paramètre est omis, les messages de tous les fils de discussion de la conversation sont pris en compte. Format : spaces/{space}/threads/{thread}

pageSize

integer

Facultatif. Nombre maximal de messages à renvoyer. Le service peut renvoyer un nombre inférieur à cette valeur. Si aucune valeur n'est spécifiée, la valeur par défaut est 20. La valeur maximale est de 50. Si vous utilisez une valeur supérieure à 50, elle est automatiquement remplacée par 50.

pageToken

string

Facultatif. Jeton de page reçu d'un appel list_messages précédent. Fournissez-le pour récupérer la page suivante.

startTime

string

Facultatif. Code temporel ISO 8601 pour filtrer les messages. Seuls les messages créés après cette date seront renvoyés.

endTime

string

Facultatif. Code temporel ISO 8601 pour filtrer les messages. Seuls les messages créés avant cette heure seront renvoyés.

Schéma de sortie

Réponse contenant la liste des messages de la conversation demandée.

ListChatMessagesResponse

Représentation JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
Champs
messages[]

object (ChatMessage)

Liste des messages récupérés, par ordre chronologique inverse (du plus récent au plus ancien).

nextPageToken

string

Jeton pouvant être envoyé en tant que page_token dans une requête ListMessagesRequest ultérieure pour récupérer la page de messages suivante. Si ce champ est vide, il n'y a plus de pages.

ChatMessage

Représentation JSON
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ],
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  }
}
Champs
messageId

string

Nom de ressource du message. Format : spaces/{space}/messages/{message}

threadId

string

Fil de discussion auquel ce message appartient. Ce champ sera vide si le message n'est pas organisé en fil de discussion. Format : spaces/{space}/threads/{thread}

plaintextBody

string

Corps du message au format Markdown.

sender

object (User)

L'expéditeur du message.

createTime

string

Uniquement en sortie. Horodatage de la création du message. Format : code temporel ISO 8601.

threadedReply

boolean

Indique si le message est une réponse à un fil de discussion.

attachments[]

object (ChatAttachmentMetadata)

Pièces jointes incluses dans le message.

reactionSummaries[]

object (ReactionSummary)

Résumé des réactions emoji incluses dans le message.

quotedMessageMetadata

object (QuotedMessageMetadata)

Uniquement en sortie. Informations sur un message d'origine cité ou transféré dans ce message. Remarque : Ce champ est en cours de développement et n'est peut-être pas encore présent dans tous les environnements.

Utilisateur

Représentation JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Champs
userId

string

Nom de ressource d'un utilisateur Chat. Format : users/{user}.

displayName

string

Nom à afficher d'un utilisateur Chat.

email

string

Adresse e-mail de l'utilisateur. Ce champ n'est renseigné que lorsque le type d'utilisateur est HUMAN.

userType

enum (UserType)

Type de l'utilisateur.

ChatAttachmentMetadata

Représentation JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source),
  "driveFileId": string
}
Champs
attachmentId

string

Nom de ressource de la pièce jointe. Format : spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Nom de la pièce jointe.

mimeType

string

Type de contenu (type MIME).

source

enum (Source)

Source de la pièce jointe.

driveFileId

string

Uniquement en sortie. ID du fichier Google Drive. Ce champ n'est renseigné que si la source est DRIVE_FILE. À utiliser avec le MCP Google Drive.

ReactionSummary

Représentation JSON
{
  "emoji": string,
  "count": integer
}
Champs
emoji

string

Chaîne Unicode de l'emoji ou nom de l'emoji personnalisé.

count

integer

Nombre total de réactions utilisant l'emoji associé.

QuotedMessageMetadata

Représentation JSON
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
Champs
messageId

string

Uniquement en sortie. Nom de ressource du message d'origine cité ou transféré. Format : spaces/{space}/messages/{message}

lastUpdateTime

string

Uniquement en sortie. Code temporel de la création ou de la dernière mise à jour du message d'origine avant qu'il ne soit cité ou transféré. Format : code temporel ISO 8601.

quoteType

enum (QuoteType)

Uniquement en sortie. Type de devis.

plaintextBody

string

Uniquement en sortie. Instantané du corps du texte du message d'origine au moment de la citation ou du transfert. Formaté à l'aide de Markdown pour FORWARD et de texte brut pour REPLY.

sender

string

Uniquement en sortie. Nom à afficher de l'auteur du message d'origine.

attachments[]

object (ChatAttachmentMetadata)

Uniquement en sortie. Pièces jointes incluses dans le message d'origine. Renseigné uniquement pour le type de devis FORWARD.

forwardedMetadata

object (ForwardedMetadata)

Uniquement en sortie. Métadonnées sur la conversation source du message transféré. Renseigné uniquement pour le type de devis FORWARD.

ForwardedMetadata

Représentation JSON
{
  "conversationId": string,
  "conversationDisplayName": string
}
Champs
conversationId

string

Uniquement en sortie. Nom de ressource de la conversation source. Format : spaces/{space}

conversationDisplayName

string

Uniquement en sortie. Nom à afficher de la conversation source au moment où le message a été transféré. Pour les espaces nommés, il s'agit du nom de l'espace. Pour les messages privés, il s'agit du nom de l'autre participant. Pour les chats de groupe sans nom, il s'agit d'un nom généré à partir des noms des membres.

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.

QuoteType

Type de citation indiquant si le message est une réponse à une citation ou un message transféré.

Enums
QUOTE_TYPE_UNSPECIFIED Réservé. Type de devis non défini.
REPLY Le message est une réponse citant un message d'origine dans le même fil de discussion.
FORWARD Le message est transféré à partir d'un message d'origine dans une autre conversation ou d'un autre fil de discussion dans la même conversation.

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 considèrent ces indications comme non fiables, mais elles peuvent être utilisées pour décider quand envoyer une invite de confirmation à un utilisateur.

En plus de la chaîne de titre, les indices booléens suivants sont définis 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", l'appel répété de l'outil 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 sur le Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.

Indice "Destructive" : ❌ | Indice "Idempotent" : ✅ | Indice "Read Only" : ✅ | Indice "Open World" : ❌

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly