MCP Tools Reference: calendarmcp.googleapis.com

Strumento: update_event

Aggiorna un evento nel calendario specificato.

Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP update_event.

Richiesta curl
curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schema di input

Messaggio di richiesta per UpdateEvent. I campi non impostati non verranno aggiornati.

UpdateEventRequest

Rappresentazione JSON
{
  "eventId": string,
  "addedAttendeeEmails": [
    string
  ],
  "addedAttendees": [
    {
      object (Attendee)
    }
  ],
  "removedAttendeeEmails": [
    string
  ],
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "addedAttachments": [
    {
      object (Attachment)
    }
  ],
  "removedAttachmentFileUrls": [
    string
  ],

  "calendarId": string

  "summary": string

  "description": string

  "location": string

  "startTime": string

  "endTime": string

  "allDay": boolean

  "timeZone": string

  "notificationLevel": enum (NotificationLevel)

  "addGoogleMeetUrl": boolean

  "visibility": string

  "colorId": string

  "googleMeetUrl": string

  "guestPermissions": {
    object (GuestPermissions)
  }

  "availability": enum (Availability)
}
Campi
eventId

string

Obbligatorio. ID evento.

addedAttendeeEmails[]
(deprecated)

string

Facoltativo. Deprecato: utilizza added_attendees.

addedAttendees[]

object (Attendee)

Facoltativo. Partecipanti da aggiungere all'evento.

removedAttendeeEmails[]

string

Facoltativo. I partecipanti all'evento da rimuovere, come indirizzi email.

overrideReminders[]

object (Reminder)

Facoltativo. Se impostato, sostituisce tutti i promemoria esistenti per l'evento.

addedAttachments[]

object (Attachment)

Facoltativo. File allegati da aggiungere all'evento.

removedAttachmentFileUrls[]

string

Facoltativo. File allegati da rimuovere dall'evento.

Campo unione _calendar_id.

_calendar_id può essere solo uno dei seguenti tipi:

calendarId

string

Facoltativo. L'ID del calendario contenente l'evento. Indirizzo email: può essere risolto utilizzando list_calendars. Valore predefinito: calendario principale.

Campo unione _summary.

_summary può essere solo uno dei seguenti tipi:

summary

string

Facoltativo. Nuovo titolo.

Campo unione _description.

_description può essere solo uno dei seguenti tipi:

description

string

Facoltativo. Nuova descrizione. Può contenere HTML.

Campo unione _location.

_location può essere solo uno dei seguenti tipi:

location

string

Facoltativo. Nuova posizione.

Campo unione _start_time.

_start_time può essere solo uno dei seguenti tipi:

startTime

string

Facoltativo. Nuovo orario di inizio (ISO 8601). Conserva la durata se viene aggiornato solo l'inizio.

Campo unione _end_time.

_end_time può essere solo uno dei seguenti tipi:

endTime

string

Facoltativo. Nuovo orario di fine (ISO 8601).

Campo unione _all_day.

_all_day può essere solo uno dei seguenti tipi:

allDay

boolean

Facoltativo. Modifica l'evento in modo che duri tutto il giorno. Se impostati, devono essere forniti anche start_time/end_time.

Campo unione _time_zone.

_time_zone può essere solo uno dei seguenti tipi:

timeZone

string

Facoltativo. Nome del database dei fusi orari IANA (ad esempio, America/Los_Angeles). Valore predefinito: il fuso orario principale dell'utente. Esegue l'override degli offset in start_time e end_time.

Campo unione _notification_level.

_notification_level può essere solo uno dei seguenti tipi:

notificationLevel

enum (NotificationLevel)

Facoltativo. Notifica email da inviare per questo aggiornamento dell'evento. Valore predefinito: ALL.

Campo unione _add_google_meet_url.

_add_google_meet_url può essere solo uno dei seguenti tipi:

addGoogleMeetUrl

boolean

Facoltativo. Se è true, crea o aggiorna un URL di Google Meet per l'evento. Ignorato se Meet è disattivato.

Campo unione _visibility.

_visibility può essere solo uno dei seguenti tipi:

visibility

string

Facoltativo. La nuova visibilità dell'evento. I valori possibili sono:

  • default: utilizza la visibilità predefinita per gli eventi nel calendario. Valore predefinito.
  • public: i dettagli dell'evento sono visibili a tutti i lettori del calendario.
  • private - L'evento è privato e solo i partecipanti possono visualizzarne i dettagli.

Campo unione _color_id.

_color_id può essere solo uno dei seguenti tipi:

colorId

string

Facoltativo. Il nuovo colore dell'evento. Per un elenco degli ID colore, consulta la documentazione della risorsa Evento.

Campo unione _google_meet_url.

_google_meet_url può essere solo uno dei seguenti tipi:

googleMeetUrl

string

Facoltativo. Consente di allegare all'evento un URL o un ID riunione di Google Meet esistente. Esegue l'override del valore di addGoogleMeetUrl.

Campo unione _guest_permissions.

_guest_permissions può essere solo uno dei seguenti tipi:

guestPermissions

object (GuestPermissions)

Facoltativo. Impostazioni delle autorizzazioni per gli invitati per questo evento.

Campo unione _availability.

_availability può essere solo uno dei seguenti tipi:

availability

enum (Availability)

Facoltativo. Indica se l'evento blocca del tempo nel calendario.

Partecipante

Rappresentazione JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Campi

Campo unione _id.

_id può essere solo uno dei seguenti tipi:

id

string

Solo output. ID profilo.

Campo unione _email.

_email può essere solo uno dei seguenti tipi:

email

string

Obbligatorio. L'indirizzo email del partecipante.

Campo unione _display_name.

_display_name può essere solo uno dei seguenti tipi:

displayName

string

Facoltativo. Nome

Campo unione _organizer.

_organizer può essere solo uno dei seguenti tipi:

organizer

boolean

Solo output. Indica se il partecipante è l'organizzatore. Valore predefinito: false.

Campo unione _self.

_self può essere solo uno dei seguenti tipi:

self

boolean

Solo output. Indica se questa voce rappresenta il calendario in cui viene visualizzata questa copia dell'evento. Valore predefinito: false.

Campo unione _resource.

_resource può essere solo uno dei seguenti tipi:

resource

boolean

Facoltativo. Indica se il partecipante è una risorsa (ad esempio una stanza). Immutabile, può essere impostato solo quando il partecipante viene aggiunto inizialmente. Valore predefinito: false.

Campo unione _optional_attendee.

_optional_attendee può essere solo uno dei seguenti tipi:

optionalAttendee

boolean

Facoltativo. Indica se il partecipante è facoltativo. Valore predefinito: false.

Campo unione _response_status.

_response_status può essere solo uno dei seguenti tipi:

responseStatus

string

Facoltativo. Stato della risposta. I valori possibili sono:

  • needsAction - Il partecipante non ha risposto all'invito (opzione consigliata per i nuovi eventi).
  • declined: il partecipante ha rifiutato l'invito.
  • tentative: il partecipante ha accettato provvisoriamente l'invito.
  • accepted: il partecipante ha accettato l'invito.

Campo unione _comment.

_comment può essere solo uno dei seguenti tipi:

comment

string

Solo output. Commento alla risposta.

Campo unione _additional_guests.

_additional_guests può essere solo uno dei seguenti tipi:

additionalGuests

integer

Facoltativo. Numero di ospiti aggiuntivi. Valore predefinito: 0.

Promemoria

Rappresentazione JSON
{

  "method": string

  "minutes": integer
}
Campi

Campo unione _method.

_method può essere solo uno dei seguenti tipi:

method

string

Obbligatorio. Metodo di pubblicazione. I valori possibili sono:

  • email - I promemoria vengono inviati via email.
  • popup: i promemoria vengono inviati tramite un popup dell'interfaccia utente.

Campo unione _minutes.

_minutes può essere solo uno dei seguenti tipi:

minutes

integer

Obbligatorio. Minuti di anticipo con cui viene attivato il promemoria.

Allegato

Rappresentazione JSON
{

  "fileUrl": string

  "title": string
}
Campi

Campo unione _file_url.

_file_url può essere solo uno dei seguenti tipi:

fileUrl

string

Obbligatorio. Link URL all'allegato.

Campo unione _title.

_title può essere solo uno dei seguenti tipi:

title

string

Facoltativo. Titolo dell'allegato.

GuestPermissions

Rappresentazione JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Campi

Campo unione _guests_can_invite_others.

_guests_can_invite_others può essere solo uno dei seguenti tipi:

guestsCanInviteOthers

boolean

Facoltativo. Se gli invitati possono invitare altre persone.

Campo unione _guests_can_modify.

_guests_can_modify può essere solo uno dei seguenti tipi:

guestsCanModify

boolean

Facoltativo. Indica se gli invitati possono modificare l'evento.

Campo unione _guests_can_see_guests.

_guests_can_see_guests può essere solo uno dei seguenti tipi:

guestsCanSeeGuests

boolean

Facoltativo. Se gli invitati possono vedere gli altri invitati.

NotificationLevel

Livello di notifica via email per gli aggiornamenti.

Enum
NOTIFICATION_LEVEL_UNSPECIFIED Predefinita. Considerato come ALL.
NONE Nessuna notifica.
EXTERNAL_ONLY Solo partecipanti esterni.
ALL Tutti i partecipanti.

Disponibilità

Impostazione della disponibilità per un evento.

Enum
AVAILABILITY_UNSPECIFIED Predefinita. Considerato come BUSY.
AVAILABILITY_BUSY Blocca l'ora nel calendario.
AVAILABILITY_FREE Non blocca il tempo.

Schema di output

Evento

Rappresentazione JSON
{
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": string,
  "updated": string,
  "summary": string,
  "description": string,
  "location": string,
  "creator": {
    object (Principal)
  },
  "organizer": {
    object (Principal)
  },
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  },
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    object (DateOrDateTime)
  },
  "transparency": string,
  "visibility": string,
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ],
  "guestPermissions": {
    object (GuestPermissions)
  },
  "eventType": enum (EventType),
  "workingLocationProperties": {
    object (WorkingLocationProperties)
  },
  "availability": enum (Availability)
}
Campi
id

string

Identificatore univoco.

status

string

Facoltativo. Stato. I valori possibili sono:

  • confirmed - Evento confermato (impostazione predefinita).
  • tentative - Evento confermato provvisoriamente.
  • cancelled - L'evento è annullato o eliminato.

htmlLink

string

Solo output. Un link assoluto a questo evento nell'interfaccia utente web di Google Calendar.

created

string

Solo output. Data/ora di creazione (ISO 8601).

updated

string

Solo output. Data/ora ultima modifica (ISO 8601).

summary

string

Titolo.

description

string

Facoltativo. Descrizione. Può contenere HTML.

location

string

Facoltativo. Posizione.

creator

object (Principal)

Solo output. Creator.

organizer

object (Principal)

Solo output. Organizzatore. Se partecipa, è elencato anche tra i partecipanti.

start

object (DateOrDateTime)

Ora di inizio (inclusa). Per gli eventi ricorrenti viene utilizzata la prima istanza.

end

object (DateOrDateTime)

Ora di fine (esclusa). Per gli eventi ricorrenti viene utilizzata la prima istanza.

recurrence[]

string

Regole di ricorrenza come stringhe RRULE, EXRULE, RDATE o EXDATE (in base a RFC 5545). Omesso per i singoli eventi. Le ore di inizio/fine devono essere impostate nei campi start/end.

recurringEventId

string

ID evento ricorrente principale per le istanze di eventi ricorrenti.

originalStartTime

object (DateOrDateTime)

Ora di inizio originale delle istanze ricorrenti. Questa è l'ora in cui questa istanza dovrebbe iniziare in base ai dati di ricorrenza.

transparency
(deprecated)

string

Facoltativo. Deprecato: utilizza availability.

visibility

string

Facoltativo. Visibilità dell'evento. I valori possibili sono:

  • default: utilizza la visibilità predefinita per gli eventi nel calendario. Questo è il valore predefinito.
  • public: i dettagli dell'evento sono visibili a tutti i lettori del calendario.
  • private: solo i partecipanti all'evento possono visualizzare i dettagli dell'evento.

attendees[]

object (Attendee)

Partecipanti.

conferenceUrl

string

Link alla videoconferenza.

colorId

string

Il colore dell'evento. Influisce solo sulla visualizzazione del tuo calendario. Si tratta di un ID che fa riferimento a una voce nella tavolozza dei colori del calendario (stringa '1'-'11'):

  • 1: Lavanda
  • 2: Verde salvia
  • 3: Uva
  • 4: Fenicottero
  • 5: Banana
  • 6: Mandarino
  • 7: Blu pavone
  • 8: Grafite
  • 9: Mirtillo
  • 10: Basilico
  • 11: Pomodoro.

overrideReminders[]

object (Reminder)

Promemoria. Se non impostato, vengono ripristinate le impostazioni predefinite del calendario.

attachments[]

object (Attachment)

Allegati dei file.

guestPermissions

object (GuestPermissions)

Autorizzazioni per gli invitati.

eventType

enum (EventType)

Tipo di evento.

workingLocationProperties

object (WorkingLocationProperties)

Proprietà del luogo di lavoro. Compilato solo quando event_type è WORKING_LOCATION.

availability

enum (Availability)

Facoltativo. Impostazione di disponibilità.

Entità

Rappresentazione JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Campi
email

string

le email,

displayName

string

Nome

self

boolean

Solo output. Indica se questo principal corrisponde al calendario in cui viene visualizzata questa copia dell'evento. Valore predefinito: false.

DateOrDateTime

Rappresentazione JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Campi
date

string

Data ISO 8601 a mezzanotte UTC (ad esempio, '2019-11-20T00:00:00Z').

dateTime

string

Timestamp ISO 8601 (ad esempio, '2019-11-20T08:19:06-07:00').

timeZone

string

Nome del fuso orario TZDB.

Partecipante

Rappresentazione JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Campi

Campo unione _id.

_id può essere solo uno dei seguenti tipi:

id

string

Solo output. ID profilo.

Campo unione _email.

_email può essere solo uno dei seguenti tipi:

email

string

Obbligatorio. L'indirizzo email del partecipante.

Campo unione _display_name.

_display_name può essere solo uno dei seguenti tipi:

displayName

string

Facoltativo. Nome

Campo unione _organizer.

_organizer può essere solo uno dei seguenti tipi:

organizer

boolean

Solo output. Indica se il partecipante è l'organizzatore. Valore predefinito: false.

Campo unione _self.

_self può essere solo uno dei seguenti tipi:

self

boolean

Solo output. Indica se questa voce rappresenta il calendario in cui viene visualizzata questa copia dell'evento. Valore predefinito: false.

Campo unione _resource.

_resource può essere solo uno dei seguenti tipi:

resource

boolean

Facoltativo. Indica se il partecipante è una risorsa (ad esempio una stanza). Immutabile, può essere impostato solo quando il partecipante viene aggiunto inizialmente. Valore predefinito: false.

Campo unione _optional_attendee.

_optional_attendee può essere solo uno dei seguenti tipi:

optionalAttendee

boolean

Facoltativo. Indica se il partecipante è facoltativo. Valore predefinito: false.

Campo unione _response_status.

_response_status può essere solo uno dei seguenti tipi:

responseStatus

string

Facoltativo. Stato della risposta. I valori possibili sono:

  • needsAction - Il partecipante non ha risposto all'invito (opzione consigliata per i nuovi eventi).
  • declined: il partecipante ha rifiutato l'invito.
  • tentative: il partecipante ha accettato provvisoriamente l'invito.
  • accepted: il partecipante ha accettato l'invito.

Campo unione _comment.

_comment può essere solo uno dei seguenti tipi:

comment

string

Solo output. Commento alla risposta.

Campo unione _additional_guests.

_additional_guests può essere solo uno dei seguenti tipi:

additionalGuests

integer

Facoltativo. Numero di ospiti aggiuntivi. Valore predefinito: 0.

Promemoria

Rappresentazione JSON
{

  "method": string

  "minutes": integer
}
Campi

Campo unione _method.

_method può essere solo uno dei seguenti tipi:

method

string

Obbligatorio. Metodo di pubblicazione. I valori possibili sono:

  • email - I promemoria vengono inviati via email.
  • popup: i promemoria vengono inviati tramite un popup dell'interfaccia utente.

Campo unione _minutes.

_minutes può essere solo uno dei seguenti tipi:

minutes

integer

Obbligatorio. Minuti di anticipo con cui viene attivato il promemoria.

Allegato

Rappresentazione JSON
{

  "fileUrl": string

  "title": string
}
Campi

Campo unione _file_url.

_file_url può essere solo uno dei seguenti tipi:

fileUrl

string

Obbligatorio. Link URL all'allegato.

Campo unione _title.

_title può essere solo uno dei seguenti tipi:

title

string

Facoltativo. Titolo dell'allegato.

GuestPermissions

Rappresentazione JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Campi

Campo unione _guests_can_invite_others.

_guests_can_invite_others può essere solo uno dei seguenti tipi:

guestsCanInviteOthers

boolean

Facoltativo. Se gli invitati possono invitare altre persone.

Campo unione _guests_can_modify.

_guests_can_modify può essere solo uno dei seguenti tipi:

guestsCanModify

boolean

Facoltativo. Indica se gli invitati possono modificare l'evento.

Campo unione _guests_can_see_guests.

_guests_can_see_guests può essere solo uno dei seguenti tipi:

guestsCanSeeGuests

boolean

Facoltativo. Se gli invitati possono vedere gli altri invitati.

WorkingLocationProperties

Rappresentazione JSON
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Campi

Campo unione _type.

_type può essere solo uno dei seguenti tipi:

type

enum (WorkingLocationType)

Facoltativo. Tipo di luogo di lavoro.

Campo unione _custom_location_label.

_custom_location_label può essere solo uno dei seguenti tipi:

customLocationLabel

string

Facoltativo. L'etichetta di una località personalizzata. Obbligatorio se il tipo è CUSTOM_LOCATION.

EventType

Tipo di evento. Immutabile dopo la creazione.

Enum
EVENT_TYPE_UNSPECIFIED Considerato come DEFAULT.
DEFAULT Evento regolare. Valore predefinito.
OUT_OF_OFFICE Evento fuori sede.
FOCUS_TIME Evento di momento di concentrazione.
WORKING_LOCATION Evento riguardante il luogo di lavoro.
BIRTHDAY Evento speciale che dura tutto il giorno con una ricorrenza annuale.
FROM_GMAIL Evento da Gmail. Non è possibile creare questo tipo di evento.

WorkingLocationType

Tipo di luogo di lavoro.

Enum
WORKING_LOCATION_TYPE_UNSPECIFIED Tipo di luogo di lavoro non specificato. Verrà considerato come HOME_OFFICE.
HOME_OFFICE Ufficio domestico.
CUSTOM_LOCATION Località personalizzata.

Disponibilità

Impostazione della disponibilità per un evento.

Enum
AVAILABILITY_UNSPECIFIED Predefinita. Considerato come BUSY.
AVAILABILITY_BUSY Blocca l'ora nel calendario.
AVAILABILITY_FREE Non blocca il tempo.

Annotazioni dello strumento

Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.events