Strumento: search_messages
Cerca messaggi di Google Chat utilizzando parole chiave e filtri. Funziona in tutti gli spazi a cui l'utente ha accesso o può essere limitato a una conversazione specifica.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP search_messages.
| Curl Request |
|---|
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 }' |
Schema di input
Richiedi di cercare messaggi di Google Chat utilizzando parole chiave e filtri. Funziona in tutti gli spazi a cui l'utente ha accesso o può essere limitato a una conversazione specifica.
SearchMessagesRequest
| Rappresentazione JSON |
|---|
{ "searchParameters": { object ( |
| Campi | |
|---|---|
searchParameters |
Obbligatorio. I parametri di ricerca da utilizzare per la ricerca. |
orderBy |
Facoltativo. Specifica l'ordine in cui devono essere restituiti i risultati. Valori supportati: |
pageSize |
Facoltativo. Il numero massimo di risultati da restituire (fino a 100). Se non specificato, vengono restituiti al massimo 25 risultati. |
pageToken |
Facoltativo. Un token di pagina, ricevuto da una precedente chiamata |
SearchParameters
| Rappresentazione JSON |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| Campi | |
|---|---|
keywords[] |
Facoltativo. Un insieme di parole chiave utilizzate per filtrare i risultati. |
conversationId |
Facoltativo. Limita la ricerca a un identificatore di conversazione specifico, restituito dallo strumento search_conversations. Formato: |
sender |
Facoltativo. Filtra i messaggi di un utente specifico. Puoi utilizzare l'email o il nome della risorsa del mittente. I nomi delle risorse utente sono formattati come |
isUnread |
Facoltativo. Filtra i messaggi che non sono stati letti dall'utente chiamante. |
hasLink |
Facoltativo. Filtra i messaggi contenenti almeno un URL. |
startTime |
Facoltativo. Filtra i messaggi creati dopo questo orario. Formato: timestamp ISO 8601. |
endTime |
Facoltativo. Filtra i messaggi creati prima di questo orario. Formato: timestamp ISO 8601. |
mentionsMe |
Facoltativo. Filtra i messaggi che menzionano esplicitamente l'utente che chiama. |
conversationIncludesUser |
Facoltativo. Filtra i messaggi nei messaggi diretti e nelle chat di gruppo che includono l'email o l'ID utente specifico. |
spaceDisplayNames[] |
Facoltativo. Filtra in base a un elenco di nomi di spazi; i nomi visualizzati degli spazi vengono abbinati parzialmente. Nota: vengono restituite solo le prime 5 corrispondenze. |
OrderBy
Specifica l'ordine in cui devono essere restituiti i risultati. Per impostazione predefinita, viene utilizzato RELEVANCE_DESC se is_unread non è impostato su true, altrimenti viene utilizzato CREATE_TIME_DESC.
| Enum | |
|---|---|
ORDER_BY_UNSPECIFIED |
Valore predefinito. |
CREATE_TIME_DESC |
Ordina per data di creazione in ordine decrescente. |
RELEVANCE_DESC |
Ordina per pertinenza in ordine decrescente. |
Schema di output
Risposta alla ricerca di messaggi di Google Chat. Se next_page_token è compilato, SearchMessages può essere chiamato di nuovo con quel token per recuperare la pagina successiva dei risultati.
SearchMessagesResponse
| Rappresentazione JSON |
|---|
{
"messages": [
{
object ( |
| Campi | |
|---|---|
messages[] |
Elenco degli oggetti messaggio che corrispondono ai criteri di ricerca, ordinati in base al parametro di richiesta |
nextPageToken |
Un token che può essere inviato come |
ChatMessage
| Rappresentazione JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Campi | |
|---|---|
messageId |
Nome della risorsa del messaggio. Formato: |
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 in testo normale. |
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: |
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
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌