MCP Tools Reference: chatmcp.googleapis.com

Strumento: list_messages

Recupera i messaggi da una conversazione di Google Chat specificata (spazio, messaggio diretto o messaggio diretto di gruppo) in formato Markdown. Consente di filtrare per thread, intervallo di tempo e numero di messaggi. Inoltre, è possibile recuperare la pagina successiva dei messaggi per fornire un contesto più ampio. I messaggi privati (messaggi visibili solo a un singolo utente) vengono esclusi.

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP list_messages.

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

Schema di input

ListChatMessagesRequest

Rappresentazione JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
Campi
conversationId

string

Obbligatorio. L'ID della conversazione. Una conversazione può essere uno spazio, un messaggio diretto (DM) o un DM/Chat di gruppo. Formato: spaces/{space}

threadId

string

Facoltativo. L'ID di un thread specifico all'interno della conversazione. Se fornito, verranno restituiti solo i messaggi di questo thread. Se omesso, vengono presi in considerazione i messaggi di tutti i thread della conversazione. Formato: spaces/{space}/threads/{thread}

pageSize

integer

Facoltativo. Il numero massimo di messaggi da restituire. Il servizio potrebbe restituire un numero inferiore di elementi. Se non specificato, il valore predefinito è 20. Il valore massimo è 50. Se utilizzi un valore superiore a 50, questo viene modificato automaticamente in 50.

pageToken

string

Facoltativo. Un token di pagina, ricevuto da una chiamata list_messages precedente. Fornisci questo valore per recuperare la pagina successiva.

startTime

string

Facoltativo. Timestamp ISO 8601 per filtrare i messaggi. Verranno restituiti solo i messaggi creati dopo questa data.

endTime

string

Facoltativo. Timestamp ISO 8601 per filtrare i messaggi. Verranno restituiti solo i messaggi creati prima di questa data/ora.

Schema di output

Risposta contenente l'elenco dei messaggi della conversazione richiesta.

ListChatMessagesResponse

Rappresentazione JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
Campi
messages[]

object (ChatMessage)

Elenco dei messaggi recuperati, in ordine cronologico inverso (dal più recente al meno recente).

nextPageToken

string

Un token che può essere inviato come page_token in un ListMessagesRequest successivo per recuperare la pagina successiva dei messaggi. Se questo campo è vuoto, non ci sono altre pagine.

ChatMessage

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

string

Nome della risorsa del messaggio. Formato: spaces/{space}/messages/{message}

threadId

string

Il thread a cui appartiene questo messaggio. Questo campo sarà vuoto se il messaggio non è in un thread. Formato: spaces/{space}/threads/{thread}

plaintextBody

string

Corpo del testo del messaggio che utilizza la formattazione Markdown.

sender

object (User)

Il mittente del messaggio.

createTime

string

Solo output. Timestamp della creazione del messaggio. Formato: timestamp ISO 8601.

threadedReply

boolean

Indica se il messaggio è una risposta a un thread.

attachments[]

object (ChatAttachmentMetadata)

Allegati inclusi nel messaggio.

reactionSummaries[]

object (ReactionSummary)

Il riepilogo delle reazioni con emoji incluso nel messaggio.

quotedMessageMetadata

object (QuotedMessageMetadata)

Solo output. Informazioni su un messaggio originale citato o inoltrato in questo messaggio. Nota: questo campo è in fase di sviluppo e potrebbe non essere ancora presente in tutti gli ambienti.

Utente

Rappresentazione JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Campi
userId

string

Nome risorsa di un utente di Chat. Formato: users/{user}.

displayName

string

Il nome visualizzato di un utente di Chat.

email

string

L'indirizzo email dell'utente. Questo campo viene compilato solo quando il tipo di utente è HUMAN.

userType

enum (UserType)

Il tipo di utente.

ChatAttachmentMetadata

Rappresentazione JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source),
  "driveFileId": string
}
Campi
attachmentId

string

Nome della risorsa dell'allegato. Formato: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Nome dell'allegato.

mimeType

string

Tipo di contenuti (tipo MIME).

source

enum (Source)

La fonte dell'allegato.

driveFileId

string

Solo output. L'ID del file di Google Drive. Compilato solo quando l'origine è DRIVE_FILE. Utilizzalo con l'MCP di Google Drive.

ReactionSummary

Rappresentazione JSON
{
  "emoji": string,
  "count": integer
}
Campi
emoji

string

La stringa Unicode dell'emoji o il nome dell'emoji personalizzata.

count

integer

Il numero totale di reazioni che utilizzano l'emoji associata.

QuotedMessageMetadata

Rappresentazione JSON
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
Campi
messageId

string

Solo output. Nome della risorsa del messaggio originale citato o inoltrato. Formato: spaces/{space}/messages/{message}

lastUpdateTime

string

Solo output. Timestamp della creazione o dell'ultimo aggiornamento del messaggio originale prima che venisse citato o inoltrato. Formato: timestamp ISO 8601.

quoteType

enum (QuoteType)

Solo output. Il tipo di citazione.

plaintextBody

string

Solo output. Istantanea del corpo del testo del messaggio originale al momento della citazione o dell'inoltro. Formattato utilizzando Markdown per FORWARD e testo normale per REPLY.

sender

string

Solo output. Il nome visualizzato dell'autore del messaggio originale.

attachments[]

object (ChatAttachmentMetadata)

Solo output. Gli allegati che facevano parte del messaggio originale. Compilato solo per il tipo di preventivo FORWARD.

forwardedMetadata

object (ForwardedMetadata)

Solo output. Metadati relativi alla conversazione di origine del messaggio inoltrato. Compilato solo per il tipo di preventivo FORWARD.

ForwardedMetadata

Rappresentazione JSON
{
  "conversationId": string,
  "conversationDisplayName": string
}
Campi
conversationId

string

Solo output. Il nome della risorsa della conversazione di origine. Formato: spaces/{space}

conversationDisplayName

string

Solo output. Il nome visualizzato della conversazione di origine al momento dell'inoltro del messaggio. Per gli spazi con nome, si tratta del nome dello spazio. Per i messaggi diretti 1:1, si tratta del nome dell'altro partecipante. Per le chat di gruppo senza nome, si tratta di un nome generato in base ai nomi dei membri.

UserType

Il tipo di utente di Google Chat.

Enum
USER_TYPE_UNSPECIFIED Non specificato.
HUMAN Utente umano.
APP Utente dell'app.

Origine

La fonte dell'allegato.

Enum
SOURCE_UNSPECIFIED Riservato.
DRIVE_FILE Il file è un file di Google Drive.
UPLOADED_CONTENT Il file viene caricato su Chat.

QuoteType

Il tipo di citazione che indica se il messaggio è una risposta con citazione o un messaggio inoltrato.

Enum
QUOTE_TYPE_UNSPECIFIED Riservato. Tipo di citazione non definito.
REPLY Il messaggio è una risposta con citazione a un messaggio originale nello stesso thread.
FORWARD Il messaggio viene inoltrato da un messaggio originale in una conversazione diversa o da un thread diverso nella stessa conversazione.

Annotazioni dello strumento

Le annotazioni degli strumenti 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 un prompt di conferma a un utente.

Oltre alla stringa del titolo, i seguenti suggerimenti booleani sono definiti come segue:

  • readOnlyHint: se true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se true, lo strumento può eseguire azioni distruttive. Se false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se true, la chiamata ripetuta dello 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 entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.

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.messages
  • https://www.googleapis.com/auth/chat.messages.readonly