MCP Tools Reference: calendarmcp.googleapis.com

Alat: update_event

Memperbarui acara di kalender yang ditentukan.

Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP update_event.

Permintaan 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
}'
                

Skema Input

Pesan permintaan untuk UpdateEvent. Kolom yang tidak disetel tidak akan diperbarui.

UpdateEventRequest

Representasi 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)
}
Kolom
eventId

string

Wajib. ID Acara.

addedAttendeeEmails[]
(deprecated)

string

Opsional. Tidak digunakan lagi: gunakan added_attendees sebagai gantinya.

addedAttendees[]

object (Attendee)

Opsional. Peserta yang akan ditambahkan ke acara.

removedAttendeeEmails[]

string

Opsional. Tamu acara yang akan dihapus, sebagai alamat email.

overrideReminders[]

object (Reminder)

Opsional. Jika disetel, akan menggantikan semua pengingat yang ada untuk acara tersebut.

addedAttachments[]

object (Attachment)

Opsional. Lampiran file yang akan ditambahkan ke acara.

removedAttachmentFileUrls[]

string

Opsional. Lampiran file yang akan dihapus dari acara.

Kolom union _calendar_id.

_calendar_id hanya dapat berupa salah satu dari hal berikut:

calendarId

string

Opsional. ID kalender yang berisi acara. Alamat email - dapat diselesaikan menggunakan list_calendars. Default: kalender utama.

Kolom union _summary.

_summary hanya dapat berupa salah satu dari hal berikut:

summary

string

Opsional. Judul baru.

Kolom union _description.

_description hanya dapat berupa salah satu dari hal berikut:

description

string

Opsional. Deskripsi baru. Dapat berisi HTML.

Kolom union _location.

_location hanya dapat berupa salah satu dari hal berikut:

location

string

Opsional. Lokasi baru.

Kolom union _start_time.

_start_time hanya dapat berupa salah satu dari hal berikut:

startTime

string

Opsional. Waktu mulai baru (ISO 8601). Mempertahankan durasi jika hanya memperbarui awal.

Kolom union _end_time.

_end_time hanya dapat berupa salah satu dari hal berikut:

endTime

string

Opsional. Waktu berakhir baru (ISO 8601).

Kolom union _all_day.

_all_day hanya dapat berupa salah satu dari hal berikut:

allDay

boolean

Opsional. Mengubah acara menjadi sepanjang hari. Jika ditetapkan, start_time/end_time juga harus diberikan.

Kolom union _time_zone.

_time_zone hanya dapat berupa salah satu dari hal berikut:

timeZone

string

Opsional. Nama Database Zona Waktu IANA (misalnya, America/Los_Angeles). Default: zona waktu utama pengguna. Mengganti offset di start_time dan end_time.

Kolom union _notification_level.

_notification_level hanya dapat berupa salah satu dari hal berikut:

notificationLevel

enum (NotificationLevel)

Opsional. Notifikasi email yang akan dikirim untuk info terbaru acara ini. Default: ALL.

Kolom union _add_google_meet_url.

_add_google_meet_url hanya dapat berupa salah satu dari hal berikut:

addGoogleMeetUrl

boolean

Opsional. Jika benar (true), membuat atau memperbarui URL Google Meet untuk acara. Diabaikan jika Meet dinonaktifkan.

Kolom union _visibility.

_visibility hanya dapat berupa salah satu dari hal berikut:

visibility

string

Opsional. Visibilitas baru acara. Nilai yang dimungkinkan adalah:

  • default - Menggunakan visibilitas default untuk acara di kalender. Nilai default.
  • public - Detail acara dapat dilihat oleh semua pembaca kalender.
  • private - Acara bersifat pribadi dan hanya tamu acara yang dapat melihat detail acara.

Kolom union _color_id.

_color_id hanya dapat berupa salah satu dari hal berikut:

colorId

string

Opsional. Warna baru acara. Untuk mengetahui daftar ID warna, lihat dokumentasi resource Acara.

Kolom union _google_meet_url.

_google_meet_url hanya dapat berupa salah satu dari hal berikut:

googleMeetUrl

string

Opsional. Memungkinkan melampirkan URL Google Meet atau ID rapat yang sudah ada ke acara. Mengganti nilai addGoogleMeetUrl.

Kolom union _guest_permissions.

_guest_permissions hanya dapat berupa salah satu dari hal berikut:

guestPermissions

object (GuestPermissions)

Opsional. Setelan izin tamu untuk acara ini.

Kolom union _availability.

_availability hanya dapat berupa salah satu dari hal berikut:

availability

enum (Availability)

Opsional. Apakah acara memblokir waktu di kalender.

Tamu

Representasi JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Kolom

Kolom union _id.

_id hanya dapat berupa salah satu dari hal berikut:

id

string

Hanya output. ID Profil.

Kolom union _email.

_email hanya dapat berupa salah satu dari hal berikut:

email

string

Wajib. Alamat email peserta.

Kolom union _display_name.

_display_name hanya dapat berupa salah satu dari hal berikut:

displayName

string

Opsional. Nama.

Kolom union _organizer.

_organizer hanya dapat berupa salah satu dari hal berikut:

organizer

boolean

Hanya output. Apakah peserta adalah penyelenggara. Default: false.

Kolom union _self.

_self hanya dapat berupa salah satu dari hal berikut:

self

boolean

Hanya output. Apakah entri ini mewakili kalender tempat salinan acara ini muncul. Default: false.

Kolom union _resource.

_resource hanya dapat berupa salah satu dari hal berikut:

resource

boolean

Opsional. Apakah tamu adalah fasilitas (misalnya, ruang). Tidak dapat diubah, hanya dapat ditetapkan saat peserta ditambahkan pertama kali. Default: false.

Kolom union _optional_attendee.

_optional_attendee hanya dapat berupa salah satu dari hal berikut:

optionalAttendee

boolean

Opsional. Apakah peserta bersifat opsional. Default: false.

Kolom union _response_status.

_response_status hanya dapat berupa salah satu dari hal berikut:

responseStatus

string

Opsional. Status respons. Nilai yang dimungkinkan adalah:

  • needsAction - Tamu belum menanggapi undangan (direkomendasikan untuk acara baru).
  • declined - Tamu telah menolak undangan.
  • tentative - Tamu telah menerima undangan untuk sementara.
  • accepted - Tamu telah menerima undangan.

Kolom union _comment.

_comment hanya dapat berupa salah satu dari hal berikut:

comment

string

Hanya output. Komentar respons.

Kolom union _additional_guests.

_additional_guests hanya dapat berupa salah satu dari hal berikut:

additionalGuests

integer

Opsional. Jumlah tamu tambahan. Default: 0.

Pengingat

Representasi JSON
{

  "method": string

  "minutes": integer
}
Kolom

Kolom union _method.

_method hanya dapat berupa salah satu dari hal berikut:

method

string

Wajib. Metode penayangan. Nilai yang dimungkinkan adalah:

  • email - Pengingat dikirim melalui email.
  • popup - Pengingat dikirim melalui pop-up UI.

Kolom union _minutes.

_minutes hanya dapat berupa salah satu dari hal berikut:

minutes

integer

Wajib. Jumlah menit sebelum pengingat dipicu.

Lampiran

Representasi JSON
{

  "fileUrl": string

  "title": string
}
Kolom

Kolom union _file_url.

_file_url hanya dapat berupa salah satu dari hal berikut:

fileUrl

string

Wajib. Link URL ke lampiran.

Kolom union _title.

_title hanya dapat berupa salah satu dari hal berikut:

title

string

Opsional. Judul lampiran.

GuestPermissions

Representasi JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Kolom

Kolom union _guests_can_invite_others.

_guests_can_invite_others hanya dapat berupa salah satu dari hal berikut:

guestsCanInviteOthers

boolean

Opsional. Apakah tamu dapat mengundang orang lain.

Kolom union _guests_can_modify.

_guests_can_modify hanya dapat berupa salah satu dari hal berikut:

guestsCanModify

boolean

Opsional. Apakah tamu dapat mengubah acara.

Kolom union _guests_can_see_guests.

_guests_can_see_guests hanya dapat berupa salah satu dari hal berikut:

guestsCanSeeGuests

boolean

Opsional. Apakah tamu dapat melihat tamu lain.

NotificationLevel

Tingkat notifikasi email untuk pembaruan.

Enum
NOTIFICATION_LEVEL_UNSPECIFIED Default. Diperlakukan sebagai ALL.
NONE Tidak ada notifikasi.
EXTERNAL_ONLY Hanya tamu eksternal.
ALL Semua peserta.

Ketersediaan

Setelan ketersediaan untuk acara.

Enum
AVAILABILITY_UNSPECIFIED Default. Diperlakukan sebagai BUSY.
AVAILABILITY_BUSY Memblokir waktu di kalender.
AVAILABILITY_FREE Tidak memblokir waktu.

Skema Output

Acara

Representasi 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)
}
Kolom
id

string

ID unik.

status

string

Opsional. Status. Nilai yang dimungkinkan adalah:

  • confirmed - Acara dikonfirmasi (default).
  • tentative - Acara dikonfirmasi sementara.
  • cancelled - Acara dibatalkan atau dihapus.

htmlLink

string

Hanya output. Link absolut ke acara ini di UI Web Google Kalender.

created

string

Hanya output. Waktu pembuatan (ISO 8601).

updated

string

Hanya output. Waktu modifikasi terakhir (ISO 8601).

summary

string

Judul.

description

string

Opsional. Deskripsi. Dapat berisi HTML.

location

string

Opsional. Lokasi.

creator

object (Principal)

Hanya output. Kreator.

organizer

object (Principal)

Hanya output. Penyelenggara. Juga tercantum dalam peserta jika hadir.

start

object (DateOrDateTime)

Waktu mulai (inklusif). Untuk acara berulang, instance pertama digunakan.

end

object (DateOrDateTime)

Waktu berakhir (eksklusif). Untuk acara berulang, instance pertama digunakan.

recurrence[]

string

Aturan pengulangan sebagai string RRULE, EXRULE, RDATE, atau EXDATE (per RFC 5545). Dihilangkan untuk acara tunggal. Waktu mulai/berakhir harus ditetapkan di kolom start/end.

recurringEventId

string

ID acara rutin induk untuk instance acara rutin.

originalStartTime

object (DateOrDateTime)

Waktu mulai asli instance berulang. Ini adalah waktu saat instance ini akan dimulai menurut data pengulangan.

transparency
(deprecated)

string

Opsional. Tidak digunakan lagi: gunakan availability sebagai gantinya.

visibility

string

Opsional. Visibilitas acara. Nilai yang dimungkinkan adalah:

  • default - Menggunakan visibilitas default untuk acara di kalender. Nilai ini merupakan default.
  • public - Detail acara dapat dilihat oleh semua pembaca kalender.
  • private - Hanya tamu acara yang dapat melihat detail acara.

attendees[]

object (Attendee)

Peserta.

conferenceUrl

string

Link konferensi video.

colorId

string

Warna acara. Hanya memengaruhi tampilan kalender Anda sendiri. Ini adalah ID yang merujuk ke entri dalam palet warna kalender (string '1'-'11'):

  • 1: Lavender
  • 2: Sage
  • 3: Anggur
  • 4: Flamingo
  • 5: Pisang
  • 6: Tangerine
  • 7: Merak
  • 8: Grafit
  • 9: Blueberry
  • 10: Kemangi
  • 11: Tomat.

overrideReminders[]

object (Reminder)

Pengingat. Kembali ke default kalender jika tidak disetel.

attachments[]

object (Attachment)

Lampiran file.

guestPermissions

object (GuestPermissions)

Izin tamu.

eventType

enum (EventType)

Jenis peristiwa.

workingLocationProperties

object (WorkingLocationProperties)

Properti lokasi kerja. Diisi hanya jika event_type adalah WORKING_LOCATION.

availability

enum (Availability)

Opsional. Setelan ketersediaan.

Akun utama

Representasi JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Kolom
email

string

Email.

displayName

string

Nama.

self

boolean

Hanya output. Apakah prinsipal ini sesuai dengan kalender tempat salinan acara ini muncul. Default: false.

DateOrDateTime

Representasi JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Kolom
date

string

Tanggal ISO 8601 pada tengah malam UTC (misalnya, '2019-11-20T00:00:00Z').

dateTime

string

Stempel waktu ISO 8601 (misalnya, '2019-11-20T08:19:06-07:00').

timeZone

string

Nama zona waktu TZDB.

Tamu

Representasi JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Kolom

Kolom union _id.

_id hanya dapat berupa salah satu dari hal berikut:

id

string

Hanya output. ID Profil.

Kolom union _email.

_email hanya dapat berupa salah satu dari hal berikut:

email

string

Wajib. Alamat email peserta.

Kolom union _display_name.

_display_name hanya dapat berupa salah satu dari hal berikut:

displayName

string

Opsional. Nama.

Kolom union _organizer.

_organizer hanya dapat berupa salah satu dari hal berikut:

organizer

boolean

Hanya output. Apakah peserta adalah penyelenggara. Default: false.

Kolom union _self.

_self hanya dapat berupa salah satu dari hal berikut:

self

boolean

Hanya output. Apakah entri ini mewakili kalender tempat salinan acara ini muncul. Default: false.

Kolom union _resource.

_resource hanya dapat berupa salah satu dari hal berikut:

resource

boolean

Opsional. Apakah tamu adalah fasilitas (misalnya, ruang). Tidak dapat diubah, hanya dapat ditetapkan saat peserta ditambahkan pertama kali. Default: false.

Kolom union _optional_attendee.

_optional_attendee hanya dapat berupa salah satu dari hal berikut:

optionalAttendee

boolean

Opsional. Apakah peserta bersifat opsional. Default: false.

Kolom union _response_status.

_response_status hanya dapat berupa salah satu dari hal berikut:

responseStatus

string

Opsional. Status respons. Nilai yang dimungkinkan adalah:

  • needsAction - Tamu belum menanggapi undangan (direkomendasikan untuk acara baru).
  • declined - Tamu telah menolak undangan.
  • tentative - Tamu telah menerima undangan untuk sementara.
  • accepted - Tamu telah menerima undangan.

Kolom union _comment.

_comment hanya dapat berupa salah satu dari hal berikut:

comment

string

Hanya output. Komentar respons.

Kolom union _additional_guests.

_additional_guests hanya dapat berupa salah satu dari hal berikut:

additionalGuests

integer

Opsional. Jumlah tamu tambahan. Default: 0.

Pengingat

Representasi JSON
{

  "method": string

  "minutes": integer
}
Kolom

Kolom union _method.

_method hanya dapat berupa salah satu dari hal berikut:

method

string

Wajib. Metode penayangan. Nilai yang dimungkinkan adalah:

  • email - Pengingat dikirim melalui email.
  • popup - Pengingat dikirim melalui pop-up UI.

Kolom union _minutes.

_minutes hanya dapat berupa salah satu dari hal berikut:

minutes

integer

Wajib. Jumlah menit sebelum pengingat dipicu.

Lampiran

Representasi JSON
{

  "fileUrl": string

  "title": string
}
Kolom

Kolom union _file_url.

_file_url hanya dapat berupa salah satu dari hal berikut:

fileUrl

string

Wajib. Link URL ke lampiran.

Kolom union _title.

_title hanya dapat berupa salah satu dari hal berikut:

title

string

Opsional. Judul lampiran.

GuestPermissions

Representasi JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Kolom

Kolom union _guests_can_invite_others.

_guests_can_invite_others hanya dapat berupa salah satu dari hal berikut:

guestsCanInviteOthers

boolean

Opsional. Apakah tamu dapat mengundang orang lain.

Kolom union _guests_can_modify.

_guests_can_modify hanya dapat berupa salah satu dari hal berikut:

guestsCanModify

boolean

Opsional. Apakah tamu dapat mengubah acara.

Kolom union _guests_can_see_guests.

_guests_can_see_guests hanya dapat berupa salah satu dari hal berikut:

guestsCanSeeGuests

boolean

Opsional. Apakah tamu dapat melihat tamu lain.

WorkingLocationProperties

Representasi JSON
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Kolom

Kolom union _type.

_type hanya dapat berupa salah satu dari hal berikut:

type

enum (WorkingLocationType)

Opsional. Jenis lokasi kerja.

Kolom union _custom_location_label.

_custom_location_label hanya dapat berupa salah satu dari hal berikut:

customLocationLabel

string

Opsional. Label untuk lokasi kustom. Wajib jika jenisnya adalah CUSTOM_LOCATION.

EventType

Jenis peristiwa. Tidak dapat diubah setelah dibuat.

Enum
EVENT_TYPE_UNSPECIFIED Diperlakukan sebagai DEFAULT.
DEFAULT Acara reguler. Nilai default.
OUT_OF_OFFICE Acara tidak di kantor.
FOCUS_TIME Acara waktu fokus.
WORKING_LOCATION Acara lokasi kerja.
BIRTHDAY Acara khusus sepanjang hari dengan pengulangan tahunan.
FROM_GMAIL Acara dari Gmail. Jenis acara ini tidak dapat dibuat.

WorkingLocationType

Jenis lokasi kerja.

Enum
WORKING_LOCATION_TYPE_UNSPECIFIED Jenis lokasi kerja tidak ditentukan. Akan diperlakukan sebagai HOME_OFFICE.
HOME_OFFICE Kantor rumah.
CUSTOM_LOCATION Lokasi kustom.

Ketersediaan

Setelan ketersediaan untuk acara.

Enum
AVAILABILITY_UNSPECIFIED Default. Diperlakukan sebagai BUSY.
AVAILABILITY_BUSY Memblokir waktu di kalender.
AVAILABILITY_FREE Tidak memblokir waktu.

Anotasi Alat

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ✅ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌

Cakupan Otorisasi

Memerlukan salah satu cakupan OAuth berikut:

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