Календарь
Инструменты раздела «Календарь»: 7
Подключение: https://mcp.legalstack.ru/mcp/calendar или в составе общего подключения https://mcp.legalstack.ru/mcp.
Создать событие
create_event · изменяет данные
Описание для модели: Create a calendar event or meeting. Participants are notified. Without end a timed event lasts one hour.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
title | string | да | Event title. Длина: 1–500. |
start | string | да | Start, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event. Длина: 10–40. |
end | string | нет | End, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event. Длина: 10–40. |
kind | string | нет | Meeting or reserved focus time. Значения: Встреча, Фокус-время. |
description | string | нет | Description, plain text. Длина: до 20000. |
location | string | нет | Place or meeting link. Длина: до 500. |
participant_ids | массив string | нет | Participants, member ids from list_members. Элементов: до 100. |
repeat_rule | string | нет | Recurrence as RRULE, for example FREQ=WEEKLY;BYDAY=MO,WE. Длина: до 500. |
reminders_minutes | массив integer | нет | Minutes before the start. Элементов: до 10. |
visibility | string | нет | Who sees the details. Значения: Видно всем, Только занятость, Только участникам. |
JSON Schema параметров
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Event title"
},
"start": {
"type": "string",
"minLength": 10,
"maxLength": 40,
"description": "Start, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event"
},
"end": {
"description": "End, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event",
"type": "string",
"minLength": 10,
"maxLength": 40
},
"kind": {
"type": "string",
"enum": [
"Встреча",
"Фокус-время"
],
"description": "Meeting or reserved focus time"
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Description, plain text"
},
"location": {
"type": "string",
"maxLength": 500,
"description": "Place or meeting link"
},
"participant_ids": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Team member id"
},
"description": "Participants, member ids from list_members"
},
"repeat_rule": {
"type": "string",
"maxLength": 500,
"description": "Recurrence as RRULE, for example FREQ=WEEKLY;BYDAY=MO,WE"
},
"reminders_minutes": {
"maxItems": 10,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 40320
},
"description": "Minutes before the start"
},
"visibility": {
"type": "string",
"enum": [
"Видно всем",
"Только занятость",
"Только участникам"
],
"description": "Who sees the details"
}
},
"required": [
"title",
"start"
],
"additionalProperties": false
}Удалить событие
delete_event · необратимое действие
Описание для модели: Delete a calendar event or its occurrences. For a repeating event choose the scope. The event cannot be restored.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
event_id | string | да | Event id. Длина: 1–64. |
scope | string | нет | For a repeating event: one occurrence, it and later ones, or all. Значения: this, following, all. |
occurrence | string | нет | Start of the occurrence the scope applies to, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given. |
JSON Schema параметров
{
"type": "object",
"properties": {
"event_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Event id"
},
"scope": {
"description": "For a repeating event: one occurrence, it and later ones, or all",
"type": "string",
"enum": [
"this",
"following",
"all"
]
},
"occurrence": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}",
"description": "Start of the occurrence the scope applies to, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given"
}
},
"required": [
"event_id"
],
"additionalProperties": false
}Свободное время участников
find_free_slots · только чтение
Описание для модели: Find free meeting slots in calendars of team members. With together all members are free at once, otherwise a slot needs any one of them.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
member_ids | массив string | да | Member ids from list_members. Элементов: 1–20. |
from | string | да | Start of the search window, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given. |
to | string | да | End of the search window, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given. |
duration_minutes | integer | да | Meeting length in minutes. Диапазон: 5–1440. |
step_minutes | integer | нет | Grid step, the meeting length by default. Диапазон: 5–1440. |
together | boolean | нет | All members must be free at once, on by default. |
JSON Schema параметров
{
"type": "object",
"properties": {
"member_ids": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Team member id"
},
"description": "Member ids from list_members"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}",
"description": "Start of the search window, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given"
},
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}",
"description": "End of the search window, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given"
},
"duration_minutes": {
"type": "integer",
"minimum": 5,
"maximum": 1440,
"description": "Meeting length in minutes"
},
"step_minutes": {
"description": "Grid step, the meeting length by default",
"type": "integer",
"minimum": 5,
"maximum": 1440
},
"together": {
"description": "All members must be free at once, on by default",
"type": "boolean"
}
},
"required": [
"member_ids",
"from",
"to",
"duration_minutes"
],
"additionalProperties": false
}Карточка события
get_event · только чтение
Описание для модели: Get one calendar event with participants and their replies.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
event_id | string | да | Event id. Длина: 1–64. |
JSON Schema параметров
{
"type": "object",
"properties": {
"event_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Event id"
}
},
"required": [
"event_id"
],
"additionalProperties": false
}Пригласить гостя на событие
invite_event_guest · необратимое действие
Описание для модели: Invite an external guest to a calendar event by email. The guest receives an invitation by email. Team members are added with update_event instead.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
event_id | string | да | Event id. Длина: 1–64. |
name | string | да | Guest name. Длина: 1–200. |
email | string | да | Guest email. Длина: 3–320. |
JSON Schema параметров
{
"type": "object",
"properties": {
"event_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Event id"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Guest name"
},
"email": {
"type": "string",
"minLength": 3,
"maxLength": 320,
"description": "Guest email"
}
},
"required": [
"event_id",
"name",
"email"
],
"additionalProperties": false
}События календаря
list_events · только чтение
Описание для модели: List calendar events within a range of dates. Both dates are inclusive. Repeating events come as separate occurrences, the start of an occurrence identifies it in update_event and delete_event.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
from | string | да | First day, a calendar date YYYY-MM-DD. |
to | string | да | Last day, a calendar date YYYY-MM-DD. |
mine | boolean | нет | Only events of the current user. |
limit | integer | нет | Maximum number of items to return, 50 by default. По умолчанию: 50. Диапазон: 1–200. |
JSON Schema параметров
{
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day, a calendar date YYYY-MM-DD"
},
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day, a calendar date YYYY-MM-DD"
},
"mine": {
"description": "Only events of the current user",
"type": "boolean"
},
"limit": {
"default": 50,
"description": "Maximum number of items to return, 50 by default",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
}Изменить событие
update_event · изменяет данные
Описание для модели: Update or reschedule a calendar event. Pass only the fields to change, list fields to empty in clear. participant_ids replaces the whole list. For a repeating event choose the scope.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
event_id | string | да | Event id. Длина: 1–64. |
title | string | нет | New title. Длина: 1–500. |
start | string | нет | New start, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event. Длина: 10–40. |
end | string | нет | New end, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event. Длина: 10–40. |
description | string | нет | Description, plain text. Длина: до 20000. |
location | string | нет | Place or meeting link. Длина: до 500. |
participant_ids | массив string | нет | Participants, member ids from list_members. Элементов: 1–100. |
repeat_rule | string | нет | Recurrence as RRULE, for example FREQ=WEEKLY;BYDAY=MO,WE. Длина: до 500. |
reminders_minutes | массив integer | нет | Minutes before the start. Элементов: 1–10. |
visibility | string | нет | Who sees the details. Значения: Видно всем, Только занятость, Только участникам. |
clear | массив string | нет | Fields to empty. Элементов: от 1. |
scope | string | нет | For a repeating event: one occurrence, it and later ones, or all. Значения: this, following, all. |
occurrence | string | нет | Start of the occurrence the scope applies to, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given. |
JSON Schema параметров
{
"type": "object",
"properties": {
"event_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Event id"
},
"title": {
"description": "New title",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"start": {
"description": "New start, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event",
"type": "string",
"minLength": 10,
"maxLength": 40
},
"end": {
"description": "New end, YYYY-MM-DDTHH:MM in the team time zone, or YYYY-MM-DD for an all-day event",
"type": "string",
"minLength": 10,
"maxLength": 40
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Description, plain text"
},
"location": {
"type": "string",
"maxLength": 500,
"description": "Place or meeting link"
},
"participant_ids": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Team member id"
},
"description": "Participants, member ids from list_members"
},
"repeat_rule": {
"type": "string",
"maxLength": 500,
"description": "Recurrence as RRULE, for example FREQ=WEEKLY;BYDAY=MO,WE"
},
"reminders_minutes": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 40320
},
"description": "Minutes before the start"
},
"visibility": {
"type": "string",
"enum": [
"Видно всем",
"Только занятость",
"Только участникам"
],
"description": "Who sees the details"
},
"clear": {
"description": "Fields to empty",
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"description",
"end",
"location",
"participants",
"repeat_rule",
"reminders"
]
}
},
"scope": {
"description": "For a repeating event: one occurrence, it and later ones, or all",
"type": "string",
"enum": [
"this",
"following",
"all"
]
},
"occurrence": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}",
"description": "Start of the occurrence the scope applies to, YYYY-MM-DDTHH:MM in the team time zone unless an offset is given"
}
},
"required": [
"event_id"
],
"additionalProperties": false
}