MCP Tools Reference: calendarmcp.googleapis.com

Narzędzie: update_event

Aktualizuje wydarzenie w podanym kalendarzu.

Poniższy przykład pokazuje, jak za pomocą curl wywołać narzędzie update_event MCP.

Żądanie 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
}'
                

Schemat danych wejściowych

Wiadomość z prośbą o UpdateEvent. Pola, które nie są ustawione, nie zostaną zaktualizowane.

UpdateEventRequest

Zapis 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)
}
Pola
eventId

string

Wymagane. Identyfikator zdarzenia.

addedAttendeeEmails[]
(deprecated)

string

Opcjonalnie. Wycofana: zamiast niej używaj zasady added_attendees.

addedAttendees[]

object (Attendee)

Opcjonalnie. Uczestnicy, których chcesz dodać do wydarzenia.

removedAttendeeEmails[]

string

Opcjonalnie. Uczestnicy wydarzenia do usunięcia (adresy e-mail).

overrideReminders[]

object (Reminder)

Opcjonalnie. Jeśli ta opcja jest ustawiona, zastępuje wszystkie istniejące przypomnienia o wydarzeniu.

addedAttachments[]

object (Attachment)

Opcjonalnie. załączniki do dodania do wydarzenia;

removedAttachmentFileUrls[]

string

Opcjonalnie. Załączniki do usunięcia z wydarzenia.

Pole zbiorcze _calendar_id.

Pole _calendar_id może mieć tylko jedną z tych wartości:

calendarId

string

Opcjonalnie. Identyfikator kalendarza zawierającego wydarzenie. Adres e-mail – można go rozwiązać za pomocą funkcji list_calendars. Domyślnie: kalendarz główny.

Pole zbiorcze _summary.

Pole _summary może mieć tylko jedną z tych wartości:

summary

string

Opcjonalnie. Nowy tytuł.

Pole zbiorcze _description.

Pole _description może mieć tylko jedną z tych wartości:

description

string

Opcjonalnie. Nowy opis. Może zawierać kod HTML.

Pole zbiorcze _location.

Pole _location może mieć tylko jedną z tych wartości:

location

string

Opcjonalnie. Nowa lokalizacja.

Pole zbiorcze _start_time.

Pole _start_time może mieć tylko jedną z tych wartości:

startTime

string

Opcjonalnie. Nowa godzina rozpoczęcia (ISO 8601). Zachowuje czas trwania, jeśli aktualizowany jest tylko początek.

Pole zbiorcze _end_time.

Pole _end_time może mieć tylko jedną z tych wartości:

endTime

string

Opcjonalnie. Nowy czas zakończenia (ISO 8601).

Pole zbiorcze _all_day.

Pole _all_day może mieć tylko jedną z tych wartości:

allDay

boolean

Opcjonalnie. Zmienia wydarzenie na całodniowe. Jeśli jest ustawiona, musisz też podać wartość start_time/end_time.

Pole zbiorcze _time_zone.

Pole _time_zone może mieć tylko jedną z tych wartości:

timeZone

string

Opcjonalnie. Nazwa bazy danych stref czasowych IANA (np. America/Los_Angeles). Domyślnie: podstawowa strefa czasowa użytkownika. Zastępuje przesunięcia w start_timeend_time.

Pole zbiorcze _notification_level.

Pole _notification_level może mieć tylko jedną z tych wartości:

notificationLevel

enum (NotificationLevel)

Opcjonalnie. Powiadomienie e-mail, które ma zostać wysłane w związku z aktualizacją tego wydarzenia. Domyślnie: ALL.

Pole zbiorcze _add_google_meet_url.

Pole _add_google_meet_url może mieć tylko jedną z tych wartości:

addGoogleMeetUrl

boolean

Opcjonalnie. Jeśli ma wartość „true”, tworzy lub aktualizuje adres URL Google Meet dla wydarzenia. Ignorowane, jeśli Meet jest wyłączony.

Pole zbiorcze _visibility.

Pole _visibility może mieć tylko jedną z tych wartości:

visibility

string

Opcjonalnie. Nowa widoczność wydarzenia. Możliwe wartości to:

  • default – używa domyślnej widoczności wydarzeń w kalendarzu. Wartość domyślna.
  • public – szczegóły wydarzenia są widoczne dla wszystkich osób, które mogą odczytać kalendarz.
  • private – wydarzenie jest prywatne i tylko uczestnicy mogą wyświetlać jego szczegóły.

Pole zbiorcze _color_id.

Pole _color_id może mieć tylko jedną z tych wartości:

colorId

string

Opcjonalnie. Nowy kolor wydarzenia. Listę identyfikatorów kolorów znajdziesz w dokumentacji zasobu Event.

Pole zbiorcze _google_meet_url.

Pole _google_meet_url może mieć tylko jedną z tych wartości:

googleMeetUrl

string

Opcjonalnie. Umożliwia dołączenie do wydarzenia istniejącego adresu URL Google Meet lub identyfikatora spotkania. Zastępuje wartość addGoogleMeetUrl.

Pole zbiorcze _guest_permissions.

Pole _guest_permissions może mieć tylko jedną z tych wartości:

guestPermissions

object (GuestPermissions)

Opcjonalnie. Ustawienia uprawnień gości dla tego wydarzenia.

Pole zbiorcze _availability.

Pole _availability może mieć tylko jedną z tych wartości:

availability

enum (Availability)

Opcjonalnie. Czy wydarzenie blokuje czas w kalendarzu.

Uczestnik

Zapis JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Pola

Pole zbiorcze _id.

Pole _id może mieć tylko jedną z tych wartości:

id

string

Tylko dane wyjściowe. Identyfikator profilu.

Pole zbiorcze _email.

Pole _email może mieć tylko jedną z tych wartości:

email

string

Wymagane. Adres e-mail uczestnika.

Pole zbiorcze _display_name.

Pole _display_name może mieć tylko jedną z tych wartości:

displayName

string

Opcjonalnie. Nazwa.

Pole zbiorcze _organizer.

Pole _organizer może mieć tylko jedną z tych wartości:

organizer

boolean

Tylko dane wyjściowe. Określa, czy uczestnik jest organizatorem. Domyślnie: false.

Pole zbiorcze _self.

Pole _self może mieć tylko jedną z tych wartości:

self

boolean

Tylko dane wyjściowe. Określa, czy ten wpis reprezentuje kalendarz, w którym pojawia się ta kopia wydarzenia. Domyślnie: false.

Pole zbiorcze _resource.

Pole _resource może mieć tylko jedną z tych wartości:

resource

boolean

Opcjonalnie. Czy uczestnik jest zasobem (np. salą). Niezmienny, można go ustawić tylko podczas początkowego dodawania uczestnika. Domyślnie: false.

Pole zbiorcze _optional_attendee.

Pole _optional_attendee może mieć tylko jedną z tych wartości:

optionalAttendee

boolean

Opcjonalnie. Określa, czy uczestnik jest opcjonalny. Domyślnie: false.

Pole zbiorcze _response_status.

Pole _response_status może mieć tylko jedną z tych wartości:

responseStatus

string

Opcjonalnie. Stan odpowiedzi. Możliwe wartości to:

  • needsAction – uczestnik nie odpowiedział na zaproszenie (zalecane w przypadku nowych wydarzeń).
  • declined – uczestnik odrzucił zaproszenie.
  • tentative – uczestnik wstępnie zaakceptował zaproszenie.
  • accepted – uczestnik zaakceptował zaproszenie.

Pole zbiorcze _comment.

Pole _comment może mieć tylko jedną z tych wartości:

comment

string

Tylko dane wyjściowe. Komentarz do odpowiedzi.

Pole zbiorcze _additional_guests.

Pole _additional_guests może mieć tylko jedną z tych wartości:

additionalGuests

integer

Opcjonalnie. Liczba dodatkowych gości. Domyślnie: 0.

Przypomnienie

Zapis JSON
{

  "method": string

  "minutes": integer
}
Pola

Pole zbiorcze _method.

Pole _method może mieć tylko jedną z tych wartości:

method

string

Wymagane. Metoda wyświetlania. Możliwe wartości to:

  • email – przypomnienia są wysyłane e-mailem.
  • popup – przypomnienia są wysyłane w wyskakującym okienku interfejsu.

Pole zbiorcze _minutes.

Pole _minutes może mieć tylko jedną z tych wartości:

minutes

integer

Wymagane. Na ile minut wcześniej ma się wyświetlić przypomnienie.

Załącznik

Zapis JSON
{

  "fileUrl": string

  "title": string
}
Pola

Pole zbiorcze _file_url.

Pole _file_url może mieć tylko jedną z tych wartości:

fileUrl

string

Wymagane. Link URL do załącznika.

Pole zbiorcze _title.

Pole _title może mieć tylko jedną z tych wartości:

title

string

Opcjonalnie. Tytuł załącznika.

GuestPermissions

Zapis JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Pola

Pole zbiorcze _guests_can_invite_others.

Pole _guests_can_invite_others może mieć tylko jedną z tych wartości:

guestsCanInviteOthers

boolean

Opcjonalnie. Czy goście mogą zapraszać inne osoby.

Pole zbiorcze _guests_can_modify.

Pole _guests_can_modify może mieć tylko jedną z tych wartości:

guestsCanModify

boolean

Opcjonalnie. Określa, czy goście mogą modyfikować wydarzenie.

Pole zbiorcze _guests_can_see_guests.

Pole _guests_can_see_guests może mieć tylko jedną z tych wartości:

guestsCanSeeGuests

boolean

Opcjonalnie. czy goście mogą widzieć innych gości;

NotificationLevel

Poziom powiadomień e-mail o aktualizacjach.

Wartości w polu enum
NOTIFICATION_LEVEL_UNSPECIFIED Domyślny: Traktowane jako ALL.
NONE Brak powiadomień.
EXTERNAL_ONLY Tylko uczestnicy zewnętrzni.
ALL Wszyscy uczestnicy.

Dostępność

Ustawienie dostępności wydarzenia.

Wartości w polu enum
AVAILABILITY_UNSPECIFIED Domyślny: Traktowane jako BUSY.
AVAILABILITY_BUSY Blokuje czas w kalendarzu.
AVAILABILITY_FREE Nie blokuje czasu.

Schemat wyjściowy

Zdarzenie

Zapis 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)
}
Pola
id

string

Unikalny identyfikator.

status

string

Opcjonalnie. Stan. Możliwe wartości to:

  • confirmed – wydarzenie jest potwierdzone (domyślnie).
  • tentative – wydarzenie jest wstępnie potwierdzone.
  • cancelled – wydarzenie zostało odwołane lub usunięte.

htmlLink

string

Tylko dane wyjściowe. Bezwzględny link do tego wydarzenia w interfejsie internetowym Kalendarza Google.

created

string

Tylko dane wyjściowe. Czas utworzenia (ISO 8601).

updated

string

Tylko dane wyjściowe. Czas ostatniej modyfikacji (ISO 8601).

summary

string

Tytuł.

description

string

Opcjonalnie. Opis. Może zawierać kod HTML.

location

string

Opcjonalnie. Lokalizacja.

creator

object (Principal)

Tylko dane wyjściowe. Twórca.

organizer

object (Principal)

Tylko dane wyjściowe. organizator, Jeśli uczestniczysz w wydarzeniu, Twoje imię i nazwisko będzie też widoczne na liście uczestników.

start

object (DateOrDateTime)

Czas rozpoczęcia (włącznie z wartościami granicznymi). W przypadku wydarzeń cyklicznych używane jest pierwsze wystąpienie.

end

object (DateOrDateTime)

Czas zakończenia (z wyłączeniem tego dnia). W przypadku wydarzeń cyklicznych używane jest pierwsze wystąpienie.

recurrence[]

string

Reguły powtarzania w postaci ciągów RRULE, EXRULE, RDATE lub EXDATE (zgodnie z RFC 5545). W przypadku pojedynczych zdarzeń pomijane. Czas rozpoczęcia i zakończenia musi być ustawiony w polach start/end.

recurringEventId

string

Identyfikator nadrzędnego wydarzenia cyklicznego w przypadku wystąpień wydarzeń cyklicznych.

originalStartTime

object (DateOrDateTime)

Pierwotny czas rozpoczęcia powtarzających się instancji. Jest to czas, w którym ta instancja powinna się rozpocząć zgodnie z danymi o powtarzaniu.

transparency
(deprecated)

string

Opcjonalnie. Wycofana: zamiast niej używaj zasady availability.

visibility

string

Opcjonalnie. Widoczność wydarzenia. Możliwe wartości to:

  • default – używa domyślnej widoczności wydarzeń w kalendarzu. Jest to wartość domyślna.
  • public – szczegóły wydarzenia są widoczne dla wszystkich osób, które mogą odczytać kalendarz.
  • private – szczegóły wydarzenia mogą wyświetlać tylko uczestnicy.

attendees[]

object (Attendee)

Uczestnicy.

conferenceUrl

string

Link do rozmowy wideo.

colorId

string

Kolor wydarzenia. Ma to wpływ tylko na widok kalendarza. Jest to identyfikator odnoszący się do wpisu w palecie kolorów kalendarza (ciąg znaków '1''11'):

  • 1: lawendowy
  • 2: Sage
  • 3: winogrona
  • 4: Flaming
  • 5: Banan
  • 6: Mandarynka
  • 7: Peacock
  • 8: grafitowy
  • 9: borówka
  • 10: bazylia
  • 11: Tomato.

overrideReminders[]

object (Reminder)

Przypomnienia. Jeśli nie jest ustawiona, przywracane są domyślne ustawienia kalendarza.

attachments[]

object (Attachment)

załączniki do plików;

guestPermissions

object (GuestPermissions)

Uprawnienia gości.

eventType

enum (EventType)

Typ zdarzenia.

workingLocationProperties

object (WorkingLocationProperties)

Właściwości lokalizacji miejsca pracy. Pole wypełnione tylko wtedy, gdy event_type ma wartość WORKING_LOCATION.

availability

enum (Availability)

Opcjonalnie. Ustawienie dostępności.

Podmiot zabezpieczeń

Zapis JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Pola
email

string

E-mail.

displayName

string

Nazwa.

self

boolean

Tylko dane wyjściowe. Określa, czy ten podmiot odpowiada kalendarzowi, w którym pojawia się ta kopia wydarzenia. Domyślnie: false.

DateOrDateTime

Zapis JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Pola
date

string

Data w formacie ISO 8601 o północy czasu UTC (np. '2019-11-20T00:00:00Z').

dateTime

string

Sygnatura czasowa w formacie ISO 8601 (np. '2019-11-20T08:19:06-07:00').

timeZone

string

Nazwa strefy czasowej TZDB.

Uczestnik

Zapis JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Pola

Pole zbiorcze _id.

Pole _id może mieć tylko jedną z tych wartości:

id

string

Tylko dane wyjściowe. Identyfikator profilu.

Pole zbiorcze _email.

Pole _email może mieć tylko jedną z tych wartości:

email

string

Wymagane. Adres e-mail uczestnika.

Pole zbiorcze _display_name.

Pole _display_name może mieć tylko jedną z tych wartości:

displayName

string

Opcjonalnie. Nazwa.

Pole zbiorcze _organizer.

Pole _organizer może mieć tylko jedną z tych wartości:

organizer

boolean

Tylko dane wyjściowe. Określa, czy uczestnik jest organizatorem. Domyślnie: false.

Pole zbiorcze _self.

Pole _self może mieć tylko jedną z tych wartości:

self

boolean

Tylko dane wyjściowe. Określa, czy ten wpis reprezentuje kalendarz, w którym pojawia się ta kopia wydarzenia. Domyślnie: false.

Pole zbiorcze _resource.

Pole _resource może mieć tylko jedną z tych wartości:

resource

boolean

Opcjonalnie. Czy uczestnik jest zasobem (np. salą). Niezmienny, można go ustawić tylko podczas początkowego dodawania uczestnika. Domyślnie: false.

Pole zbiorcze _optional_attendee.

Pole _optional_attendee może mieć tylko jedną z tych wartości:

optionalAttendee

boolean

Opcjonalnie. Określa, czy uczestnik jest opcjonalny. Domyślnie: false.

Pole zbiorcze _response_status.

Pole _response_status może mieć tylko jedną z tych wartości:

responseStatus

string

Opcjonalnie. Stan odpowiedzi. Możliwe wartości to:

  • needsAction – uczestnik nie odpowiedział na zaproszenie (zalecane w przypadku nowych wydarzeń).
  • declined – uczestnik odrzucił zaproszenie.
  • tentative – uczestnik wstępnie zaakceptował zaproszenie.
  • accepted – uczestnik zaakceptował zaproszenie.

Pole zbiorcze _comment.

Pole _comment może mieć tylko jedną z tych wartości:

comment

string

Tylko dane wyjściowe. Komentarz do odpowiedzi.

Pole zbiorcze _additional_guests.

Pole _additional_guests może mieć tylko jedną z tych wartości:

additionalGuests

integer

Opcjonalnie. Liczba dodatkowych gości. Domyślnie: 0.

Przypomnienie

Zapis JSON
{

  "method": string

  "minutes": integer
}
Pola

Pole zbiorcze _method.

Pole _method może mieć tylko jedną z tych wartości:

method

string

Wymagane. Metoda wyświetlania. Możliwe wartości to:

  • email – przypomnienia są wysyłane e-mailem.
  • popup – przypomnienia są wysyłane w wyskakującym okienku interfejsu.

Pole zbiorcze _minutes.

Pole _minutes może mieć tylko jedną z tych wartości:

minutes

integer

Wymagane. Na ile minut wcześniej ma się wyświetlić przypomnienie.

Załącznik

Zapis JSON
{

  "fileUrl": string

  "title": string
}
Pola

Pole zbiorcze _file_url.

Pole _file_url może mieć tylko jedną z tych wartości:

fileUrl

string

Wymagane. Link URL do załącznika.

Pole zbiorcze _title.

Pole _title może mieć tylko jedną z tych wartości:

title

string

Opcjonalnie. Tytuł załącznika.

GuestPermissions

Zapis JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Pola

Pole zbiorcze _guests_can_invite_others.

Pole _guests_can_invite_others może mieć tylko jedną z tych wartości:

guestsCanInviteOthers

boolean

Opcjonalnie. Czy goście mogą zapraszać inne osoby.

Pole zbiorcze _guests_can_modify.

Pole _guests_can_modify może mieć tylko jedną z tych wartości:

guestsCanModify

boolean

Opcjonalnie. Określa, czy goście mogą modyfikować wydarzenie.

Pole zbiorcze _guests_can_see_guests.

Pole _guests_can_see_guests może mieć tylko jedną z tych wartości:

guestsCanSeeGuests

boolean

Opcjonalnie. czy goście mogą widzieć innych gości;

WorkingLocationProperties

Zapis JSON
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Pola

Pole zbiorcze _type.

Pole _type może mieć tylko jedną z tych wartości:

type

enum (WorkingLocationType)

Opcjonalnie. Typ lokalizacji miejsca pracy.

Pole zbiorcze _custom_location_label.

Pole _custom_location_label może mieć tylko jedną z tych wartości:

customLocationLabel

string

Opcjonalnie. Etykieta lokalizacji niestandardowej. Wymagany, jeśli typ to CUSTOM_LOCATION.

EventType

Typ zdarzenia. Po utworzeniu nie można go zmienić.

Wartości w polu enum
EVENT_TYPE_UNSPECIFIED Traktowane jako DEFAULT.
DEFAULT Zwykłe wydarzenie. Wartość domyślna.
OUT_OF_OFFICE Wydarzenie poza biurem.
FOCUS_TIME Wydarzenie typu czas skupienia.
WORKING_LOCATION Wydarzenie dotyczące lokalizacji miejsca pracy.
BIRTHDAY Specjalne wydarzenie całodniowe, które powtarza się co roku.
FROM_GMAIL Wydarzenie z Gmaila. Nie można utworzyć tego typu wydarzenia.

WorkingLocationType

Rodzaj miejsca pracy.

Wartości w polu enum
WORKING_LOCATION_TYPE_UNSPECIFIED Nieokreślony typ lokalizacji miejsca pracy. Będzie traktowany jako HOME_OFFICE.
HOME_OFFICE Domowe biuro.
CUSTOM_LOCATION Lokalizacja niestandardowa.

Dostępność

Ustawienie dostępności wydarzenia.

Wartości w polu enum
AVAILABILITY_UNSPECIFIED Domyślny: Traktowane jako BUSY.
AVAILABILITY_BUSY Blokuje czas w kalendarzu.
AVAILABILITY_FREE Nie blokuje czasu.

Adnotacje narzędzi

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

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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