MCP Tools Reference: calendarmcp.googleapis.com

Alat: delete_event

Menghapus acara kalender.

Gunakan alat ini untuk kueri seperti:

  • Hapus acara dengan ID event123 di kalender saya.

Untuk membatalkan atau menolak acara, gunakan alat respond_to_event.

Contoh:

delete_event(
            eventId='event123'
        )
        # Deletes the event with id 'event123' on the user's primary calendar.
        

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

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

Skema Input

Pesan permintaan untuk DeleteEvent.

DeleteEventRequest

Representasi JSON
{
  "eventId": string,

  "calendarId": string

  "notificationLevel": enum (NotificationLevel)
}
Kolom
eventId

string

Wajib. ID acara yang akan dihapus.

Kolom union _calendar_id.

_calendar_id hanya dapat berupa salah satu dari hal berikut:

calendarId

string

Opsional. ID kalender acara yang akan dihapus. Defaultnya adalah kalender utama pengguna.

Kolom union _notification_level.

_notification_level hanya dapat berupa salah satu dari hal berikut:

notificationLevel

enum (NotificationLevel)

Opsional. Notifikasi email mana yang harus dikirim untuk info terbaru acara ini. Nilai yang dimungkinkan adalah:

  • NONE - Tidak ada notifikasi email yang dikirim (default).
  • EXTERNAL_ONLY - Hanya tamu eksternal (non-Kalender) yang menerima notifikasi email.
  • ALL - Semua tamu acara menerima notifikasi email.

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)
    }
  ],
  "eventType": string,
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ]
}
Kolom
id

string

ID buram peristiwa. Saat membuat acara baru satu kali atau berulang, Anda dapat menentukan ID-nya. ID yang diberikan harus mengikuti aturan berikut:

  • karakter yang diizinkan dalam ID adalah karakter yang digunakan dalam encoding base32hex, yaitu huruf kecil a-v dan digit 0-9, lihat bagian 3.1.2 dalam RFC2938
  • panjang ID harus antara 5 dan 1024 karakter
  • ID harus unik per kalender

Karena sifat sistem yang didistribusikan secara global, kami tidak dapat menjamin bahwa tabrakan ID akan terdeteksi pada saat pembuatan acara. Untuk meminimalkan risiko bentrokan, sebaiknya gunakan algoritma UUID yang sudah mapan seperti yang dijelaskan dalam RFC4122.

Jika Anda tidak menentukan ID, ID akan dibuat secara otomatis oleh server.

Perhatikan bahwa icalUID dan id tidak identik dan hanya salah satunya yang harus diberikan pada saat pembuatan acara. Salah satu perbedaan semantiknya adalah bahwa dalam acara berulang, semua kemunculan satu acara memiliki ID yang berbeda, tetapi semuanya memiliki icalUID yang sama.

status

string

Status acara. Opsional. Nilai yang dimungkinkan adalah:

  • confirmed - Acara dikonfirmasi. Ini adalah status default.
  • tentative - Acara dikonfirmasi sementara.
  • cancelled - Acara dibatalkan (dihapus). Metode daftar menampilkan peristiwa yang dibatalkan hanya pada sinkronisasi inkremental (saat syncToken atau updatedMin ditentukan) atau jika tanda showDeleted disetel ke benar. Metode get selalu menampilkannya.

Status dibatalkan mewakili dua status berbeda, bergantung pada jenis peristiwanya:

  1. Pengecualian yang dibatalkan dari acara berulang yang tidak dibatalkan menunjukkan bahwa instance ini tidak boleh lagi ditampilkan kepada pengguna. Klien harus menyimpan peristiwa ini selama masa aktif acara berulang induk.Pengecualian yang dibatalkan hanya dijamin memiliki nilai untuk kolom id, recurringEventId, dan originalStartTime yang diisi. Kolom lainnya mungkin kosong.
  2. Semua acara lain yang dibatalkan mewakili acara yang dihapus. Klien harus menghapus salinan yang disinkronkan secara lokal. Acara yang dibatalkan tersebut pada akhirnya akan hilang, jadi jangan mengandalkan ketersediaannya tanpa batas waktu. Peristiwa yang dihapus hanya dijamin memiliki kolom id yang terisi.

Di kalender penyelenggara, acara yang dibatalkan terus menampilkan detail acara (ringkasan, lokasi, dll.) sehingga dapat dipulihkan (dibatalkan penghapusannya). Demikian pula, acara yang mengundang pengguna dan yang dihapus secara manual oleh pengguna akan terus memberikan detail. Namun, permintaan sinkronisasi inkremental dengan showDeleted yang ditetapkan ke false tidak akan menampilkan detail ini.

Jika penyelenggara acara berubah (misalnya melalui operasi pemindahan) dan penyelenggara asli tidak ada dalam daftar peserta, acara yang dibatalkan akan ditinggalkan dan hanya kolom id yang dijamin terisi.

htmlLink

string

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

created

string

Waktu pembuatan acara (sebagai stempel waktu berformat ISO 8601). Hanya baca.

updated

string

Waktu modifikasi terakhir data acara utama (sebagai stempel waktu berformat ISO 8601). Memperbarui pengingat acara tidak akan mengubahnya. Hanya baca.

summary

string

Judul acara.

description

string

Deskripsi acara. Dapat berisi HTML. Opsional.

location

string

Lokasi geografis acara sebagai teks bebas. Opsional.

creator

object (Principal)

Pembuat acara. Hanya baca.

organizer

object (Principal)

Penyelenggara acara. Jika penyelenggara juga merupakan tamu, hal ini ditunjukkan dengan entri terpisah di tamu dengan kolom penyelenggara ditetapkan ke True. Hanya baca.

start

object (DateOrDateTime)

Waktu mulai (inklusif) acara. Untuk acara berulang, ini adalah waktu mulai instance pertama.

end

object (DateOrDateTime)

Waktu berakhir (eksklusif) acara. Untuk acara berulang, ini adalah waktu berakhir instance pertama.

recurrence[]

string

Daftar baris RRULE, EXRULE, RDATE, dan EXDATE untuk acara berulang, seperti yang ditentukan dalam RFC5545. Perhatikan bahwa baris DTSTART dan DTEND tidak diizinkan dalam kolom ini; waktu mulai dan akhir acara ditentukan dalam kolom mulai dan akhir. Kolom ini tidak disertakan untuk acara tunggal atau instance acara berulang.

recurringEventId

string

Untuk instance acara berulang, ini adalah ID acara berulang yang memiliki instance ini. Tidak dapat diubah.

originalStartTime

object (DateOrDateTime)

Untuk instance acara berulang, ini adalah waktu dimulainya acara ini menurut data pengulangan dalam acara berulang yang diidentifikasi oleh recurringEventId. ID ini mengidentifikasi instance secara unik dalam rangkaian acara berulang meskipun instance dipindahkan ke waktu yang berbeda. Tidak dapat diubah.

transparency

string

Apakah acara memblokir waktu di kalender. Opsional. Nilai yang dimungkinkan adalah:

  • opaque - Nilai default. Acara tersebut memblokir waktu di kalender. Tindakan ini sama dengan menyetel Tampilkan saya sebagai Sibuk di UI Kalender.
  • transparent - Acara tidak memblokir waktu di kalender. Tindakan ini sama dengan menyetel Tampilkan saya sebagai ke Tersedia di UI Kalender.
visibility

string

Visibilitas acara. Opsional. Nilai yang dimungkinkan adalah:

  • default - Menggunakan visibilitas default untuk acara di kalender. Nilai ini adalah nilai default.
  • public - Acara bersifat publik dan detail acara dapat dilihat oleh semua pembaca kalender.
  • private - Acara bersifat pribadi dan hanya tamu acara yang dapat melihat detail acara.
  • confidential - Acara bersifat pribadi. Nilai ini diberikan karena alasan kompatibilitas.
attendees[]

object (Attendee)

Peserta acara.

eventType

string

Jenis peristiwa tertentu. Setelan ini tidak dapat diubah setelah acara dibuat. Nilai yang dimungkinkan adalah:

  • birthday - Acara khusus sepanjang hari dengan pengulangan tahunan.
  • default - Acara reguler atau tidak ditentukan lebih lanjut.
  • focusTime - Acara waktu fokus.
  • fromGmail - Acara dari Gmail. Jenis acara ini tidak dapat dibuat.
  • outOfOffice - Acara tidak di kantor.
  • workingLocation - Acara lokasi kerja.
conferenceUrl

string

Link Google Meet untuk acara.

colorId

string

ID warna acara (string 1-11):

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

Di Google Kalender, warna acara berfungsi sebagai kategori — dapat disetel per acara atau per rangkaian. Pengguna dapat menetapkan label kustom ke warna di UI web (misalnya, 1:1s, Break), tetapi API hanya menampilkan ID numerik, bukan label tersebut. Hanya memengaruhi tampilan kalender Anda sendiri — setiap tamu mengontrol warna acaranya sendiri.

overrideReminders[]

object (Reminder)

Pengingat yang ditentukan untuk acara ini, menggantikan pengingat default untuk kalender. Jika tidak disetel, pengingat default di kalender akan digunakan.

Akun utama

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

string

Alamat email kepala sekolah (kalender).

displayName

string

Nama kepala sekolah, jika tersedia.

self

boolean

Apakah prinsipal ini sesuai dengan kalender tempat salinan acara ini muncul. Hanya baca. Defaultnya adalah False.

DateOrDateTime

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

string

Tanggal berformat ISO 8601 pada tengah malam UTC, seperti 2019-11-20T00:00:00Z. Jika kolom ini disetel, date_time tidak boleh disetel.

dateTime

string

Stempel waktu berformat ISO 8601 seperti 2019-11-20T08:19:06-07:00 atau 2019-11-20T08:19:06Z. Jika kolom ini disetel, date tidak boleh disetel.

timeZone

string

Nama zona waktu TZDB jika tersedia.

Peserta

Representasi JSON
{
  "id": string,
  "email": string,
  "displayName": string,
  "organizer": boolean,
  "self": boolean,
  "resource": boolean,
  "optionalAttendee": boolean,
  "responseStatus": string,
  "comment": string,
  "additionalGuests": integer
}
Kolom
id

string

ID Profil tamu, jika tersedia.

email

string

Alamat email peserta, jika tersedia. Kolom ini harus ada saat menambahkan tamu. Alamat email harus valid sesuai dengan RFC5322. Wajib diisi saat menambahkan tamu.

displayName

string

Nama tamu, jika tersedia. Opsional.

organizer

boolean

Apakah tamu adalah penyelenggara acara. Hanya baca. Defaultnya adalah False.

self

boolean

Apakah entri ini mewakili kalender tempat salinan acara ini muncul. Hanya baca. Defaultnya adalah False.

resource

boolean

Apakah peserta adalah resource. Hanya dapat ditetapkan saat tamu ditambahkan ke acara untuk pertama kalinya. Modifikasi berikutnya akan diabaikan. Opsional. Defaultnya adalah False.

optionalAttendee

boolean

Apakah ini adalah tamu opsional. Opsional. Defaultnya adalah False.

responseStatus

string

Status respons peserta. Nilai yang dimungkinkan adalah:

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

string

Komentar respons peserta. Opsional.

additionalGuests

integer

Jumlah tamu tambahan. Opsional. Defaultnya adalah 0.

Pengingat

Representasi JSON
{

  "method": string

  "minutes": integer
}
Kolom

Kolom union _method.

_method hanya dapat berupa salah satu dari hal berikut:

method

string

Wajib. Cara pengingat dikirimkan kepada pengguna. 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 harus dikirim.

Anotasi Alat

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