Herramienta: list_events
Enumera los eventos de calendario en un calendario determinado que satisfacen las condiciones especificadas.
Funciones clave:
- Cualquier ID de calendario, que puede ser el calendario principal del usuario o cualquier otro.
- Filtrado por intervalo de tiempo
- Recupera TODOS los eventos que coinciden con las restricciones de tiempo.
Si está disponible, usa la herramienta search_events en lugar de las búsquedas en el calendario principal del usuario en los siguientes casos:
- Estás buscando eventos que coincidan con un tema, una categoría o una intención específicos (p.ej., "reuniones de almuerzo", "sincronizaciones de proyectos").
- Debes encontrar los eventos más relevantes (los K principales) en lugar de todos los eventos que satisfacen las restricciones.
- Necesitas capacidades de búsqueda semántica o por palabra clave.
Usa esta herramienta para consultas como las siguientes:
- ¿Qué tengo en mi calendario mañana?
- ¿Qué eventos tengo en mi calendario el 14 de julio de 2025?
- ¿Cuáles son mis reuniones de la próxima semana?
- ¿Tengo algún conflicto esta tarde?
¿Qué reuniones tiene John mañana?
Ejemplo:
list_events(
startTime='2024-09-17T06:00:00',
endTime='2024-09-17T12:00:00',
pageSize=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP list_events.
| Solicitud de Curl |
|---|
curl --location 'https://calendarmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_events", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
ListEventsRequest
| Representación JSON |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| Campos | |
|---|---|
eventTypeFilter[] |
Opcional. Son los tipos de eventos que se devolverán. Los valores posibles son:
Si está vacío, solo se devuelven los siguientes tipos de eventos: |
Campo de unión
|
|
calendarId |
Opcional. ID del calendario del que se enumerarán los eventos. El valor predeterminado es el calendario principal del usuario. |
Campo de unión
|
|
pageSize |
Opcional. Es la cantidad máxima de eventos que se muestran en una página de resultados. La cantidad de eventos en la página resultante puede ser menor que este valor, o no haber ninguno, incluso si hay más eventos que coinciden con la búsqueda. Las páginas incompletas se pueden detectar con un campo |
Campo de unión
|
|
pageToken |
Opcional. Es un token que especifica qué página de resultados se debe devolver. |
Campo de unión
|
|
startTime |
Opcional. Límite inferior (exclusivo) para la hora de finalización de un evento. Solo se muestran los eventos que finalizan estrictamente después de esta hora (es decir, el inicio del período para buscar). Si no se proporcionan |
Campo de unión
|
|
endTime |
Opcional. Es el límite superior (exclusivo) para la hora de inicio de un evento. Solo se muestran los eventos que comienzan estrictamente antes de esta hora (es decir, el final del período para buscar). Si se especifica, debe ser mayor o igual que |
Campo de unión
|
|
timeZone |
Opcional. Zona horaria que se usa en la respuesta y para resolver las fechas sin zona horaria en la solicitud (con el formato de un nombre de la base de datos de zonas horarias de IANA, p.ej., |
Campo de unión
|
|
orderBy |
Opcional. Es el orden en el que se deben devolver los eventos. Los valores posibles son:
|
Campo de unión
|
|
fullText |
Opcional. Es una búsqueda de formato libre para buscar en el título, la descripción, la ubicación y los asistentes. |
Esquema de salida
ListEventsResponse
| Representación JSON |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| Campos | |
|---|---|
summary |
Es el título del calendario. |
description |
Es la descripción del calendario. |
updated |
Fecha y hora de la última modificación del calendario (como una marca de tiempo ISO 8601). |
timeZone |
Zona horaria del calendario. |
accessRole |
Es el rol de acceso del usuario para este calendario. Solo lectura. Los valores posibles son:
|
defaultReminders[] |
Son los recordatorios predeterminados del calendario para el usuario autenticado. Estos recordatorios se aplican a todos los eventos de este calendario que no los anulan de forma explícita (es decir, no completan override_reminders). |
events[] |
Es la lista de eventos del calendario. |
Campo de unión
|
|
nextPageToken |
Es el token que se usa para acceder a la siguiente página de este resultado. Se omite si no hay más resultados disponibles. |
Recordatorio
| Representación JSON |
|---|
{ "method": string "minutes": integer } |
| Campos | |
|---|---|
Campo de unión
|
|
method |
Obligatorio. Es la forma en que se entrega el recordatorio al usuario. Los valores posibles son:
|
Campo de unión
|
|
minutes |
Obligatorio. Cantidad de minutos de anticipación con la que se debe enviar el recordatorio. |
Evento
| Representación JSON |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| Campos | |
|---|---|
id |
Es el identificador opaco del evento. Cuando creas eventos únicos o recurrentes nuevos, puedes especificar sus IDs. Los IDs proporcionados deben seguir estas reglas:
Debido a la naturaleza distribuida a nivel global del sistema, no podemos garantizar que se detecten colisiones de ID en el momento de la creación del evento. Para minimizar el riesgo de colisiones, te recomendamos que uses un algoritmo de UUID establecido, como el que se describe en RFC4122. Si no especificas un ID, el servidor lo generará automáticamente. Ten en cuenta que icalUID y el ID no son idénticos, y solo se debe proporcionar uno de ellos en el momento de la creación del evento. Una diferencia en su semántica es que, en los eventos recurrentes, todas las ocurrencias de un evento tienen IDs diferentes, pero todas comparten el mismo icalUID. |
status |
Es el estado del evento. Opcional. Los valores posibles son:
El estado cancelado representa dos estados diferentes según el tipo de evento:
En el calendario del organizador, los eventos cancelados siguen exponiendo los detalles del evento (resumen, ubicación, etcétera) para que se puedan restablecer (deshacer la eliminación). Del mismo modo, los eventos a los que se invitó al usuario y que quitó manualmente siguen proporcionando detalles. Sin embargo, las solicitudes de sincronización incrementales con showDeleted establecido como falso no devolverán estos detalles. Si un evento cambia de organizador (por ejemplo, a través de la operación de movimiento) y el organizador original no está en la lista de asistentes, quedará un evento cancelado en el que solo se garantiza que se completará el campo id. |
htmlLink |
Es un vínculo absoluto a este evento en la IU web del Calendario de Google. Solo lectura. |
created |
Es la fecha y hora de creación del evento (como una marca de tiempo con formato ISO 8601). Solo lectura. |
updated |
Es la fecha y hora de la última modificación de los datos del evento principal (como una marca de tiempo con formato ISO 8601). La actualización de los recordatorios de eventos no provocará este cambio. Solo lectura. |
summary |
Corresponde al título del evento. |
description |
Descripción del evento. Puede contener HTML. Opcional. |
location |
Ubicación geográfica del evento como texto de formato libre. Opcional. |
creator |
Es el creador del evento. Solo lectura. |
organizer |
Es el organizador del evento. Si el organizador también es asistente, esto se indica con una entrada separada en los asistentes con el campo del organizador establecido en verdadero. Solo lectura. |
start |
Es la hora de inicio (inclusive) del evento. En el caso de un evento recurrente, esta es la hora de inicio de la primera instancia. |
end |
Es la hora de finalización (exclusiva) del evento. En el caso de un evento recurrente, esta es la hora de finalización de la primera instancia. |
recurrence[] |
Lista de líneas RRULE, EXRULE, RDATE y EXDATE para un evento recurrente, como se especifica en RFC5545. Ten en cuenta que no se permiten las líneas DTSTART y DTEND en este campo. Las horas de inicio y finalización del evento se especifican en los campos de inicio y finalización. Este campo se omite para eventos únicos o instancias de eventos recurrentes. |
recurringEventId |
En el caso de una instancia de un evento recurrente, es el ID del evento recurrente al que pertenece esta instancia. Inmutable. |
originalStartTime |
En el caso de una instancia de un evento recurrente, es la hora a la que comenzaría este evento según los datos de recurrencia del evento recurrente identificado por recurringEventId. Identifica de forma única la instancia dentro de la serie de eventos recurrentes, incluso si la instancia se trasladó a otro horario. Inmutable. |
transparency |
Indica si el evento bloquea tiempo en el calendario. Opcional. Los valores posibles son:
|
visibility |
Visibilidad del evento. Opcional. Los valores posibles son:
|
attendees[] |
Son los asistentes al evento. |
eventType |
Es el tipo específico del evento. Este parámetro no se puede modificar después de crear el evento. Los valores posibles son:
|
conferenceUrl |
Vínculo de Google Meet para el evento. |
colorId |
ID de color del evento (cadena
En el Calendario de Google, los colores de los eventos funcionan como categorías que se pueden configurar por evento o por serie. Los usuarios pueden asignar etiquetas personalizadas a los colores en la IU web (p.ej., |
overrideReminders[] |
Son los recordatorios definidos para este evento, que anulan los recordatorios predeterminados del calendario. Si no se establece, se usan los recordatorios predeterminados del calendario. |
Principal
| Representación JSON |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| Campos | |
|---|---|
email |
Dirección de correo electrónico del principal (calendario). |
displayName |
Nombre del director, si está disponible. |
self |
Indica si este principal corresponde al calendario en el que aparece esta copia del evento. Solo lectura. El valor predeterminado es False. |
DateOrDateTime
| Representación JSON |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| Campos | |
|---|---|
date |
Es una fecha con formato ISO 8601 a la medianoche (UTC), como |
dateTime |
Es una marca de tiempo con formato ISO 8601, como |
timeZone |
Nombre de la zona horaria de TZDB, si está disponible. |
Asistente
| Representación JSON |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| Campos | |
|---|---|
id |
ID del perfil del asistente, si está disponible. |
email |
Dirección de correo electrónico del asistente, si está disponible. Este campo debe estar presente cuando se agrega un asistente. Debe ser una dirección de correo electrónico válida según el RFC5322. Se requiere cuando se agrega un asistente. |
displayName |
Nombre del asistente, si está disponible. Opcional. |
organizer |
Indica si el asistente es el organizador del evento. Solo lectura. El valor predeterminado es False. |
self |
Indica si esta entrada representa el calendario en el que aparece esta copia del evento. Solo lectura. El valor predeterminado es False. |
resource |
Indica si el asistente es un recurso. Solo se puede configurar cuando se agrega el asistente al evento por primera vez. Se ignoran las modificaciones posteriores. Opcional. El valor predeterminado es False. |
optionalAttendee |
Indica si el asistente es opcional. Opcional. El valor predeterminado es False. |
responseStatus |
Es el estado de respuesta del asistente. Los valores posibles son:
|
comment |
Es el comentario de respuesta del asistente. Opcional. |
additionalGuests |
Cantidad de huéspedes adicionales. Opcional. El valor predeterminado es 0. |
Anotaciones de herramientas
Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌