Strumento: send_message
Invia un messaggio chat di Google Chat a una conversazione con la formattazione Markdown.
Questo strumento utilizza come input un ID conversazione, un ID thread facoltativo e un testo del messaggio.
Gli ID conversazione si trovano utilizzando lo strumento search_conversations.
Restituisce il messaggio creato.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP send_message.
| 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": "send_message", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
SendMessageRequest
| Rappresentazione JSON |
|---|
{ "conversationId": string, "threadId": string, "messageText": string } |
| Campi | |
|---|---|
conversationId |
Obbligatorio. Cinema ID della conversazione (ad es. "spaces/AAAA...") a cui inviare il messaggio. |
threadId |
Facoltativo. L'ID del thread (ad es. "spaces/AAAA.../threads/BBBB...") a cui inviare il messaggio. Se non è impostato, il messaggio verrà inviato a un nuovo thread. |
messageText |
Obbligatorio. I contenuti principali del messaggio. La formattazione può essere aggiunta utilizzando Markdown standard (tieni presente che le tabelle NON sono supportate). È supportata la seguente formattazione:
|
Schema di output
Risposta all'invio di un messaggio a una conversazione di Google Chat.
SendMessageResponse
| Rappresentazione JSON |
|---|
{
"message": {
object ( |
| Campi | |
|---|---|
message |
Il messaggio inviato. |
ChatMessage
| Rappresentazione JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Campi | |
|---|---|
messageId |
Nome della risorsa del messaggio. Formato: spaces/{space}/messages/{message} |
threadId |
Il thread a cui appartiene questo messaggio. Questo campo sarà vuoto se il messaggio non è in thread. Formato: spaces/{space}/threads/{thread} |
plaintextBody |
Corpo del messaggio utilizzando la formattazione Markdown. |
sender |
Il mittente del messaggio. |
createTime |
Solo output. Timestamp di creazione del messaggio. |
threadedReply |
Indica se il messaggio è una risposta a un thread. |
attachments[] |
Allegati inclusi nel messaggio. |
reactionSummaries[] |
Il riepilogo delle reazioni con emoji incluso nel messaggio. |
Utente
| Rappresentazione JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| Campi | |
|---|---|
userId |
Nome risorsa di un utente di Chat. Formato: users/{user}. |
displayName |
Il nome visualizzato di un utente di Chat. |
email |
L'indirizzo email dell'utente. Questo campo viene compilato solo quando il tipo di utente è HUMAN. |
userType |
Il tipo di utente. |
ChatAttachmentMetadata
| Rappresentazione JSON |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Campi | |
|---|---|
attachmentId |
Nome della risorsa dell'allegato. Formato: spaces/{space}/messages/{message}/attachments/{attachment}. |
filename |
Nome dell'allegato. |
mimeType |
Tipo di contenuti (tipo MIME). |
source |
L'origine dell'allegato. |
ReactionSummary
| Rappresentazione JSON |
|---|
{ "emoji": string, "count": integer } |
| Campi | |
|---|---|
emoji |
La stringa Unicode dell'emoji o il nome dell'emoji personalizzata. |
count |
Il numero totale di reazioni che utilizzano l'emoji associata. |
UserType
Il tipo di utente di Google Chat.
| Enum | |
|---|---|
USER_TYPE_UNSPECIFIED |
Non specificato. |
HUMAN |
Utente umano. |
APP |
Utente dell'app. |
Origine
L'origine dell'allegato.
| Enum | |
|---|---|
SOURCE_UNSPECIFIED |
Riservato. |
DRIVE_FILE |
Il file è un file di Google Drive. |
UPLOADED_CONTENT |
Il file viene caricato su 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 considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare a un utente una richiesta di conferma.
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 il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo 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 no.
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.messageshttps://www.googleapis.com/auth/chat.messages.create