MCP Tools Reference: calendarmcp.googleapis.com

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

Создает событие в указанном календаре.

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

Запрос 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": "create_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Схема ввода

Запрос сообщения для функции CreateEvent.

CreateEventRequest

JSON-представление
{
  "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)
  }
}
Поля
summary

string

Обязательно. Заголовок.

startTime

string

Обязательно. Время начала (ISO 8601, например '2026-04-30T10:00:00Z' ).

endTime

string

Обязательно. Время окончания (ISO 8601, например '2026-04-30T11:00:00Z' ).

attendeeEmails[]
(deprecated)

string

Необязательно. Устарело: используйте вместо этого attendees .

attendees[]

object ( Attendee )

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

recurrenceData[]

string

Необязательно. Правила повторения в виде строк RRULE , RDATE или EXDATE (согласно RFC 5545).

overrideReminders[]

object ( Reminder )

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

attachments[]

object ( Attachment )

Необязательно. Вложения файлов.

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

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

calendarId

string

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

Поле объединения _description .

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

description

string

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

Поле объединения _location .

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

location

string

Необязательно. Местоположение.

Поле Союза _all_day .

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

allDay

boolean

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

Поле объединения _time_zone .

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

timeZone

string

Необязательно. Название базы данных часовых поясов IANA (например, America/Los_Angeles ). По умолчанию: основной часовой пояс пользователя. Переопределяет смещения в start_time и end_time .

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

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

notificationLevel

enum ( NotificationLevel )

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

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

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

addGoogleMeetUrl

boolean

Необязательно. Создайте и добавьте URL-адрес Google Meet. По умолчанию: false .

Поле объединения _visibility .

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

visibility

string

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

  • default — Использует видимость событий в календаре по умолчанию. Значение по умолчанию.
  • public — это событие является публичным, и его подробности видны всем, кто читает календарь.
  • private — доступ к подробной информации о мероприятии имеют только участники.

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

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

colorId

string

Необязательно. Цвет события. Список идентификаторов цветов см. в документации ресурса «Событие».

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

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

googleMeetUrl

string

Необязательно. Конкретный URL-адрес Google Meet или идентификатор встречи. Переопределяет параметр add_google_meet_url .

Поле объединения _guest_permissions .

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

guestPermissions

object ( GuestPermissions )

Необязательно. Права доступа для гостей.

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

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

availability

enum ( Availability )

Необязательно. Настройка доступности.

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

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

eventType

enum ( EventType )

Необязательно. Тип мероприятия.

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

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

workingLocationProperties

object ( WorkingLocationProperties )

Необязательно. Свойства рабочего местоположения (если eventType имеет значение WORKING_LOCATION ).

Участник

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

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Поля

Поле объединения _id .

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

id

string

Только вывод. Идентификатор профиля.

Поле объединения _email .

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

email

string

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

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

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

displayName

string

Необязательно. Имя.

_organizer полевых работ Союза.

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

organizer

boolean

Только вывод. Указывает, является ли участник организатором. По умолчанию: false .

Поле объединения _self .

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

self

boolean

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

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

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

resource

boolean

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

Поле объединения _optional_attendee .

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

optionalAttendee

boolean

Необязательный параметр. Указывает, является ли участник необязательным. По умолчанию: false .

Поле объединения _response_status .

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

responseStatus

string

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

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

Поле объединения _comment .

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

comment

string

Только вывод. Комментарий к ответу.

Поле объединения _additional_guests .

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

additionalGuests

integer

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

Напоминание

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

  "method": string

  "minutes": integer
}
Поля

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

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

method

string

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

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

Union field _minutes .

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

minutes

integer

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

Гостевые разрешения

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

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Поля

Поле объединения _guests_can_invite_others .

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

guestsCanInviteOthers

boolean

Необязательно. Можно ли гостям приглашать других.

Поле объединения _guests_can_modify .

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

guestsCanModify

boolean

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

Поле объединения _guests_can_see_guests .

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

guestsCanSeeGuests

boolean

(Необязательно) Позволяет ли гостям видеть других гостей.

Вложение

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

  "fileUrl": string

  "title": string
}
Поля

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

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

fileUrl

string

Обязательно. Ссылка на вложение.

Поле объединения _title .

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

title

string

Необязательно. Заголовок вложения.

РабочееМестоположениеСвойства

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

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Поля

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

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

type

enum ( WorkingLocationType )

Необязательно. Тип рабочего места.

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

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

customLocationLabel

string

Необязательный параметр. Метка для пользовательского местоположения. Обязателен, если тип — CUSTOM_LOCATION .

Уровень уведомления

Уровень уведомлений по электронной почте для получения обновлений.

Перечисления
NOTIFICATION_LEVEL_UNSPECIFIED По умолчанию. Рассматривается как ALL .
NONE Никаких уведомлений.
EXTERNAL_ONLY Только для внешних участников.
ALL Все присутствующие.

Доступность

Настройка доступности мероприятия.

Перечисления
AVAILABILITY_UNSPECIFIED По умолчанию. Рассматривается как BUSY .
AVAILABILITY_BUSY Блокирует время в календаре.
AVAILABILITY_FREE Не блокирует время.

Тип события

Тип события. Неизменяем после создания.

Перечисления
EVENT_TYPE_UNSPECIFIED Рассматривается как DEFAULT .
DEFAULT Регулярное событие. Значение по умолчанию.
OUT_OF_OFFICE Сообщение об отсутствии на рабочем месте.
FOCUS_TIME Событие, требующее концентрации внимания.
WORKING_LOCATION Мероприятие, проводимое на рабочем месте.
BIRTHDAY Специальное мероприятие, рассчитанное на весь день, проводится ежегодно.
FROM_GMAIL Событие из Gmail. Создать событие такого типа невозможно.

Тип рабочего местоположения

Тип рабочего места.

Перечисления
WORKING_LOCATION_TYPE_UNSPECIFIED Тип рабочего места не указан. Будет рассматриваться как HOME_OFFICE .
HOME_OFFICE Домашний офис.
CUSTOM_LOCATION Местоположение по вашему желанию.

Схема вывода

Событие

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

string

Уникальный идентификатор.

status

string

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

  • confirmed - Событие подтверждено (по умолчанию).
  • tentative - Событие предварительно подтверждено.
  • cancelled - Мероприятие отменено или удалено.

htmlLink

string

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

created

string

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

updated

string

Только для вывода. Время последнего изменения (ISO 8601).

summary

string

Заголовок.

description

string

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

location

string

Необязательно. Местоположение.

creator

object ( Principal )

Только вывод. Создатель.

organizer

object ( Principal )

Только вывод. Организатор. Также указан в списке участников, если присутствует.

start

object ( DateOrDateTime )

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

end

object ( DateOrDateTime )

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

recurrence[]

string

Правила повторения в виде строк RRULE , EXRULE , RDATE или EXDATE (согласно RFC 5545). Опущено для одиночных событий. Время начала/окончания должно быть указано в полях start / end .

recurringEventId

string

Идентификатор родительского повторяющегося события для экземпляров повторяющихся событий.

originalStartTime

object ( DateOrDateTime )

Исходное время начала повторяющихся событий. Это время, в которое данное событие должно было бы начаться в соответствии с данными о повторяемости.

transparency
(deprecated)

string

Необязательно. Устарело: используйте вместо этого availability .

visibility

string

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

  • default — Использует видимость событий в календаре по умолчанию. Это значение по умолчанию.
  • public — подробная информация о мероприятии видна всем, кто просматривает календарь.
  • private — доступ к подробной информации о мероприятии имеют только участники.

attendees[]

object ( Attendee )

Участники.

conferenceUrl

string

Ссылка на видеоконференцию.

colorId

string

Цвет события. Влияет только на ваш собственный календарь. Это идентификатор, указывающий на запись в цветовой палитре календаря (строка '1' до '11' ):

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

overrideReminders[]

object ( Reminder )

Напоминания. Если не задано, используются настройки календаря по умолчанию.

attachments[]

object ( Attachment )

Вложения файлов.

guestPermissions

object ( GuestPermissions )

Права доступа гостя.

eventType

enum ( EventType )

Тип события.

workingLocationProperties

object ( WorkingLocationProperties )

Свойства рабочего местоположения. Заполняются только тогда, когда event_type имеет значение WORKING_LOCATION .

availability

enum ( Availability )

Необязательно. Настройка доступности.

Главный

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' ).

dateTime

string

Временная метка ISO 8601 (например, '2019-11-20T08:19:06-07:00' ).

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 .

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

id

string

Только вывод. Идентификатор профиля.

Поле объединения _email .

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

email

string

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

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

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

displayName

string

Необязательно. Имя.

_organizer полевых работ Союза.

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

organizer

boolean

Только вывод. Указывает, является ли участник организатором. По умолчанию: false .

Поле объединения _self .

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

self

boolean

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

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

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

resource

boolean

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

Поле объединения _optional_attendee .

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

optionalAttendee

boolean

Необязательный параметр. Указывает, является ли участник необязательным. По умолчанию: false .

Поле объединения _response_status .

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

responseStatus

string

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

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

Поле объединения _comment .

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

comment

string

Только вывод. Комментарий к ответу.

Поле объединения _additional_guests .

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

additionalGuests

integer

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

Напоминание

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

  "method": string

  "minutes": integer
}
Поля

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

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

method

string

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

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

Union field _minutes .

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

minutes

integer

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

Вложение

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

  "fileUrl": string

  "title": string
}
Поля

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

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

fileUrl

string

Обязательно. Ссылка на вложение.

Поле объединения _title .

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

title

string

Необязательно. Заголовок вложения.

Гостевые разрешения

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

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Поля

Поле объединения _guests_can_invite_others .

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

guestsCanInviteOthers

boolean

Необязательно. Можно ли гостям приглашать других.

Поле объединения _guests_can_modify .

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

guestsCanModify

boolean

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

Поле объединения _guests_can_see_guests .

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

guestsCanSeeGuests

boolean

(Необязательно) Позволяет ли гостям видеть других гостей.

РабочееМестоположениеСвойства

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

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Поля

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

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

type

enum ( WorkingLocationType )

Необязательно. Тип рабочего места.

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

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

customLocationLabel

string

Необязательный параметр. Метка для пользовательского местоположения. Обязателен, если тип — CUSTOM_LOCATION .

Тип события

Тип события. Неизменяем после создания.

Перечисления
EVENT_TYPE_UNSPECIFIED Рассматривается как DEFAULT .
DEFAULT Регулярное событие. Значение по умолчанию.
OUT_OF_OFFICE Сообщение об отсутствии на рабочем месте.
FOCUS_TIME Событие, требующее концентрации внимания.
WORKING_LOCATION Мероприятие, проводимое на рабочем месте.
BIRTHDAY Специальное мероприятие, рассчитанное на весь день, проводится ежегодно.
FROM_GMAIL Событие из Gmail. Создать событие такого типа невозможно.

Тип рабочего местоположения

Тип рабочего места.

Перечисления
WORKING_LOCATION_TYPE_UNSPECIFIED Тип рабочего места не указан. Будет рассматриваться как HOME_OFFICE .
HOME_OFFICE Домашний офис.
CUSTOM_LOCATION Местоположение по вашему желанию.

Доступность

Настройка доступности мероприятия.

Перечисления
AVAILABILITY_UNSPECIFIED По умолчанию. Рассматривается как BUSY .
AVAILABILITY_BUSY Блокирует время в календаре.
AVAILABILITY_FREE Не блокирует время.

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

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

Области полномочий

Требуется один из следующих диапазонов аутентификации OAuth:

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