Инструмент: 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 ( |
| Поля | |
|---|---|
summary | Обязательно. Заголовок. |
startTime | Обязательно. Время начала (ISO 8601, например |
endTime | Обязательно. Время окончания (ISO 8601, например |
attendeeEmails[] | Необязательно. Устарело: используйте вместо этого |
attendees[] | Необязательно. Участники мероприятия. Для мероприятий, созданных в основном календаре пользователя и содержащих хотя бы одного другого участника, текущий пользователь будет автоматически добавлен в качестве участника, если он еще не включен. |
recurrenceData[] | Необязательно. Правила повторения в виде строк |
overrideReminders[] | Необязательно. Напоминания переопределяют настройки календаря по умолчанию. |
attachments[] | Необязательно. Вложения файлов. |
Объединенное поле | |
calendarId | Необязательный параметр. Идентификатор календаря, для которого будет создано событие. Адрес электронной почты — может быть определен с помощью |
Поле объединения | |
description | Необязательно. Описание. Может содержать HTML. |
Поле объединения | |
location | Необязательно. Местоположение. |
Поле Союза | |
allDay | Необязательно. Указывается, будет ли мероприятие длиться весь день. Если да, то время начала/окончания считается равным полуночи. |
Поле объединения | |
timeZone | Необязательно. Название базы данных часовых поясов IANA (например, |
Объединенное поле | |
notificationLevel | Необязательно. Какой адрес электронной почты следует отправить для уведомления об этом событии. |
Объединение полей | |
addGoogleMeetUrl | Необязательно. Создайте и добавьте URL-адрес Google Meet. По умолчанию: |
Поле объединения | |
visibility | Необязательный параметр. Видимость события. Возможные значения:
|
Объединенное поле | |
colorId | Необязательно. Цвет события. Список идентификаторов цветов см. в документации ресурса «Событие». |
Объединенное поле | |
googleMeetUrl | Необязательно. Конкретный URL-адрес Google Meet или идентификатор встречи. Переопределяет параметр |
Поле объединения | |
guestPermissions | Необязательно. Права доступа для гостей. |
Объединенное поле | |
availability | Необязательно. Настройка доступности. |
Объединенное поле | |
eventType | Необязательно. Тип мероприятия. |
Объединенное поле | |
workingLocationProperties | Необязательно. Свойства рабочего местоположения (если |
Участник
| JSON-представление |
|---|
{ "id": string "email": string "displayName": string "organizer": boolean "self": boolean "resource": boolean "optionalAttendee": boolean "responseStatus": string "comment": string "additionalGuests": integer } |
| Поля | |
|---|---|
Поле объединения | |
id | Только вывод. Идентификатор профиля. |
Поле объединения | |
email | Обязательно. Адрес электронной почты участника. |
Объединенное поле | |
displayName | Необязательно. Имя. |
| |
organizer | Только вывод. Указывает, является ли участник организатором. По умолчанию: |
Поле объединения | |
self | Только вывод. Указывает, соответствует ли эта запись календарю, в котором отображается данная копия события. По умолчанию: |
Объединенное поле | |
resource | Необязательный параметр. Указывает, является ли участник ресурсом (например, комнатой). Неизменяемый параметр, может быть установлен только при первоначальном добавлении участника. По умолчанию: |
Поле объединения | |
optionalAttendee | Необязательный параметр. Указывает, является ли участник необязательным. По умолчанию: |
Поле объединения | |
responseStatus | Необязательный параметр. Статус ответа. Возможные значения:
|
Поле объединения | |
comment | Только вывод. Комментарий к ответу. |
Поле объединения | |
additionalGuests | Необязательный параметр. Количество дополнительных гостей. По умолчанию: |
Напоминание
| JSON-представление |
|---|
{ "method": string "minutes": integer } |
| Поля | |
|---|---|
Объединение полей | |
method | Обязательно. Способ доставки. Возможные значения:
|
Union field | |
minutes | Обязательно. За несколько минут до срабатывания напоминания. |
Гостевые разрешения
| JSON-представление |
|---|
{ "guestsCanInviteOthers": boolean "guestsCanModify": boolean "guestsCanSeeGuests": boolean } |
| Поля | |
|---|---|
Поле объединения | |
guestsCanInviteOthers | Необязательно. Можно ли гостям приглашать других. |
Поле объединения | |
guestsCanModify | Необязательно. Возможность для гостей внести изменения в мероприятие. |
Поле объединения | |
guestsCanSeeGuests | (Необязательно) Позволяет ли гостям видеть других гостей. |
Вложение
| JSON-представление |
|---|
{ "fileUrl": string "title": string } |
| Поля | |
|---|---|
Объединенное поле | |
fileUrl | Обязательно. Ссылка на вложение. |
Поле объединения | |
title | Необязательно. Заголовок вложения. |
РабочееМестоположениеСвойства
| JSON-представление |
|---|
{
"type": enum ( |
| Поля | |
|---|---|
Объединенное поле | |
type | Необязательно. Тип рабочего места. |
Объединенное поле | |
customLocationLabel | Необязательный параметр. Метка для пользовательского местоположения. Обязателен, если тип — |
Уровень уведомления
Уровень уведомлений по электронной почте для получения обновлений.
| Перечисления | |
|---|---|
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 ( |
| Поля | |
|---|---|
id | Уникальный идентификатор. |
status | Необязательный параметр. Статус. Возможные значения:
|
htmlLink | Только для вывода. Абсолютная ссылка на это событие в веб-интерфейсе Google Календаря. |
created | Только для вывода. Время создания (ISO 8601). |
updated | Только для вывода. Время последнего изменения (ISO 8601). |
summary | Заголовок. |
description | Необязательно. Описание. Может содержать HTML. |
location | Необязательно. Местоположение. |
creator | Только вывод. Создатель. |
organizer | Только вывод. Организатор. Также указан в списке участников, если присутствует. |
start | Время начала (включительно). Для повторяющихся событий используется первое событие. |
end | Время окончания (исключая указанное время). Для повторяющихся событий используется первое указанное время. |
recurrence[] | Правила повторения в виде строк |
recurringEventId | Идентификатор родительского повторяющегося события для экземпляров повторяющихся событий. |
originalStartTime | Исходное время начала повторяющихся событий. Это время, в которое данное событие должно было бы начаться в соответствии с данными о повторяемости. |
transparency | Необязательно. Устарело: используйте вместо этого |
visibility | Необязательный параметр. Видимость события. Возможные значения:
|
attendees[] | Участники. |
conferenceUrl | Ссылка на видеоконференцию. |
colorId | Цвет события. Влияет только на ваш собственный календарь. Это идентификатор, указывающий на запись в цветовой палитре календаря (строка
|
overrideReminders[] | Напоминания. Если не задано, используются настройки календаря по умолчанию. |
attachments[] | Вложения файлов. |
guestPermissions | Права доступа гостя. |
eventType | Тип события. |
workingLocationProperties | Свойства рабочего местоположения. Заполняются только тогда, когда |
availability | Необязательно. Настройка доступности. |
Главный
| JSON-представление |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| Поля | |
|---|---|
email | Электронная почта. |
displayName | Имя. |
self | Только для вывода. Указывает, соответствует ли данный субъект календарю, в котором отображается эта копия события. По умолчанию: |
Дата или Дата/Время
| JSON-представление |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| Поля | |
|---|---|
date | Дата по стандарту ISO 8601 в полночь по UTC (например, |
dateTime | Временная метка ISO 8601 (например, |
timeZone | Название часового пояса в базе данных TZDB. |
Участник
| JSON-представление |
|---|
{ "id": string "email": string "displayName": string "organizer": boolean "self": boolean "resource": boolean "optionalAttendee": boolean "responseStatus": string "comment": string "additionalGuests": integer } |
| Поля | |
|---|---|
Поле объединения | |
id | Только вывод. Идентификатор профиля. |
Поле объединения | |
email | Обязательно. Адрес электронной почты участника. |
Объединенное поле | |
displayName | Необязательно. Имя. |
| |
organizer | Только вывод. Указывает, является ли участник организатором. По умолчанию: |
Поле объединения | |
self | Только вывод. Указывает, соответствует ли эта запись календарю, в котором отображается данная копия события. По умолчанию: |
Объединенное поле | |
resource | Необязательный параметр. Указывает, является ли участник ресурсом (например, комнатой). Неизменяемый параметр, может быть установлен только при первоначальном добавлении участника. По умолчанию: |
Поле объединения | |
optionalAttendee | Необязательный параметр. Указывает, является ли участник необязательным. По умолчанию: |
Поле объединения | |
responseStatus | Необязательный параметр. Статус ответа. Возможные значения:
|
Поле объединения | |
comment | Только вывод. Комментарий к ответу. |
Поле объединения | |
additionalGuests | Необязательный параметр. Количество дополнительных гостей. По умолчанию: |
Напоминание
| JSON-представление |
|---|
{ "method": string "minutes": integer } |
| Поля | |
|---|---|
Объединение полей | |
method | Обязательно. Способ доставки. Возможные значения:
|
Union field | |
minutes | Обязательно. За несколько минут до срабатывания напоминания. |
Вложение
| JSON-представление |
|---|
{ "fileUrl": string "title": string } |
| Поля | |
|---|---|
Объединенное поле | |
fileUrl | Обязательно. Ссылка на вложение. |
Поле объединения | |
title | Необязательно. Заголовок вложения. |
Гостевые разрешения
| JSON-представление |
|---|
{ "guestsCanInviteOthers": boolean "guestsCanModify": boolean "guestsCanSeeGuests": boolean } |
| Поля | |
|---|---|
Поле объединения | |
guestsCanInviteOthers | Необязательно. Можно ли гостям приглашать других. |
Поле объединения | |
guestsCanModify | Необязательно. Возможность для гостей внести изменения в мероприятие. |
Поле объединения | |
guestsCanSeeGuests | (Необязательно) Позволяет ли гостям видеть других гостей. |
РабочееМестоположениеСвойства
| JSON-представление |
|---|
{
"type": enum ( |
| Поля | |
|---|---|
Объединенное поле | |
type | Необязательно. Тип рабочего места. |
Объединенное поле | |
customLocationLabel | Необязательный параметр. Метка для пользовательского местоположения. Обязателен, если тип — |
Тип события
Тип события. Неизменяем после создания.
| Перечисления | |
|---|---|
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