MCP Tools Reference: calendarmcp.googleapis.com

Tool: create_event

Erstellt einen Termin im angegebenen Kalender.

Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool create_event aufrufen.

Curl-Anfrage
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
}'
                

Eingabeschema

Anfragenachricht für CreateEvent

CreateEventRequest

JSON-Darstellung
{
  "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)
  }
}
Felder
summary

string

Erforderlich. Titel

startTime

string

Erforderlich. Startzeit (ISO 8601, z. B. '2026-04-30T10:00:00Z').

endTime

string

Erforderlich. Endzeit (ISO 8601, z. B. '2026-04-30T11:00:00Z').

attendeeEmails[]
(deprecated)

string

Optional. Verworfen. Verwenden Sie stattdessen attendees.

attendees[]

object (Attendee)

Optional. Teilnehmer des Termins. Bei Terminen, die im primären Kalender des Nutzers mit mindestens einem anderen Gast erstellt werden, wird der aktuelle Nutzer automatisch als Gast hinzugefügt, sofern er nicht bereits enthalten ist.

recurrenceData[]

string

Optional. Wiederholungsregeln als RRULE-, RDATE- oder EXDATE-Strings (gemäß RFC 5545).

overrideReminders[]

object (Reminder)

Optional. Erinnerungen überschreiben die Kalendereinstellungen.

attachments[]

object (Attachment)

Optional. Dateianhänge

Union-Feld _calendar_id.

Für _calendar_id ist nur einer der folgenden Werte zulässig:

calendarId

string

Optional. ID des Kalenders, in dem der Termin erstellt werden soll. E‑Mail-Adresse – kann mit list_calendars aufgelöst werden. Standard: primärer Kalender.

Union-Feld _description.

Für _description ist nur einer der folgenden Werte zulässig:

description

string

Optional. Beschreibung: Kann HTML enthalten.

Union-Feld _location.

Für _location ist nur einer der folgenden Werte zulässig:

location

string

Optional. Standort.

Union-Feld _all_day.

Für _all_day ist nur einer der folgenden Werte zulässig:

allDay

boolean

Optional. Gibt an, ob sich das Ereignis über den gesamten Tag erstreckt. Wenn „true“, werden Start- und Endzeiten als Mitternacht behandelt.

Union-Feld _time_zone.

Für _time_zone ist nur einer der folgenden Werte zulässig:

timeZone

string

Optional. Name aus der IANA-Zeitzonendatenbank, z. B. America/Los_Angeles. Standard: primäre Zeitzone des Nutzers. Überschreibt die Offsets in start_time und end_time.

Union-Feld _notification_level.

Für _notification_level ist nur einer der folgenden Werte zulässig:

notificationLevel

enum (NotificationLevel)

Optional. Welche E-Mail-Benachrichtigung soll für dieses Event-Update gesendet werden?

Union-Feld _add_google_meet_url.

Für _add_google_meet_url ist nur einer der folgenden Werte zulässig:

addGoogleMeetUrl

boolean

Optional. Erstellen Sie eine Google Meet-URL und fügen Sie sie hinzu. Standard: false.

Union-Feld _visibility.

Für _visibility ist nur einer der folgenden Werte zulässig:

visibility

string

Optional. Sichtbarkeit des Ereignisses. Folgende Werte sind möglich:

  • default: Die Standardsichtbarkeit für Termine im Kalender wird verwendet. Standardwert.
  • public: Der Termin ist öffentlich und Termindetails sind für alle Leser des Kalenders sichtbar.
  • private: Nur Teilnehmer der Veranstaltung können die Termindetails sehen.

Union-Feld _color_id.

Für _color_id ist nur einer der folgenden Werte zulässig:

colorId

string

Optional. Die Farbe des Ereignisses. Eine Liste der Farb-IDs finden Sie in der Dokumentation der Event-Ressource.

Union-Feld _google_meet_url.

Für _google_meet_url ist nur einer der folgenden Werte zulässig:

googleMeetUrl

string

Optional. Geben Sie eine bestimmte Google Meet-URL oder Besprechungs-ID an. Überschreibt add_google_meet_url.

Union-Feld _guest_permissions.

Für _guest_permissions ist nur einer der folgenden Werte zulässig:

guestPermissions

object (GuestPermissions)

Optional. Berechtigungen für Gäste.

Union-Feld _availability.

Für _availability ist nur einer der folgenden Werte zulässig:

availability

enum (Availability)

Optional. Verfügbarkeitseinstellung

Union-Feld _event_type.

Für _event_type ist nur einer der folgenden Werte zulässig:

eventType

enum (EventType)

Optional. Art des Ereignisses.

Union-Feld _working_location_properties.

Für _working_location_properties ist nur einer der folgenden Werte zulässig:

workingLocationProperties

object (WorkingLocationProperties)

Optional. Eigenschaften des Arbeitsorts (wenn eventType gleich WORKING_LOCATION ist).

Teilnehmer

JSON-Darstellung
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Felder

Union-Feld _id.

Für _id ist nur einer der folgenden Werte zulässig:

id

string

Nur Ausgabe. Profil-ID.

Union-Feld _email.

Für _email ist nur einer der folgenden Werte zulässig:

email

string

Erforderlich. E-Mail-Adresse des Teilnehmers.

Union-Feld _display_name.

Für _display_name ist nur einer der folgenden Werte zulässig:

displayName

string

Optional. Name

Union-Feld _organizer.

Für _organizer ist nur einer der folgenden Werte zulässig:

organizer

boolean

Nur Ausgabe. Gibt an, ob der Teilnehmer der Organisator ist. Standard: false.

Union-Feld _self.

Für _self ist nur einer der folgenden Werte zulässig:

self

boolean

Nur Ausgabe. Gibt an, ob dieser Eintrag den Kalender darstellt, in dem diese Kopie des Termins angezeigt wird. Standard: false.

Union-Feld _resource.

Für _resource ist nur einer der folgenden Werte zulässig:

resource

boolean

Optional. Gibt an, ob der Teilnehmer eine Ressource ist (z. B. ein Raum). Unveränderlich, kann nur beim ersten Hinzufügen des Teilnehmers festgelegt werden. Standard: false.

Union-Feld _optional_attendee.

Für _optional_attendee ist nur einer der folgenden Werte zulässig:

optionalAttendee

boolean

Optional. Gibt an, ob der Teilnehmer optional ist. Standard: false.

Union-Feld _response_status.

Für _response_status ist nur einer der folgenden Werte zulässig:

responseStatus

string

Optional. Antwortstatus. Folgende Werte sind möglich:

  • needsAction – Der Teilnehmer hat noch nicht auf die Einladung geantwortet (empfohlen für neue Termine).
  • declined: Der Teilnehmer hat die Einladung abgelehnt.
  • tentative: Der Teilnehmer hat die Einladung vorläufig angenommen.
  • accepted: Der Teilnehmer hat die Einladung angenommen.

Union-Feld _comment.

Für _comment ist nur einer der folgenden Werte zulässig:

comment

string

Nur Ausgabe. Kommentar zur Antwort.

Union-Feld _additional_guests.

Für _additional_guests ist nur einer der folgenden Werte zulässig:

additionalGuests

integer

Optional. Anzahl der zusätzlichen Gäste. Standard: 0.

Erinnerung

JSON-Darstellung
{

  "method": string

  "minutes": integer
}
Felder

Union-Feld _method.

Für _method ist nur einer der folgenden Werte zulässig:

method

string

Erforderlich. Die Schaltungsmethode. Folgende Werte sind möglich:

  • email: Erinnerungen werden per E-Mail gesendet.
  • popup: Erinnerungen werden über ein Pop-up in der Benutzeroberfläche gesendet.

Union-Feld _minutes.

Für _minutes ist nur einer der folgenden Werte zulässig:

minutes

integer

Erforderlich. Minuten vor dem Termin, zu dem die Erinnerung ausgelöst wird.

GuestPermissions

JSON-Darstellung
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Felder

Union-Feld _guests_can_invite_others.

Für _guests_can_invite_others ist nur einer der folgenden Werte zulässig:

guestsCanInviteOthers

boolean

Optional. Ob Gäste andere einladen können.

Union-Feld _guests_can_modify.

Für _guests_can_modify ist nur einer der folgenden Werte zulässig:

guestsCanModify

boolean

Optional. Gäste können den Termin bearbeiten.

Union-Feld _guests_can_see_guests.

Für _guests_can_see_guests ist nur einer der folgenden Werte zulässig:

guestsCanSeeGuests

boolean

Optional. Ob Gäste andere Gäste sehen können.

Anhang

JSON-Darstellung
{

  "fileUrl": string

  "title": string
}
Felder

Union-Feld _file_url.

Für _file_url ist nur einer der folgenden Werte zulässig:

fileUrl

string

Erforderlich. URL-Link zum Anhang.

Union-Feld _title.

Für _title ist nur einer der folgenden Werte zulässig:

title

string

Optional. Titel des Anhangs.

WorkingLocationProperties

JSON-Darstellung
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Felder

Union-Feld _type.

Für _type ist nur einer der folgenden Werte zulässig:

type

enum (WorkingLocationType)

Optional. Typ des Arbeitsorts.

Union-Feld _custom_location_label.

Für _custom_location_label ist nur einer der folgenden Werte zulässig:

customLocationLabel

string

Optional. Das Label für einen benutzerdefinierten Standort. Erforderlich, wenn der Typ CUSTOM_LOCATION ist.

NotificationLevel

E‑Mail-Benachrichtigungsstufe für Updates.

Enums
NOTIFICATION_LEVEL_UNSPECIFIED Standard. Wird als ALL behandelt.
NONE Keine Benachrichtigungen
EXTERNAL_ONLY Nur externe Teilnehmer.
ALL Alle Teilnehmer.

Verfügbarkeit

Verfügbarkeitseinstellung für ein Ereignis.

Enums
AVAILABILITY_UNSPECIFIED Standard. Wird als BUSY behandelt.
AVAILABILITY_BUSY Blockiert Zeit im Kalender.
AVAILABILITY_FREE Es wird keine Zeit blockiert.

EventType

Ereignistyp Nach der Erstellung nicht mehr veränderbar.

Enums
EVENT_TYPE_UNSPECIFIED Wird als DEFAULT behandelt.
DEFAULT Regelmäßig stattfindender Termin. Standardwert.
OUT_OF_OFFICE Außer-Haus-Termin.
FOCUS_TIME Fokuszeit-Termin
WORKING_LOCATION Termin am Arbeitsort
BIRTHDAY Besonderes ganztägiges Event, das jährlich wiederkehrt.
FROM_GMAIL Termin aus Gmail. Dieser Ereignistyp kann nicht erstellt werden.

WorkingLocationType

Art des Arbeitsorts.

Enums
WORKING_LOCATION_TYPE_UNSPECIFIED Nicht angegebener Arbeitsorttyp. Wird als HOME_OFFICE behandelt.
HOME_OFFICE Home office.
CUSTOM_LOCATION Benutzerdefinierter Standort

Ausgabeschema

Ereignis

JSON-Darstellung
{
  "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)
}
Felder
id

string

Eindeutige Kennung.

status

string

Optional. Status aus. Folgende Werte sind möglich:

  • confirmed: Der Termin ist bestätigt (Standard).
  • tentative: Der Termin ist vorläufig bestätigt.
  • cancelled – Das Event wurde abgesagt oder gelöscht.

htmlLink

string

Nur Ausgabe. Ein absoluter Link zu diesem Termin in der Google Kalender-Web-UI.

created

string

Nur Ausgabe. Erstellungszeit (ISO 8601).

updated

string

Nur Ausgabe. Letzte Änderung (ISO 8601).

summary

string

Titel

description

string

Optional. Beschreibung: Kann HTML enthalten.

location

string

Optional. Standort.

creator

object (Principal)

Nur Ausgabe. Creator

organizer

object (Principal)

Nur Ausgabe. Organisator Wenn Sie teilnehmen, werden Sie auch in der Liste der Teilnehmer aufgeführt.

start

object (DateOrDateTime)

Beginn (einschließlich). Bei wiederkehrenden Ereignissen wird die erste Instanz verwendet.

end

object (DateOrDateTime)

Endzeit (ausschließlich). Bei wiederkehrenden Terminen wird die erste Instanz verwendet.

recurrence[]

string

Wiederholungsregeln als RRULE-, EXRULE-, RDATE- oder EXDATE-Strings (gemäß RFC 5545). Bei einzelnen Ereignissen wird sie nicht angegeben. Die Start- und Endzeit muss in den Feldern start/end festgelegt werden.

recurringEventId

string

ID des übergeordneten wiederkehrenden Termins für Instanzen von wiederkehrenden Terminen.

originalStartTime

object (DateOrDateTime)

Ursprüngliche Startzeit von wiederkehrenden Instanzen. Dies ist die Uhrzeit, zu der diese Instanz gemäß den Daten für wiederkehrende Termine beginnen würde.

transparency
(deprecated)

string

Optional. Verworfen. Verwenden Sie stattdessen availability.

visibility

string

Optional. Sichtbarkeit des Ereignisses. Folgende Werte sind möglich:

  • default: Die Standardsichtbarkeit für Termine im Kalender wird verwendet. „Immer“ ist der Standardwert.
  • public: Termindetails sind für alle Leser des Kalenders sichtbar.
  • private: Nur Teilnehmer der Veranstaltung können die Termindetails sehen.

attendees[]

object (Attendee)

Teilnehmer

conferenceUrl

string

Link zur Videokonferenz.

colorId

string

Die Farbe des Ereignisses. Wirkt sich nur auf Ihre eigene Kalenderansicht aus. Dies ist eine ID, die sich auf einen Eintrag in der Farbpalette des Kalenders bezieht (String '1''11'):

  • 1: Lavendel
  • 2: Salbei
  • 3: Grape
  • 4: Flamingo
  • 5: Banane
  • 6: Mandarine
  • 7: Peacock
  • 8: Graphite
  • 9: Blaubeere
  • 10: Basilikum
  • 11: Tomato.

overrideReminders[]

object (Reminder)

Erinnerungen. Wenn kein Wert festgelegt ist, wird auf die Kalendereinstellungen zurückgegriffen.

attachments[]

object (Attachment)

Dateianhänge

guestPermissions

object (GuestPermissions)

Berechtigungen für Gäste.

eventType

enum (EventType)

Ereignistyp

workingLocationProperties

object (WorkingLocationProperties)

Eigenschaften des Arbeitsorts. Wird nur ausgefüllt, wenn event_type WORKING_LOCATION ist.

availability

enum (Availability)

Optional. Verfügbarkeitseinstellung

Hauptkonto

JSON-Darstellung
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Felder
email

string

E‑Mail-Adresse

displayName

string

Name

self

boolean

Nur Ausgabe. Gibt an, ob dieses Prinzipal dem Kalender entspricht, in dem diese Kopie des Termins angezeigt wird. Standard: false.

DateOrDateTime

JSON-Darstellung
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Felder
date

string

ISO 8601-Datum um Mitternacht UTC (z. B. '2019-11-20T00:00:00Z').

dateTime

string

ISO 8601-Zeitstempel (z. B. '2019-11-20T08:19:06-07:00').

timeZone

string

TZDB-Zeitzonenname.

Teilnehmer

JSON-Darstellung
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Felder

Union-Feld _id.

Für _id ist nur einer der folgenden Werte zulässig:

id

string

Nur Ausgabe. Profil-ID.

Union-Feld _email.

Für _email ist nur einer der folgenden Werte zulässig:

email

string

Erforderlich. E-Mail-Adresse des Teilnehmers.

Union-Feld _display_name.

Für _display_name ist nur einer der folgenden Werte zulässig:

displayName

string

Optional. Name

Union-Feld _organizer.

Für _organizer ist nur einer der folgenden Werte zulässig:

organizer

boolean

Nur Ausgabe. Gibt an, ob der Teilnehmer der Organisator ist. Standard: false.

Union-Feld _self.

Für _self ist nur einer der folgenden Werte zulässig:

self

boolean

Nur Ausgabe. Gibt an, ob dieser Eintrag den Kalender darstellt, in dem diese Kopie des Termins angezeigt wird. Standard: false.

Union-Feld _resource.

Für _resource ist nur einer der folgenden Werte zulässig:

resource

boolean

Optional. Gibt an, ob der Teilnehmer eine Ressource ist (z. B. ein Raum). Unveränderlich, kann nur beim ersten Hinzufügen des Teilnehmers festgelegt werden. Standard: false.

Union-Feld _optional_attendee.

Für _optional_attendee ist nur einer der folgenden Werte zulässig:

optionalAttendee

boolean

Optional. Gibt an, ob der Teilnehmer optional ist. Standard: false.

Union-Feld _response_status.

Für _response_status ist nur einer der folgenden Werte zulässig:

responseStatus

string

Optional. Antwortstatus. Folgende Werte sind möglich:

  • needsAction – Der Teilnehmer hat noch nicht auf die Einladung geantwortet (empfohlen für neue Termine).
  • declined: Der Teilnehmer hat die Einladung abgelehnt.
  • tentative: Der Teilnehmer hat die Einladung vorläufig angenommen.
  • accepted: Der Teilnehmer hat die Einladung angenommen.

Union-Feld _comment.

Für _comment ist nur einer der folgenden Werte zulässig:

comment

string

Nur Ausgabe. Kommentar zur Antwort.

Union-Feld _additional_guests.

Für _additional_guests ist nur einer der folgenden Werte zulässig:

additionalGuests

integer

Optional. Anzahl der zusätzlichen Gäste. Standard: 0.

Erinnerung

JSON-Darstellung
{

  "method": string

  "minutes": integer
}
Felder

Union-Feld _method.

Für _method ist nur einer der folgenden Werte zulässig:

method

string

Erforderlich. Die Schaltungsmethode. Folgende Werte sind möglich:

  • email: Erinnerungen werden per E-Mail gesendet.
  • popup: Erinnerungen werden über ein Pop-up in der Benutzeroberfläche gesendet.

Union-Feld _minutes.

Für _minutes ist nur einer der folgenden Werte zulässig:

minutes

integer

Erforderlich. Minuten vor dem Termin, zu dem die Erinnerung ausgelöst wird.

Anhang

JSON-Darstellung
{

  "fileUrl": string

  "title": string
}
Felder

Union-Feld _file_url.

Für _file_url ist nur einer der folgenden Werte zulässig:

fileUrl

string

Erforderlich. URL-Link zum Anhang.

Union-Feld _title.

Für _title ist nur einer der folgenden Werte zulässig:

title

string

Optional. Titel des Anhangs.

GuestPermissions

JSON-Darstellung
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Felder

Union-Feld _guests_can_invite_others.

Für _guests_can_invite_others ist nur einer der folgenden Werte zulässig:

guestsCanInviteOthers

boolean

Optional. Ob Gäste andere einladen können.

Union-Feld _guests_can_modify.

Für _guests_can_modify ist nur einer der folgenden Werte zulässig:

guestsCanModify

boolean

Optional. Gäste können den Termin bearbeiten.

Union-Feld _guests_can_see_guests.

Für _guests_can_see_guests ist nur einer der folgenden Werte zulässig:

guestsCanSeeGuests

boolean

Optional. Ob Gäste andere Gäste sehen können.

WorkingLocationProperties

JSON-Darstellung
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Felder

Union-Feld _type.

Für _type ist nur einer der folgenden Werte zulässig:

type

enum (WorkingLocationType)

Optional. Typ des Arbeitsorts.

Union-Feld _custom_location_label.

Für _custom_location_label ist nur einer der folgenden Werte zulässig:

customLocationLabel

string

Optional. Das Label für einen benutzerdefinierten Standort. Erforderlich, wenn der Typ CUSTOM_LOCATION ist.

EventType

Ereignistyp Nach der Erstellung nicht mehr veränderbar.

Enums
EVENT_TYPE_UNSPECIFIED Wird als DEFAULT behandelt.
DEFAULT Regelmäßig stattfindender Termin. Standardwert.
OUT_OF_OFFICE Außer-Haus-Termin.
FOCUS_TIME Fokuszeit-Termin
WORKING_LOCATION Termin am Arbeitsort
BIRTHDAY Besonderes ganztägiges Event, das jährlich wiederkehrt.
FROM_GMAIL Termin aus Gmail. Dieser Ereignistyp kann nicht erstellt werden.

WorkingLocationType

Art des Arbeitsorts.

Enums
WORKING_LOCATION_TYPE_UNSPECIFIED Nicht angegebener Arbeitsorttyp. Wird als HOME_OFFICE behandelt.
HOME_OFFICE Home office.
CUSTOM_LOCATION Benutzerdefinierter Standort

Verfügbarkeit

Verfügbarkeitseinstellung für ein Ereignis.

Enums
AVAILABILITY_UNSPECIFIED Standard. Wird als BUSY behandelt.
AVAILABILITY_BUSY Blockiert Zeit im Kalender.
AVAILABILITY_FREE Es wird keine Zeit blockiert.

Tool-Annotationen

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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