Outil : list_events
Répertorie les événements d'agenda dans un agenda donné qui répondent aux conditions spécifiées.
Principales fonctionnalités :
- Tout ID d'agenda, qui peut être l'agenda principal de l'utilisateur ou d'autres agendas.
- Filtrage par période.
- Récupère TOUS les événements correspondant aux contraintes temporelles.
Si l'outil search_events est disponible, utilisez-le plutôt pour les recherches dans l'agenda principal de l'utilisateur si :
- Vous recherchez des événements correspondant à un thème, une catégorie ou une intention spécifiques (par exemple, "déjeuners", "synchronisations de projet").
- Vous devez trouver les événements les plus pertinents (K premiers) plutôt que tous les événements qui répondent aux contraintes.
- Vous avez besoin de fonctionnalités de recherche par mot clé ou sémantique.
Utilisez cet outil pour les requêtes telles que :
- Qu'y a-t-il dans mon agenda demain ?
- Qu'y a-t-il dans mon agenda pour le 14 juillet 2025 ?
- Quelles sont mes réunions la semaine prochaine ?
- Est-ce que j'ai des réunions qui se chevauchent cet après-midi ?
Quelles réunions John a-t-il demain ?
Exemple :
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.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP list_events.
| Requête 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 }' |
Schéma d'entrée
ListEventsRequest
| Représentation JSON |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| Champs | |
|---|---|
eventTypeFilter[] |
Facultatif. Types d'événements à renvoyer. Valeurs possibles :
Si ce champ est vide, seuls les types d'événements suivants sont renvoyés : |
Champ d'union
|
|
calendarId |
Facultatif. ID de l'agenda à partir duquel lister les événements. Par défaut, il s'agit de l'agenda principal de l'utilisateur. |
Champ d'union
|
|
pageSize |
Facultatif. Nombre maximal d'événements renvoyés sur une page de résultats. Le nombre d'événements sur la page résultante peut être inférieur à cette valeur, voire nul, même si d'autres événements correspondent à la requête. Les pages incomplètes peuvent être détectées par un champ |
Champ d'union
|
|
pageToken |
Facultatif. Jeton spécifiant la page de résultats à renvoyer. |
Champ d'union
|
|
startTime |
Facultatif. Limite inférieure (exclusive) de l'heure de fin d'un événement. Seuls les événements se terminant strictement après cette heure sont renvoyés (c'est-à-dire le début de la période à rechercher). La valeur par défaut est l'heure actuelle si ni |
Champ d'union
|
|
endTime |
Facultatif. Limite supérieure (exclusive) de l'heure de début d'un événement. Seuls les événements commençant strictement avant cette heure sont renvoyés (c'est-à-dire la fin de la période à rechercher). Si elle est spécifiée, elle doit être supérieure ou égale à |
Champ d'union
|
|
timeZone |
Facultatif. Fuseau horaire utilisé dans la réponse et pour résoudre les dates sans fuseau horaire dans la requête (formaté sous forme de nom de la base de données des fuseaux horaires de l'IANA, par exemple |
Champ d'union
|
|
orderBy |
Facultatif. Ordre dans lequel les événements doivent être renvoyés. Valeurs possibles :
|
Champ d'union
|
|
fullText |
Facultatif. Requête de recherche au format libre pour rechercher un titre, une description, un lieu et des participants. |
Schéma de sortie
ListEventsResponse
| Représentation JSON |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| Champs | |
|---|---|
summary |
Titre de l'agenda. |
description |
Description de l'agenda. |
updated |
Date et heure de la dernière modification de l'agenda (au format ISO 8601). |
timeZone |
Fuseau horaire de l'agenda. |
accessRole |
Rôle d'accès de l'utilisateur pour cet agenda. Lecture seule. Valeurs possibles :
|
defaultReminders[] |
Rappels par défaut dans l'agenda de l'utilisateur authentifié. Ces rappels s'appliquent à tous les événements de cet agenda qui ne les remplacent pas explicitement (c'est-à-dire qui ne renseignent pas override_reminders). |
events[] |
Liste des événements de l'agenda. |
Champ d'union
|
|
nextPageToken |
Jeton utilisé pour accéder à la page suivante de ce résultat. Omis si aucun autre résultat n'est disponible. |
Rappel
| Représentation JSON |
|---|
{ "method": string "minutes": integer } |
| Champs | |
|---|---|
Champ d'union
|
|
method |
Obligatoire. Mode d'envoi du rappel à l'utilisateur. Valeurs possibles :
|
Champ d'union
|
|
minutes |
Obligatoire. Nombre de minutes avant l'événement auquel le rappel doit être envoyé. |
Événement
| Représentation JSON |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| Champs | |
|---|---|
id |
Identifiant opaque de l'événement. Lorsque vous créez des événements uniques ou récurrents, vous pouvez spécifier leurs ID. Les ID fournis doivent respecter les règles suivantes :
En raison de la nature distribuée à l'échelle mondiale du système, nous ne pouvons pas garantir que les collisions d'ID seront détectées au moment de la création de l'événement. Pour minimiser le risque de collisions, nous vous recommandons d'utiliser un algorithme UUID établi, tel que celui décrit dans la RFC4122. Si vous ne spécifiez pas d'ID, il sera généré automatiquement par le serveur. Notez que les valeurs icalUID et id ne sont pas identiques. Vous ne devez fournir qu'une seule de ces valeurs lors de la création de l'événement. Une différence sémantique réside dans le fait que, dans les événements récurrents, toutes les occurrences d'un événement ont des ID différents, mais partagent toutes les mêmes icalUID. |
status |
État de l'événement. Facultatif. Valeurs possibles :
L'état "Annulée" représente deux états différents selon le type d'événement :
Dans l'agenda de l'organisateur, les événements annulés continuent d'afficher les détails de l'événement (résumé, lieu, etc.) afin de pouvoir être restaurés. De même, les événements auxquels l'utilisateur a été invité et qu'il a supprimés manuellement continuent de fournir des détails. Toutefois, les demandes de synchronisation incrémentielle avec showDeleted défini sur "false" ne renverront pas ces informations. Si l'organisateur d'un événement change (par exemple, via l'opération de déplacement) et que l'organisateur d'origine ne figure pas dans la liste des participants, un événement annulé sera laissé derrière, où seul le champ "id" est garanti d'être renseigné. |
htmlLink |
Lien absolu vers cet événement dans l'interface utilisateur Web de Google Agenda. Lecture seule. |
created |
Heure de création de l'événement (code temporel au format ISO 8601). Lecture seule. |
updated |
Heure de la dernière modification des données d'événement principales (sous forme de code temporel au format ISO 8601). La modification des rappels d'événements n'aura aucune incidence. Lecture seule. |
summary |
Titre de l'événement. |
description |
Description de l'événement. Peut contenir du code HTML. Facultatif. |
location |
Emplacement géographique de l'événement sous forme de texte libre. Facultatif. |
creator |
Créateur de l'événement. Lecture seule. |
organizer |
Organisateur de l'événement. Si l'organisateur est également un participant, cela est indiqué dans une entrée distincte dans la liste des participants, avec le champ "organisateur" défini sur "True". Lecture seule. |
start |
Heure de début (incluse) de l'événement. Pour un événement périodique, il s'agit de l'heure de début de la première instance. |
end |
Heure de fin (exclusive) de l'événement. Pour un événement périodique, il s'agit de l'heure de fin de la première instance. |
recurrence[] |
Liste des lignes RRULE, EXRULE, RDATE et EXDATE pour un événement périodique, comme spécifié dans la RFC5545. Notez que les lignes DTSTART et DTEND ne sont pas autorisées dans ce champ. Les heures de début et de fin de l'événement sont spécifiées dans les champs de début et de fin. Ce champ est omis pour les événements ponctuels ou les instances d'événements récurrents. |
recurringEventId |
Pour une instance d'événement périodique, il s'agit de l'ID de l'événement périodique auquel appartient cette instance. Immuable. |
originalStartTime |
Pour une instance d'un événement périodique, il s'agit de l'heure à laquelle cet événement doit commencer selon les données de récurrence de l'événement périodique identifié par recurringEventId. Il identifie de manière unique l'instance dans la série d'événements périodiques, même si elle a été déplacée à une autre heure. Immuable. |
transparency |
Indique si l'événement bloque du temps dans l'agenda. Facultatif. Valeurs possibles :
|
visibility |
Visibilité de l'événement. Facultatif. Valeurs possibles :
|
attendees[] |
Participants à l'événement. |
eventType |
Type spécifique de l'événement. Vous ne pourrez plus modifier ce paramètre une fois l'événement créé. Valeurs possibles :
|
conferenceUrl |
Lien Google Meet vers l'événement. |
colorId |
ID de couleur de l'événement (chaîne
Dans Google Agenda, les couleurs des événements fonctionnent comme des catégories. Vous pouvez les définir pour chaque événement ou chaque série. Les utilisateurs peuvent attribuer des libellés personnalisés aux couleurs dans l'UI Web (par exemple, |
overrideReminders[] |
Rappels définis pour cet événement, qui remplacent les rappels par défaut de l'agenda. Si ce paramètre n'est pas défini, les rappels par défaut du calendrier sont utilisés. |
Compte principal
| Représentation JSON |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| Champs | |
|---|---|
email |
Adresse e-mail du compte principal (agenda). |
displayName |
Nom du responsable, s'il est disponible. |
self |
Indique si ce principal correspond à l'agenda dans lequel cette copie de l'événement apparaît. Lecture seule. La valeur par défaut est "False" (faux). |
DateOrDateTime
| Représentation JSON |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| Champs | |
|---|---|
date |
Date au format ISO 8601 à minuit UTC, par exemple |
dateTime |
Code temporel au format ISO 8601, tel que |
timeZone |
Nom du fuseau horaire TZDB, si disponible. |
Participant
| Représentation JSON |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| Champs | |
|---|---|
id |
ID de profil du participant, s'il est disponible. |
email |
Adresse e-mail du participant, si disponible. Ce champ doit être présent lorsque vous ajoutez un participant. Il doit s'agir d'une adresse e-mail valide conformément à la norme RFC5322. Obligatoire lors de l'ajout d'un participant. |
displayName |
Nom du participant, s'il est disponible. Facultatif. |
organizer |
Indique si le participant est l'organisateur de l'événement. Lecture seule. La valeur par défaut est "False" (faux). |
self |
Indique si cette entrée représente l'agenda dans lequel cette copie de l'événement apparaît. Lecture seule. La valeur par défaut est "False" (faux). |
resource |
Indique si le participant est une ressource. Ne peut être défini que lorsque le participant est ajouté à l'événement pour la première fois. Les modifications ultérieures sont ignorées. Facultatif. La valeur par défaut est "False" (faux). |
optionalAttendee |
Indique si le participant est facultatif. Facultatif. La valeur par défaut est "False" (faux). |
responseStatus |
État de la réponse du participant. Valeurs possibles :
|
comment |
Commentaire de la réponse du participant. Facultatif. |
additionalGuests |
Nombre d'invités supplémentaires. Facultatif. La valeur par défaut est 0. |
Annotations d'outils
Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌