MCP Tools Reference: calendarmcp.googleapis.com

Strumento: create_event

Crea un evento nel calendario specificato.

Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_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": "create_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schema di input

Messaggio di richiesta per CreateEvent.

CreateEventRequest

Rappresentazione JSON
{
  "summary": string,
  "startTime": string,
  "endTime": string,
  "attendeeEmails": [
    string
  ],
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "recurrenceData": [
    string
  ],
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ],

  "calendarId": string

  "description": string

  "location": string

  "allDay": boolean

  "timeZone": string

  "notificationLevel": enum (NotificationLevel)

  "addGoogleMeetUrl": boolean

  "visibility": string

  "colorId": string

  "googleMeetUrl": string

  "guestPermissions": {
    object (GuestPermissions)
  }

  "availability": enum (Availability)

  "eventType": enum (EventType)

  "workingLocationProperties": {
    object (WorkingLocationProperties)
  }
}
Campi
summary

string

Obbligatorio. Titolo.

startTime

string

Obbligatorio. Ora di inizio (ISO 8601, ad esempio '2026-04-30T10:00:00Z').

endTime

string

Obbligatorio. Ora di fine (ISO 8601, ad esempio '2026-04-30T11:00:00Z').

attendeeEmails[]
(deprecated)

string

Facoltativo. Deprecato: utilizza attendees.

attendees[]

object (Attendee)

Facoltativo. Partecipanti all'evento. Per gli eventi creati nel calendario principale dell'utente con almeno un altro partecipante, l'utente corrente verrà aggiunto automaticamente come partecipante, se non è già incluso.

recurrenceData[]

string

Facoltativo. Regole di ricorrenza come stringhe RRULE, RDATE o EXDATE (in base a RFC 5545).

overrideReminders[]

object (Reminder)

Facoltativo. I promemoria sostituiscono le impostazioni predefinite del calendario.

attachments[]

object (Attachment)

Facoltativo. Allegati dei file.

Campo unione _calendar_id.

_calendar_id può essere solo uno dei seguenti tipi:

calendarId

string

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

Campo unione _description.

_description può essere solo uno dei seguenti tipi:

description

string

Facoltativo. Descrizione. Può contenere HTML.

Campo unione _location.

_location può essere solo uno dei seguenti tipi:

location

string

Facoltativo. Posizione.

Campo unione _all_day.

_all_day può essere solo uno dei seguenti tipi:

allDay

boolean

Facoltativo. Indica se l'evento dura tutto il giorno. Se impostato su true, le ore di inizio/fine vengono trattate come mezzanotte.

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. Quale notifica email deve essere inviata per questo aggiornamento dell'evento.

Campo unione _add_google_meet_url.

_add_google_meet_url può essere solo uno dei seguenti tipi:

addGoogleMeetUrl

boolean

Facoltativo. Crea e aggiungi un URL di Google Meet. Valore predefinito: false.

Campo unione _visibility.

_visibility può essere solo uno dei seguenti tipi:

visibility

string

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

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

Campo unione _color_id.

_color_id può essere solo uno dei seguenti tipi:

colorId

string

Facoltativo. Il 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. URL di Google Meet o ID riunione specifici. Sostituisce add_google_meet_url.

Campo unione _guest_permissions.

_guest_permissions può essere solo uno dei seguenti tipi:

guestPermissions

object (GuestPermissions)

Facoltativo. Autorizzazioni per gli invitati.

Campo unione _availability.

_availability può essere solo uno dei seguenti tipi:

availability

enum (Availability)

Facoltativo. Impostazione di disponibilità.

Campo unione _event_type.

_event_type può essere solo uno dei seguenti tipi:

eventType

enum (EventType)

Facoltativo. Tipo di evento.

Campo unione _working_location_properties.

_working_location_properties può essere solo uno dei seguenti tipi:

workingLocationProperties

object (WorkingLocationProperties)

Facoltativo. Proprietà del luogo di lavoro (se eventType è WORKING_LOCATION).

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.

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.

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.

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.

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.

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.

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