Strumento: list_events
Elenca gli eventi del calendario in un determinato calendario che soddisfano le condizioni specificate.
Funzionalità principali:
- Qualsiasi ID calendario, che può essere il calendario principale dell'utente o altri.
- Filtro dell'intervallo di tempo.
- Recupera TUTTI gli eventi che corrispondono ai vincoli temporali.
Se disponibile, utilizza lo strumento search_events per le ricerche nel calendario principale dell'utente se:
- Stai eseguendo una query per eventi che corrispondono a un argomento, una categoria o un intento specifico (ad es. "pranzi di lavoro", "aggiornamenti di progetto").
- Devi trovare i primi K eventi più pertinenti anziché tutti gli eventi che soddisfano i vincoli.
- Devi disporre delle funzionalità di ricerca semantica o per parola chiave.
Utilizza questo strumento per query come:
- Cosa c'è nel mio calendario domani?
- Cosa è segnato sul mio calendario per il 14 luglio 2025?
- Quali sono le mie riunioni della prossima settimana?
- Ho qualche conflitto questo pomeriggio?
Quali riunioni ha Giovanni domani?
Esempio:
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.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP list_events.
| Curl Request |
|---|
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 }' |
Schema di input
ListEventsRequest
| Rappresentazione JSON |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| Campi | |
|---|---|
eventTypeFilter[] |
Facoltativo. I tipi di eventi da restituire. I valori possibili sono:
Se è vuoto, vengono restituiti solo i seguenti tipi di eventi: |
Campo unione
|
|
calendarId |
Facoltativo. L'ID del calendario da cui elencare gli eventi. Il valore predefinito è il calendario principale dell'utente. |
Campo unione
|
|
pageSize |
Facoltativo. Numero massimo di eventi restituiti in una pagina dei risultati. Il numero di eventi nella pagina risultante potrebbe essere inferiore a questo valore o pari a zero, anche se ci sono più eventi che corrispondono alla query. Le pagine incomplete possono essere rilevate da un campo |
Campo unione
|
|
pageToken |
Facoltativo. Token che specifica quale pagina dei risultati restituire. |
Campo unione
|
|
startTime |
Facoltativo. Limite inferiore (esclusivo) per l'ora di fine di un evento. Vengono restituiti solo gli eventi che terminano rigorosamente dopo questo orario (ovvero l'inizio della finestra temporale in cui eseguire la ricerca). Se non vengono forniti né |
Campo unione
|
|
endTime |
Facoltativo. Limite superiore (esclusivo) per l'ora di inizio di un evento. Vengono restituiti solo gli eventi che iniziano prima di questo orario (ovvero la fine della finestra temporale di ricerca). Se specificato, deve essere maggiore o uguale a |
Campo unione
|
|
timeZone |
Facoltativo. Il fuso orario utilizzato nella risposta e per risolvere le date senza fuso orario nella richiesta (formattato come nome del database dei fusi orari IANA, ad es. |
Campo unione
|
|
orderBy |
Facoltativo. L'ordine in cui devono essere restituiti gli eventi. I valori possibili sono:
|
Campo unione
|
|
fullText |
Facoltativo. Query di ricerca in formato libero per cercare in titolo, descrizione, posizione e partecipanti. |
Schema di output
ListEventsResponse
| Rappresentazione JSON |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| Campi | |
|---|---|
summary |
Il titolo del calendario. |
description |
Descrizione del calendario. |
updated |
L'ora dell'ultima modifica del calendario (come timestamp ISO 8601). |
timeZone |
Il fuso orario del calendario. |
accessRole |
Il ruolo di accesso dell'utente per questo calendario. Sola lettura. I valori possibili sono:
|
defaultReminders[] |
I promemoria predefiniti sul calendario per l'utente autenticato. Questi promemoria si applicano a tutti gli eventi di questo calendario che non li sostituiscono esplicitamente (ovvero non compilano override_reminders). |
events[] |
Elenco degli eventi nel calendario. |
Campo unione
|
|
nextPageToken |
Token utilizzato per accedere alla pagina successiva di questo risultato. Omesso se non sono disponibili altri risultati. |
Promemoria
| Rappresentazione JSON |
|---|
{ "method": string "minutes": integer } |
| Campi | |
|---|---|
Campo unione
|
|
method |
Obbligatorio. Come viene recapitato il promemoria all'utente. I valori possibili sono:
|
Campo unione
|
|
minutes |
Obbligatorio. Numero di minuti di anticipo con cui deve essere inviato il promemoria. |
Evento
| Rappresentazione JSON |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| Campi | |
|---|---|
id |
Identificatore opaco dell'evento. Quando crei eventi singoli o ricorrenti, puoi specificarne gli ID. Gli ID forniti devono rispettare le seguenti regole:
A causa della natura distribuita a livello globale del sistema, non possiamo garantire che le collisioni di ID vengano rilevate al momento della creazione dell'evento. Per ridurre al minimo il rischio di collisioni, ti consigliamo di utilizzare un algoritmo UUID consolidato, ad esempio quello descritto in RFC4122. Se non specifichi un ID, questo verrà generato automaticamente dal server. Tieni presente che icalUID e id non sono identici e solo uno dei due deve essere fornito al momento della creazione dell'evento. Una differenza nella loro semantica è che negli eventi ricorrenti tutte le occorrenze di un evento hanno ID diversi, mentre condividono tutti gli stessi icalUID. |
status |
Stato dell'evento. Facoltativo. I valori possibili sono:
Lo stato Annullato rappresenta due stati diversi a seconda del tipo di evento:
Nel calendario dell'organizzatore, gli eventi annullati continuano a mostrare i dettagli (riepilogo, posizione e così via) in modo che possano essere ripristinati (recuperati). Allo stesso modo, gli eventi a cui l'utente è stato invitato e che ha rimosso manualmente continuano a fornire dettagli. Tuttavia, le richieste di sincronizzazione incrementale con showDeleted impostato su false non restituiranno questi dettagli. Se un evento cambia organizzatore (ad esempio tramite l'operazione di spostamento) e l'organizzatore originale non è presente nell'elenco dei partecipanti, verrà lasciato un evento annullato in cui è garantito il popolamento solo del campo ID. |
htmlLink |
Un link assoluto a questo evento nell'interfaccia utente web di Google Calendar. Sola lettura. |
created |
Ora di creazione dell'evento (come timestamp formattato ISO 8601). Sola lettura. |
updated |
Ora dell'ultima modifica dei dati sugli eventi principali (come timestamp formattato ISO 8601). L'aggiornamento dei promemoria degli eventi non comporterà questa modifica. Sola lettura. |
summary |
Titolo dell'evento. |
description |
Descrizione dell'evento. Può contenere HTML. Facoltativo. |
location |
La posizione geografica dell'evento come testo in formato libero. Facoltativo. |
creator |
Il creatore dell'evento. Sola lettura. |
organizer |
L'organizzatore dell'evento. Se l'organizzatore è anche un partecipante, questo viene indicato con una voce separata nei partecipanti con il campo dell'organizzatore impostato su True. Sola lettura. |
start |
L'ora di inizio (inclusa) dell'evento. Per un evento ricorrente, si tratta dell'ora di inizio della prima istanza. |
end |
L'ora di fine dell'evento (esclusa). Per un evento ricorrente, si tratta dell'ora di fine della prima istanza. |
recurrence[] |
Elenco di righe RRULE, EXRULE, RDATE ed EXDATE per un evento ricorrente, come specificato in RFC5545. Tieni presente che le righe DTSTART e DTEND non sono consentite in questo campo; l'ora di inizio e di fine dell'evento sono specificate nei campi Inizio e Fine. Questo campo viene omesso per i singoli eventi o le istanze di eventi ricorrenti. |
recurringEventId |
Per un'istanza di un evento ricorrente, questo è l'ID dell'evento ricorrente a cui appartiene l'istanza. Immutabile. |
originalStartTime |
Per un'istanza di un evento ricorrente, questo è l'orario in cui l'evento dovrebbe iniziare in base ai dati di ricorrenza nell'evento ricorrente identificato da recurringEventId. Identifica in modo univoco l'istanza all'interno della serie di eventi ricorrenti, anche se l'istanza è stata spostata a un altro orario. Immutabile. |
transparency |
Indica se l'evento blocca del tempo nel calendario. Facoltativo. I valori possibili sono:
|
visibility |
Visibilità dell'evento. Facoltativo. I valori possibili sono:
|
attendees[] |
I partecipanti all'evento. |
eventType |
Tipo specifico di evento. Questo valore non può essere modificato dopo la creazione dell'evento. I valori possibili sono:
|
conferenceUrl |
Il link di Google Meet per l'evento. |
colorId |
ID colore evento (stringa
In Google Calendar, i colori degli eventi funzionano come categorie, impostabili per evento o per serie. Gli utenti possono assegnare etichette personalizzate ai colori nell'interfaccia utente web (ad es. |
overrideReminders[] |
Promemoria definiti per questo evento, che sostituiscono i promemoria predefiniti per il calendario. Se non viene impostato, vengono utilizzati i promemoria predefiniti del calendario. |
Entità
| Rappresentazione JSON |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| Campi | |
|---|---|
email |
Indirizzo email dell'entità (calendario). |
displayName |
Il nome dell'entità, se disponibile. |
self |
Indica se questo principal corrisponde al calendario in cui viene visualizzata questa copia dell'evento. Sola lettura. Il valore predefinito è False. |
DateOrDateTime
| Rappresentazione JSON |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| Campi | |
|---|---|
date |
Una data in formato ISO 8601 a mezzanotte UTC, ad esempio |
dateTime |
Un timestamp in formato ISO 8601, ad esempio |
timeZone |
Nome del fuso orario TZDB, se disponibile. |
Partecipante
| Rappresentazione JSON |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| Campi | |
|---|---|
id |
L'ID profilo del partecipante, se disponibile. |
email |
L'indirizzo email del partecipante, se disponibile. Questo campo deve essere presente quando viene aggiunto un partecipante. Deve essere un indirizzo email valido secondo RFC5322. Obbligatorio quando viene aggiunto un partecipante. |
displayName |
Il nome del partecipante, se disponibile. Facoltativo. |
organizer |
Se il partecipante è l'organizzatore dell'evento. Sola lettura. Il valore predefinito è False. |
self |
Indica se questa voce rappresenta il calendario in cui viene visualizzata questa copia dell'evento. Sola lettura. Il valore predefinito è False. |
resource |
Indica se il partecipante è una risorsa. Può essere impostato solo quando il partecipante viene aggiunto all'evento per la prima volta. Le modifiche successive vengono ignorate. Facoltativo. Il valore predefinito è False. |
optionalAttendee |
Indica se si tratta di un partecipante facoltativo. Facoltativo. Il valore predefinito è False. |
responseStatus |
Lo stato della risposta del partecipante. I valori possibili sono:
|
comment |
Il commento di risposta del partecipante. Facoltativo. |
additionalGuests |
Numero di ospiti aggiuntivi. Facoltativo. Il valore predefinito è 0. |
Annotazioni dello strumento
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌