MCP Tools Reference: chatmcp.googleapis.com

Herramienta: list_messages

Recupera mensajes de una conversación de Google Chat especificada (espacio, mensaje directo [MD] o MD grupal). Permite filtrar por subproceso, intervalo de tiempo y cantidad de mensajes. Además, se puede recuperar la siguiente página de mensajes para permitir más contexto. Se filtran los mensajes privados (mensajes visibles solo para un usuario).

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP list_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": "list_messages",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Es el mensaje de solicitud para la RPC de ListMessages.

ListChatMessagesRequest

Representación JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
Campos
conversationId

string

Obligatorio. Es el ID de la conversación. Una conversación puede ser un espacio, un mensaje directo (MD) o un MD/chat grupal. Formato: spaces/{space}

threadId

string

Opcional. Es el ID de un subproceso específico dentro de la conversación. Si se proporciona, solo se devolverán los mensajes de este subproceso. Si se omite, se consideran los mensajes de todos los subprocesos de la conversación. Formato: spaces/{space}/threads/{thread}

pageSize

integer

Opcional. Es la cantidad máxima de mensajes que se devolverán. El servicio puede mostrar menos que este valor. Si no se especifica, el valor predeterminado es 20. El valor máximo permitido es 50.

pageToken

string

Opcional. Es un token de página, recibido de una llamada a list_messages anterior. Proporciona esto para recuperar la página siguiente.

startTime

string

Opcional. Es la marca de tiempo ISO 8601 para filtrar mensajes. Solo se devolverán los mensajes creados después de esta fecha y hora.

endTime

string

Opcional. Es la marca de tiempo ISO 8601 para filtrar mensajes. Solo se devolverán los mensajes creados antes de esta fecha y hora.

Esquema de salida

Es el mensaje de respuesta para la RPC de ListMessages.

ListChatMessagesResponse

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

object (ChatMessage)

Es la lista de mensajes recuperados, en orden cronológico inverso (los más recientes primero).

nextPageToken

string

Es un token que se puede enviar como page_token en una llamada ListMessagesRequest posterior para recuperar la siguiente página de mensajes. Si este campo está vacío, no hay más páginas.

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. El formato es 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: ❌