Outil : send_message
Envoie un message Google Chat à une conversation avec la mise en forme Markdown.
Cet outil utilise un ID de conversation, un ID de fil de discussion facultatif et un texte de message comme entrées.
Vous pouvez trouver les ID de conversation à l'aide de l'outil search_conversations.
Il renvoie le message créé.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP send_message.
| 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": "send_message", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
SendMessageRequest
| Représentation JSON |
|---|
{ "conversationId": string, "threadId": string, "messageText": string } |
| Champs | |
|---|---|
conversationId |
Obligatoire. ID de la conversation (par exemple, "spaces/AAAA...") à laquelle envoyer le message. |
threadId |
Facultatif. ID du fil de discussion (par exemple, "spaces/AAAA.../threads/BBBB...") auquel envoyer le message. Si cette valeur n'est pas définie, le message sera envoyé dans un nouveau fil de discussion. |
messageText |
Obligatoire. Contenu principal du message. Vous pouvez ajouter une mise en forme à l'aide de Markdown standard (notez que les tableaux ne sont PAS acceptés). Les formats suivants sont acceptés :
|
Schéma de sortie
Réponse à l'envoi d'un message à une conversation Google Chat.
SendMessageResponse
| Représentation JSON |
|---|
{
"message": {
object ( |
| Champs | |
|---|---|
message |
Message envoyé. |
ChatMessage
| Représentation JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Champs | |
|---|---|
messageId |
Nom de ressource du message. Format : spaces/{space}/messages/{message} |
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 au format Markdown. |
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 : users/{user}. |
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 "HUMAN". |
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 avec 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
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 de destruction : ❌ | 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.messageshttps://www.googleapis.com/auth/chat.messages.create