MCP Tools Reference: chatmcp.googleapis.com

Herramienta: search_messages

Busca mensajes de Google Chat con palabras clave y filtros. Funciona en todos los espacios a los que el usuario tiene acceso o se puede limitar a una conversación específica.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP search_messages.

Solicitud de Curl
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
}'
                

Esquema de entrada

Solicita buscar mensajes de Google Chat con palabras clave y filtros. Funciona en todos los espacios a los que el usuario tiene acceso o se puede limitar a una conversación específica.

SearchMessagesRequest

Representación JSON
{
  "searchParameters": {
    object (SearchParameters)
  },
  "orderBy": enum (OrderBy),
  "pageSize": integer,
  "pageToken": string
}
Campos
searchParameters

object (SearchParameters)

Obligatorio. Son los parámetros de búsqueda que se usarán para la búsqueda.

orderBy

enum (OrderBy)

Opcional. Especifica el orden en que se deben mostrar los resultados. Valores admitidos: CREATE_TIME_DESC, CREATE_TIME_ASC o RELEVANCE_DESC. NOTA: RELEVANCE_DESC no se puede usar cuando se aplica el filtro is_unread. De forma predeterminada, se usa RELEVANCE_DESC si is_unread no se establece como verdadero; de lo contrario, se usa CREATE_TIME_DESC.

pageSize

integer

Opcional. Es la cantidad máxima de resultados que se devolverán (hasta 100). Si no se especifica, se devolverán, como máximo, 25.

pageToken

string

Opcional. Un token de página, recibido desde una llamada search_messages anterior. Proporciona esto para recuperar la página siguiente.

SearchParameters

Representación JSON
{
  "keywords": [
    string
  ],
  "conversationId": string,
  "sender": string,
  "isUnread": boolean,
  "hasLink": boolean,
  "startTime": string,
  "endTime": string,
  "mentionsMe": boolean,
  "conversationIncludesUser": string,
  "spaceDisplayNames": [
    string
  ]
}
Campos
keywords[]

string

Opcional. Es un conjunto de palabras clave que se usan para filtrar los resultados.

conversationId

string

Opcional. Limita el alcance de la búsqueda a un identificador de conversación específico, como se devolvió desde la herramienta search_conversations. Formato: spaces/{ID}.

sender

string

Opcional. Filtra los mensajes de un usuario específico. Se puede usar el correo electrónico o el nombre del recurso del remitente. Los nombres de recursos de usuarios tienen el formato users/{ID}, en el que {ID} puede ser un ID de persona o su dirección de correo electrónico.

isUnread

boolean

Opcional. Filtra los mensajes que no leyó el usuario que llama.

hasLink

boolean

Opcional. Filtra los mensajes que contienen al menos una URL.

startTime

string

Opcional. Filtra los mensajes creados después de esta fecha y hora. Formato: Marca de tiempo ISO 8601.

endTime

string

Opcional. Filtra los mensajes creados antes de esta fecha y hora. Formato: Marca de tiempo ISO 8601.

mentionsMe

boolean

Opcional. Filtra los mensajes que mencionan explícitamente al usuario que llama.

conversationIncludesUser

string

Opcional. Filtrar los mensajes en MD y chats grupales que incluyen el ID o el correo electrónico del usuario específico

spaceDisplayNames[]

string

Opcional. Filtra por una lista de nombres de espacios. Los nombres para mostrar de los espacios se comparan parcialmente. Nota: Solo se devuelven las 5 coincidencias principales.

OrderBy

Especifica el orden en que se deben mostrar los resultados. De forma predeterminada, se usa RELEVANCE_DESC si is_unread no se establece como verdadero; de lo contrario, se usa CREATE_TIME_DESC.

Enums
ORDER_BY_UNSPECIFIED Valor predeterminado
CREATE_TIME_DESC Ordenar por fecha de creación en orden descendente
RELEVANCE_DESC Ordenar por relevancia de forma descendente

Esquema de salida

Es la respuesta a la búsqueda de mensajes de Google Chat. Si se propaga next_page_token, se puede volver a llamar a SearchMessages con ese token para recuperar la siguiente página de resultados.

SearchMessagesResponse

Representación JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
Campos
messages[]

object (ChatMessage)

Es una lista de objetos de mensajes que coinciden con los criterios de búsqueda, ordenados según el parámetro de solicitud order_by.

nextPageToken

string

Es un token que se puede enviar como page_token para recuperar la página siguiente. Si se omite este campo, no habrá páginas siguientes.

ChatMessage

Representación JSON
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ]
}
Campos
messageId

string

Es el nombre del recurso del mensaje. Formato: spaces/{space}/messages/{message}

threadId

string

Es la conversación a la que pertenece este mensaje. Este campo estará vacío si el mensaje no está en un subproceso. Formato: spaces/{space}/threads/{thread}

plaintextBody

string

Cuerpo del mensaje en texto sin formato.

sender

object (User)

Es el remitente del mensaje.

createTime

string

Solo salida. Es la marca de tiempo de cuando se creó el mensaje.

threadedReply

boolean

Indica si el mensaje es una respuesta en una conversación.

attachments[]

object (ChatAttachmentMetadata)

Son los archivos adjuntos incluidos en el mensaje.

reactionSummaries[]

object (ReactionSummary)

Es el resumen de las reacciones con emojis que se incluye en el mensaje.

Usuario

Representación JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Campos
userId

string

Es el nombre del recurso de un usuario de Chat. Formato: users/{user}.

displayName

string

Es el nombre visible de un usuario de Chat.

email

string

Es la dirección de correo electrónico del usuario. Este campo solo se completa cuando el tipo de usuario es HUMAN.

userType

enum (UserType)

Es el tipo de usuario.

ChatAttachmentMetadata

Representación JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source)
}
Campos
attachmentId

string

Es el nombre del recurso del archivo adjunto. Formato: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Nombre del archivo adjunto.

mimeType

string

Tipo de contenido (tipo de MIME).

source

enum (Source)

Es la fuente del adjunto.

ReactionSummary

Representación JSON
{
  "emoji": string,
  "count": integer
}
Campos
emoji

string

Es la cadena Unicode del emoji o el nombre del emoji personalizado.

count

integer

Es la cantidad total de reacciones con el emoji asociado.

UserType

Es el tipo de usuario de Google Chat.

Enums
USER_TYPE_UNSPECIFIED Sin especificar.
HUMAN Usuario humano.
APP Usuario de la app.

Fuente

Es la fuente del adjunto.

Enums
SOURCE_UNSPECIFIED Reservado.
DRIVE_FILE El archivo es un archivo de Google Drive.
UPLOADED_CONTENT El archivo se subirá a Chat.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌