MCP Tools Reference: calendarmcp.googleapis.com

Инструмент: delete_event

Удаляет событие календаря.

Используйте этот инструмент для таких запросов, как:

  • Удалить событие с идентификатором event123 из моего календаря.

Для отмены или отклонения события используйте инструмент respond_to_event.

Пример:

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

В следующем примере показано, как использовать curl для вызова инструмента MCP delete_event .

Запрос 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
}'
                

Схема ввода

Сообщение запроса для события DeleteEvent.

DeleteEventRequest

JSON-представление
{
  "eventId": string,

  "calendarId": string

  "notificationLevel": enum (NotificationLevel)
}
Поля
eventId

string

Обязательно. Идентификатор события, которое нужно удалить.

Объединенное поле _calendar_id .

_calendar_id может принимать только одно из следующих значений:

calendarId

string

Необязательный параметр. Идентификатор календаря события, которое нужно удалить. По умолчанию используется основной календарь пользователя.

Объединенное поле _notification_level .

_notification_level может принимать только одно из следующих значений:

notificationLevel

enum ( NotificationLevel )

Необязательный параметр. Какой адрес электронной почты следует отправить для уведомления об этом событии. Возможные значения:

  • NONE - Уведомления по электронной почте не отправляются (по умолчанию).
  • EXTERNAL_ONLY - Уведомления по электронной почте получают только внешние участники (не включенные в Календарь).
  • ALL - Все участники мероприятия получат уведомления по электронной почте.

Схема вывода

Событие

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)
    }
  ]
}
Поля
id

string

Непрозрачный идентификатор события. При создании новых разовых или повторяющихся событий можно указать их идентификаторы. Указанные идентификаторы должны соответствовать следующим правилам:

  • В идентификаторе допускаются символы, используемые в кодировке base32hex, а именно строчные буквы av и цифры 0-9 (см. раздел 3.1.2 в RFC2938).
  • Длина идентификатора должна составлять от 5 до 1024 символов.
  • Идентификатор должен быть уникальным для каждого календаря.

Ввиду глобальной распределенности системы мы не можем гарантировать обнаружение коллизий идентификаторов во время создания события. Для минимизации риска коллизий мы рекомендуем использовать проверенный алгоритм UUID, например, описанный в RFC4122.

Если вы не укажете идентификатор, он будет сгенерирован сервером автоматически.

Обратите внимание, что icalUID и id не идентичны, и при создании события следует указывать только один из них. Одно из различий в их семантике заключается в том, что в повторяющихся событиях все экземпляры одного события имеют разные id, но при этом все они используют один и тот же icalUID.

status

string

Статус события. Необязательный параметр. Возможные значения:

  • confirmed — Событие подтверждено. Это статус по умолчанию.
  • tentative - Событие предварительно подтверждено.
  • cancelled — событие отменено (удалено). Метод `list` возвращает отмененные события только при инкрементальной синхронизации (если указаны `syncToken` или `updatedMin`) или если флаг `showDeleted` установлен в `true`. Метод `get` всегда возвращает их.

Статус «отменено» обозначает два разных состояния в зависимости от типа события:

  1. Исключения, связанные с отменой неотмененного повторяющегося события, указывают на то, что этот экземпляр больше не должен отображаться пользователю. Клиенты должны хранить эти события в течение всего времени существования родительского повторяющегося события. Гарантируется, что значения полей id, recurringEventId и originalStartTime будут заполнены только для исключений, связанных с отменой. Остальные поля могут быть пустыми.
  2. Все остальные отмененные события представляют собой удаленные события. Клиентам следует удалить свои локально синхронизированные копии. Такие отмененные события со временем исчезнут, поэтому не следует рассчитывать на их постоянную доступность. Для удаленных событий гарантируется заполнение только поля id.

В календаре организатора отмененные события продолжают отображать подробную информацию о них (краткое описание, место проведения и т. д.), что позволяет их восстановить (восстановить в удаленном виде). ​​Аналогично, события, на которые пользователь был приглашен и которые он удалил вручную, также продолжают предоставлять подробную информацию. Однако запросы на инкрементальную синхронизацию с параметром showDeleted, установленным в значение false, не будут возвращать эти данные.

Если организатор мероприятия меняется (например, путем перемещения), а первоначальный организатор отсутствует в списке участников, то мероприятие будет отменено, и гарантированно будет заполнено только поле id.

htmlLink

string

Абсолютная ссылка на это событие в веб-интерфейсе Google Календаря. Только для чтения.

created

string

Время создания события (в формате метки времени ISO 8601). Только для чтения.

updated

string

Время последнего изменения основных данных события (в формате метки времени ISO 8601). Обновление напоминаний о событиях не приведет к изменению этого параметра. Только для чтения.

summary

string

Название мероприятия.

description

string

Описание мероприятия. Может содержать HTML-код. Необязательно.

location

string

Географическое местоположение мероприятия в виде произвольного текста. Необязательно.

creator

object ( Principal )

Создатель мероприятия. Только для чтения.

organizer

object ( Principal )

Организатор мероприятия. Если организатор также является участником, это указывается отдельной записью в списке участников, где для поля «Организатор» установлено значение «True». Только для чтения.

start

object ( DateOrDateTime )

Время начала события (включительно). Для повторяющегося события это время начала первого события.

end

object ( DateOrDateTime )

Время окончания события (исключая указанное время). Для повторяющегося события это время окончания первого его экземпляра.

recurrence[]

string

Список строк RRULE, EXRULE, RDATE и EXDATE для повторяющегося события, как указано в RFC5545. Обратите внимание, что строки DTSTART и DTEND не допускаются в этом поле; время начала и окончания события указывается в полях start и end. Это поле опускается для единичных событий или случаев повторяющихся событий.

recurringEventId

string

Для экземпляра повторяющегося события это идентификатор повторяющегося события, к которому принадлежит данный экземпляр. Неизменяемый.

originalStartTime

object ( DateOrDateTime )

Для экземпляра повторяющегося события это время, в которое это событие должно было бы начаться в соответствии с данными о повторяемости в повторяющемся событии, идентифицированном по recurringEventId. Оно однозначно идентифицирует экземпляр в серии повторяющихся событий, даже если экземпляр был перемещен на другое время. Неизменяемый.

transparency

string

Определяет, блокирует ли событие время в календаре. Необязательный параметр. Возможные значения:

  • opaque — значение по умолчанию. Событие блокирует время в календаре. Это эквивалентно установке параметра «Показывать как занято» в пользовательском интерфейсе календаря.
  • transparent — событие не блокирует время в календаре. Это эквивалентно установке параметра «Показывать как» в значение «Доступно» в пользовательском интерфейсе календаря.
visibility

string

Видимость события. Необязательный параметр. Возможные значения:

  • default — Использует видимость событий в календаре по умолчанию. Это значение по умолчанию.
  • public — это событие является публичным, и его подробности видны всем, кто читает календарь.
  • private мероприятие — мероприятие закрытое, и только участники мероприятия могут просматривать его подробности.
  • confidential — Мероприятие носит частный характер. Это значение указано для обеспечения совместимости.
attendees[]

object ( Attendee )

Участники мероприятия.

eventType

string

Конкретный тип события. Изменить его после создания события невозможно. Возможные значения:

  • birthday — особое событие, длящееся весь день и повторяющееся ежегодно.
  • default — обычное событие или не указано иное.
  • focusTime — событие, определяющее время фокусировки.
  • fromGmail - Событие из Gmail. Создать событие такого типа невозможно.
  • outOfOffice — событие, сообщающее об отсутствии на рабочем месте.
  • workingLocation - Событие, указывающее место работы.
conferenceUrl

string

Ссылка на мероприятие в Google Meet.

colorId

string

Идентификатор цвета события ( 11 1 ):

  • 1: Лаванда
  • 2: Мудрец
  • 3: Виноград
  • 4: Фламинго
  • 5: Банан
  • 6: Мандарин
  • 7: Павлин
  • 8: Графит
  • 9: Черника
  • 10: Базилик
  • 11: Помидор.

В Google Календаре цвета событий функционируют как категории — их можно устанавливать для каждого события или серии событий. Пользователи могут назначать пользовательские метки цветам в веб-интерфейсе (например, 1:1s , Break »), но API предоставляет только числовые идентификаторы, а не эти метки. Это влияет только на ваш собственный вид календаря — каждый участник управляет своим собственным цветом события.

overrideReminders[]

object ( Reminder )

Напоминания, заданные для этого события, переопределяют напоминания по умолчанию в календаре. Если не задано, используются напоминания по умолчанию в календаре.

Главный

JSON-представление
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Поля
email

string

Адрес электронной почты директора (календарь).

displayName

string

Имя директора, если имеется.

self

boolean

Соответствует ли этот основной параметр календарю, в котором отображается данная копия события. Только для чтения. Значение по умолчанию — False.

Дата или Дата/Время

JSON-представление
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Поля
date

string

Дата в формате ISO 8601 в полночь по UTC, например, 2019-11-20T00:00:00Z . Если это поле задано, date_time не должно быть задано.

dateTime

string

Временная метка в формате ISO 8601, например, 2019-11-20T08:19:06-07:00 или 2019-11-20T08:19:06Z . Если это поле задано, date указывать не следует.

timeZone

string

Название часового пояса в базе данных TZDB (если доступно).

Участник

JSON-представление
{
  "id": string,
  "email": string,
  "displayName": string,
  "organizer": boolean,
  "self": boolean,
  "resource": boolean,
  "optionalAttendee": boolean,
  "responseStatus": string,
  "comment": string,
  "additionalGuests": integer
}
Поля
id

string

Идентификатор профиля участника (если имеется).

email

string

Адрес электронной почты участника, если он имеется. Это поле должно присутствовать при добавлении участника. Адрес электронной почты должен соответствовать требованиям RFC5322. Обязательно при добавлении участника.

displayName

string

Имя участника (если имеется). (Необязательно).

organizer

boolean

Указывает, является ли участник организатором мероприятия. Только для чтения. Значение по умолчанию — False.

self

boolean

Указывает, соответствует ли данная запись календарю, на котором отображается этот экземпляр события. Только для чтения. Значение по умолчанию — False.

resource

boolean

Указывает, является ли участник ресурсом. Этот параметр можно установить только при первом добавлении участника к мероприятию. Последующие изменения игнорируются. Необязательный параметр. Значение по умолчанию — False.

optionalAttendee

boolean

Является ли это необязательным участником. Необязательно. Значение по умолчанию — False.

responseStatus

string

Статус ответа участника. Возможные значения:

  • needsAction - Участник не ответил на приглашение (рекомендуется для новых мероприятий).
  • declined - Участник отклонил приглашение.
  • tentative - Участник предварительно принял приглашение.
  • accepted - Участник принял приглашение.
comment

string

Комментарий участника. Необязательно.

additionalGuests

integer

Количество дополнительных гостей. Необязательно. По умолчанию — 0.

Напоминание

JSON-представление
{

  "method": string

  "minutes": integer
}
Поля

Объединение полей _method .

_method может принимать только одно из следующих значений:

method

string

Обязательный параметр. Способ доставки напоминания пользователю. Возможные значения:

  • email — Напоминания отправляются по электронной почте.
  • popup — напоминания отправляются через всплывающее окно пользовательского интерфейса.

Union field _minutes .

_minutes может принимать только одно из следующих значений:

minutes

integer

Обязательно. Количество минут, за которое должно быть отправлено напоминание.

Аннотации инструментов

Подсказка о разрушительном эффекте: ✅ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ❌ | Подсказка об открытом мире: ❌