iikocloud-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iikocloud-mcplist my organizations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
iikocloud-mcp
MCP-сервер поверх Iikocloud-manager
(IikoCloudApiClientManager): интроспекцией менеджера сервер отдаёт 236 методов iikoCloud
в 22 доменах как MCP-тулы, но запускается с вариативно задаваемым подмножеством, а не
целиком. Мультиарендный: учётные данные iikoCloud передаёт клиент через канал
транспорта (HTTP-заголовки под TLS или переменные окружения для stdio) — секреты никогда
не попадают в аргументы тулов, а значит и в контекст модели или логи.
Прямой аналог iikoserver-mcp: тот же принцип,
та же модель безопасности, отличия — только там, где различаются сами API (auth v2 вместо
логина/пароля, асинхронные команды с опросом, кэш справочников).
Транспорты:
stdioи streamable-HTTP.Отбор тулов: по домену, по типу операции (read/write), по именам/glob, из разных источников (CLI / env / YAML).
Безопасность по умолчанию: read-only; запись — явным опт-ином, под подтверждением.
Зачем подмножество, а не все 236 тулов
В контекст модели при каждом подключении идут и JSON-схемы тулов, и их описания — считать надо обе части (здесь и далее вес в символах: у схем это практически байты, у русских описаний в UTF-8 байт вдвое больше).
Подмножество | Тулов | Схемы | Описания | Итого в контекст |
все | 236 | ~356 КБ | ~83 КБ | ~439 КБ |
только read | 106 | ~95 КБ | ~29 КБ | ~124 КБ |
домен | 93 | ~114 КБ | ~23 КБ | ~137 КБ |
Сервер сам вырезает из схем служебные поля, которые ничего не дают модели (pydantic-title,
дублирующий имя свойства, и описания вида «Latitude.», буквально повторяющие имя поля): без
обрезки схемы весили бы ~433 КБ вместо ~356 КБ, то есть экономия около 18% (на описания обрезка
не влияет). Самый тяжёлый отдельный тул — discounts__calculate_loyalty_checkin, 18.9 КБ схемы.
Из 236 методов 106 — read, 130 — write; ошибок схематизации при интроспекции — 0,
регистрируются все.
Отсюда практический совет: выбирайте --domains под конкретную задачу клиента, а не
поднимайте сервер со всем каталогом — это и экономит контекст модели, и сокращает
поверхность записи.
Related MCP server: OpenAPI MCP Server
Установка
# как пакет в активированное окружение: даёт команду iikocloud-mcp на PATH
uv pip install "iikocloud-mcp @ git+https://github.com/UserVanya/Iikocloud-mcp.git"
# или для разработки: команда доступна только как `uv run iikocloud-mcp`,
# на PATH сама по себе она не появляется
git clone https://github.com/UserVanya/Iikocloud-mcp.git && cd Iikocloud-mcp && uv syncТребуется Python 3.12+ и креды iikoCloud auth v2 (api_key, app_id, client_secret).
Примеры ниже написаны для второго (dev) пути, поэтому идут с префиксом uv run. Если пакет
установлен первым способом и его окружение активировано, префикс не нужен.
Быстрый старт
# stdio: клиент запускает сервер как подпроцесс, креды — через env
IIKOCLOUD_API_KEY=key IIKOCLOUD_APP_ID=app IIKOCLOUD_CLIENT_SECRET=secret \
uv run iikocloud-mcp --transport stdio --domains organizations,menu
# HTTP: сервер на VPS, только чтение по организациям и меню.
# Слушаем 127.0.0.1 — TLS терминирует reverse-proxy на этом же хосте.
uv run iikocloud-mcp --transport http --host 127.0.0.1 --port 8000 \
--domains organizations,menu,dictionaries,addresses--host 0.0.0.0 оправдан только если TLS-прокси работает на другом хосте: сам сервер
говорит по HTTP без шифрования, а в каждом запросе едут X-Iikocloud-Api-Key,
X-Iikocloud-App-Id и X-Iikocloud-Client-Secret. Открытый в интернет порт — это те же
креды открытым текстом (см. Безопасность).
Тот же результат — через конфиг-файл (см. server.example.yml):
cp server.example.yml server.yml # server.yml в .gitignore
uv run iikocloud-mcp --config server.ymlОтбор тулов
Тул включается, если: домен разрешён И тип операции разрешён И (нет allow ИЛИ
имя совпало с allow) И имя не совпало с deny. deny всегда побеждает allow.
Имена тулов — <домен>__<метод> (например menu__get_nomenclature,
deliveries__create_delivery_order). 22 домена: addresses, banquets,
customer_categories, customers, deliveries, deliveries_retrieve,
delivery_restrictions, dictionaries, discounts, drafts, employees,
invoice_processing, marketing_sources, menu, messages, notifications,
operations, orders, organizations, report, terminal_groups, webhooks.
Способ | CLI | env | YAML |
Домены |
|
|
|
Разрешить запись |
|
|
|
Allowlist имён/glob |
|
|
|
Denylist имён/glob |
|
|
|
Выключить подтверждение записи |
|
|
|
Фолбэк без elicitation |
|
|
|
Лимит JSON-ответа (символы) |
|
|
|
Таймаут вызова, с |
|
|
|
Потолок окна лимитера, с |
|
|
|
TTL кэша справочников, с |
|
|
|
Потолок записей кэша |
|
|
|
Хост / порт |
|
|
|
Транспорт |
|
|
|
Приоритет источников: CLI > env > YAML-файл. Источник, задавший поле, заменяет его
целиком (списки не мержаются). Путь к YAML — --config server.yml или
IIKOCLOUD_MCP_CONFIG. См. server.example.yml.
--allow-write — это только включение записи со стороны CLI: чтобы выключить её обратно,
просто не передавайте флаг. У env-переменной IIKOCLOUD_MCP_ALLOW_WRITE есть и
включающее, и выключающее значение (1/0, true/false и т. п.).
Примеры:
# всё чтение по доставкам, но без карт лояльности
uv run iikocloud-mcp --transport http --domains deliveries,deliveries_retrieve \
--deny '*loyalty*'
# запись включена, но без операций очистки
uv run iikocloud-mcp --transport http --allow-write --deny '*__clear_*'Пустое значение — это осознанный ноль, а не «без ограничения»: --domains '' (и domains: []
в YAML) даёт сервер без единого тула, а не со всеми 236. Так значение из файла можно очистить
из CLI. Про непонятое имя домена и про нулевую регистрацию сервер пишет в лог предупреждение.
Передача учётных данных
Секреты идут только по каналу транспорта, не как аргументы тулов — модель их не видит.
HTTP-заголовок | env для stdio | |
API-ключ |
|
|
App ID |
|
|
Client secret |
|
|
Фолбэка на Authorization: Basic нет: он вмещает два секрета, а iikoCloud требует три.
Для HTTP-транспорта обязателен TLS — терминируйте HTTPS на reverse-proxy перед сервером,
заголовки с кредами передавайте только под ним. Отсюда и дефолт --host 127.0.0.1: сам
сервер шифрования не делает, поэтому наружу он должен смотреть только через прокси.
stdio — переменные окружения подпроцесса (см. выше), сервер как локальный процесс
отдельного TLS не требует.
Один сервер обслуживает несколько аккаунтов iikoCloud: экземпляр менеджера кэшируется по
отпечатку sha1(api_key:app_id:client_secret) (ApiCredentials.key_id). Все три секрета
обязательны в отпечатке: если бы он строился только по api_key и app_id, вызывающий с
верным ключом и app_id, но чужим или неверным client_secret, получил бы доступ к кэшу и
уже авторизованной сессии другого арендатора.
Подключение MCP-клиента
stdio (например, конфиг Claude Desktop):
{
"mcpServers": {
"iikocloud": {
"command": "iikocloud-mcp",
"args": ["--transport", "stdio", "--domains", "organizations,menu,dictionaries"],
"env": {
"IIKOCLOUD_API_KEY": "key",
"IIKOCLOUD_APP_ID": "app",
"IIKOCLOUD_CLIENT_SECRET": "secret"
}
}
}
}command должен быть исполняемым файлом: голое iikocloud-mcp работает, только если пакет
установлен через uv pip install в окружение, видимое клиенту. Для dev-установки укажите
"command": "uv" и "args": ["run", "--directory", "/путь/к/Iikocloud-mcp", "iikocloud-mcp", "--transport", "stdio", ...].
Удалённый HTTP:
{
"mcpServers": {
"iikocloud": {
"url": "https://mcp.example.com/mcp",
"headers": {
"X-Iikocloud-Api-Key": "key",
"X-Iikocloud-App-Id": "app",
"X-Iikocloud-Client-Secret": "secret"
}
}
}
}Программный API
from iikocloud_mcp import ServerConfig, ToolFilter, create_server
cfg = ServerConfig(
# host="0.0.0.0" — только если TLS терминирует прокси на другом хосте
transport="http", host="127.0.0.1", port=8000,
tool_filter=ToolFilter(domains={"menu", "dictionaries"}, operations=frozenset({"read"})),
)
server = create_server(cfg) # FastMCP с зарегистрированными тулами
server.run(transport="streamable-http")Подтверждение операций записи
Write-тулы по умолчанию требуют подтверждения пользователя перед мутацией — сервер
вызывает MCP-elicitation и выполняет метод только при явном accept. Это серверный гейт, а
не просто хинт клиенту (destructiveHint): даже клиент с авто-подтверждением тулов не
выполнит запись без ответа пользователя. Политику задаёт оператор при запуске (не LLM):
по умолчанию — подтверждение включено, фолбэк
closed;--write-fallback open— если клиент не умеет elicitation, выполнять запись без подтверждения (оператор берёт риск на себя); по умолчанию (closed) такая запись блокируется;--no-confirm-writes— полностью отключить гейт (для доверенной автоматизации).
Встроенные подсказки
Сервер обогащает описание и результат каждого тула, не полагаясь на память модели.
Асинхронные команды. 42 тула из 236 возвращают только correlationId — это квитанция
о принятой команде, самого результата в ответе нет. Описание такого тула получает пометку:
⏳ Асинхронная команда: ответ содержит только correlationId, результата в нём нет. Чтобы узнать исход, вызовите
operations__wait_commandс этим correlationId и organizationId.
Ещё у 8 write-тулов ответ содержательный, и сервер ищет в нём поле creationStatus: если оно
равно InProgress, к JSON-результату добавляется ключ _iikocloudMcpHint с той же инструкцией —
опросить operations__wait_command. Реально сработать подсказка может у 4 из них — тех, что
возвращают OrderInfo-подобную структуру: deliveries__create_delivery_order,
drafts__commit_delivery_draft, orders__create_table_order, banquets__create_reserve.
У остальных четырёх поля creationStatus в ответе нет вовсе: drafts__create_delivery_draft и
drafts__save_delivery_draft возвращают CreateOrSaveDraftResponse (correlationId, orderId),
employees__open_personal_session и employees__close_personal_session —
correlationId и error. Проверка идёт по значению в ответе, а не по типу, поэтому лишнего
она не добавляет.
«Где взять ID». Схема параметров каждого тула сверяется с курируемой картой полей вида
organizationId → organizations__get_organizations,
terminalGroupId → terminal_groups__get_terminal_groups,
productId → menu__get_nomenclature и т. д. Совпавшие поля попадают в описание тула строкой
«Где взять ID: …», так что модель не пытается угадывать идентификаторы.
Как часто можно звать. Если у метода есть запись в лимитере менеджера, описание получает
приписку вида «Троттлинг MCP-сервера (не лимит iikoCloud): не чаще N запрос(ов) за M с —
кэшируйте результат в диалоге». Приписка намеренно говорит о клиентском троттлинге этого
сервера (значения лимитера менеджера, уже с потолком --max-rate-window), а не о лимите
самого API: настоящие лимиты iikoCloud бывают жёстче и описаны в докстрингах SDK, которые
сервер не трогает (например, webhooks__update_webhook_settings — примерно 1 обновление в час).
У 17 тулов записи в лимитере нет: это тулы-обёртки вроде
customers__get_customer_by_phone, который под капотом зовёт лимитируемый
customers__get_customer_info. Молчание модель прочла бы как «ограничений нет», поэтому такие
тулы получают общую приписку: своего троттлинга нет, но вызов расходует квоту нижележащего
метода. Ручной карты «обёртка → метод» нет намеренно — она протухала бы при каждом изменении
менеджера.
Версии внешнего меню. У menu__get_external_menu_by_id результат — объединение
ExternalMenuV2 | ExternalMenuV3 | ExternalMenuV4: форма ответа зависит от параметра
version. Описание тула вручную перечисляет все переименования полей между версиями и
рекомендует явно указывать version=4.
Адрес доставки. У deliveries__create_delivery_order описание отдельно поясняет: формат
адреса задаёт сама организация (addressFormatType, значение — из
organizations__get_organization_settings), улицу можно передать и id
(addresses__get_streets_by_city), и просто name вместе с city, а город указывать нужно
всегда — он определяет разбор остального адреса.
Кэш справочников
15 из 22 тулов-источников идентификаторов (тех самых, куда отправляют подсказки «где взять ID») допускают не чаще одного запроса в 60 секунд — а диалог с моделью легко делает несколько похожих запросов подряд. Поэтому ответы примерно 27 справочных read-тулов (организации, домены справочников, адреса, меню, курьеры и т. п.) кэшируются в памяти процесса с TTL.
--cache-ttl— время жизни записи в секундах, по умолчанию300;0полностью выключает кэш.--cache-max-entries— потолок числа записей (LRU-вытеснение), по умолчанию256; обязателен, потому что ответmenu__get_nomenclatureможет весить мегабайты.
Ключ кэша учитывает аккаунт (по хэшу кредов, не сами секреты) и аргументы вызова — на HTTP-транспорте один процесс безопасно обслуживает разных арендаторов. Инвалидация — только по TTL.
Лимит размера ответа и таймаут вызова
По умолчанию лимита на размер ответа нет. Если установить положительный
--max-output-chars, слишком длинный результат вернётся не оборванным текстом, а корректным
JSON-объектом:
{
"truncated": true,
"totalChars": 250000,
"limitChars": 100000,
"contentPrefix": "..."
}contentPrefix — начало полного JSON-результата, так модель может распознать усечение и
сузить запрос вместо того, чтобы принять обрезанный ответ за полный.
--call-timeout (по умолчанию 120 с) ограничивает время одного вызова тула — лимитер
менеджера иначе просто блокирует запрос без таймаута. При превышении сервер тоже возвращает
корректный JSON, а не обрыв соединения:
{
"timeout": true,
"tool": "menu__get_nomenclature",
"timeoutSeconds": 120,
"reason": "Вызов не уложился в лимит времени. Обычная причина — rate limit метода: лимитер ждёт освобождения окна. Повторите позже или сузьте запрос."
}Текст reason у write-тулов другой, и это принципиально: asyncio.wait_for отменяет только
ожидание внутри сервера, а запрос в iikoCloud уже ушёл и мог там выполниться — вместе с
настоящим correlationId, который при таймауте теряется. Поэтому write-тул на таймауте
сообщает, что операция могла пройти, что повтор создаст дубль (второй заказ, вторую бронь,
второе пополнение) и что проверять надо чтением — для доставок семейством
deliveries_retrieve__*.
--max-rate-window (по умолчанию 120 с) отдельно зажимает окна лимитера методов сверху: у
методов с окном шире потолка (например 1 запрос/1800 с) окно укорачивается до потолка при
сохранении числа запросов — иначе --call-timeout по умолчанию не успел бы дождаться
собственного окна лимитера.
Тесты
uv run pytest -m unit -v # 196 тестов, быстро, без сети и кредов
uv run pytest -m integration -v # 4 read-only теста; без креда IIKOCLOUD_TEST_CONFIG — skip, не failИнтеграционный набор (tests/integration/) гоняет реальные тулы через _make_tool против
живого iikoCloud: получение организаций, camelCase-алиасы в ответе, попадание в кэш при
повторном вызове, усечение по max_output_chars. Он только читающий — write-тестов против
живого API нет и не будет: мутационный путь проверяется моками в tests/test_server.py.
Креды берёт из YAML по пути IIKOCLOUD_TEST_CONFIG (секция read) — см.
config.test.example.yml и .env.example.
Скопируйте оба в config.test.yml и .env: оба файла в .gitignore, секреты в репозиторий
не попадают. Без IIKOCLOUD_TEST_CONFIG в окружении фикстура read_creds делает
pytest.skip, а не падение, — так что набор безопасно запускать и на машине без кредов.
Безопасность
Секреты не попадают в аргументы тулов (модель их не видит), не логируются, живут только в памяти на время сессии.
Для HTTP обязателен TLS (reverse-proxy). Заголовки с кредами — только под HTTPS.
Дефолт и все примеры —
host: 127.0.0.1.0.0.0.0открывает нешифрованный порт с кредами в заголовках; он оправдан только когда TLS-прокси стоит на другом хосте.Своих гейтов по организациям или app_id сервер не вводит — доступ ограничивают настройки самого iikoCloud-аккаунта.
Дефолт read-only: мутации требуют явного
--allow-write.Дефолт: write-тулы требуют подтверждения пользователя (elicitation, см. выше).
Документация дизайна
Спецификация:
docs/superpowers/specs/План реализации:
docs/superpowers/plans/
Available Tools
106 toolsaddresses__get_citiesARead-only
Города организаций (ответ сгруппирован per-organization). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
addresses__get_regionsARead-only
Регионы (районы) организаций. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
addresses__get_streets_by_cityARead-only
Улицы города (одиночная organization_id). Где взять ID: cityId → addresses__get_cities; organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
addresses__get_streets_by_idARead-only
Улицы по ids или classifierIds (correlation_id в ответе optional). Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
banquets__get_reserve_available_organizationsBRead-only
Организации, доступные для резервирования. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
banquets__get_reserve_restaurant_sectionsBRead-only
Секции (залы) ресторана со схемой столов. Где взять ID: terminalGroupIds → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
banquets__get_reserve_statuses_by_idARead-only
Статусы резервов по их идентификаторам. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
banquets__get_reserve_terminal_groupsARead-only
Терминальные группы организаций, доступные для резервирования. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
banquets__get_restaurant_sections_workloadBRead-only
Загруженность секций ресторана с указанной даты. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
customer_categories__get_customer_categoriesARead-only
Все категории гостей организации. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
customers__get_customer_by_card_numberARead-only
Получить клиента по номеру карты лояльности. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: card_number (required), organization_id (required).
customers__get_customer_by_card_trackBRead-only
Получить клиента по магнитной дорожке карты. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: card_track (required), organization_id (required).
customers__get_customer_by_emailARead-only
Получить клиента по email. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: email (required), organization_id (required).
customers__get_customer_by_idARead-only
Получить клиента по ID (loyalty customer id). Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: customer_id (required), organization_id (required).
customers__get_customer_by_phoneBRead-only
Получить клиента по номеру телефона. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: phone (required), organization_id (required).
customers__get_customer_infoBRead-only
Получить информацию о клиенте.
Args: request: Параметры запроса (phone, id, email, card и т.д.)
Returns: Ответ с информацией о клиенте Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 100 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
customers__get_loyalty_countersARead-only
Счётчики лояльности гостей (кол-во заказов/суммы за периоды).
metrics — CounterMetric (OrdersCount/OrdersSum), periods — CounterPeriod (AllTime/Day/Week/Month/Quarter/Year). Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
deliveries_retrieve__get_customer_deliveriesBRead-only
Заказы клиента по телефону за последние N дней (плоский список).
Даты — локальное время терминала (гарантия доступности — 7 дней). Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: phone (required), organization_ids (required), days.
deliveries_retrieve__get_deliveries_by_delivery_date_and_phoneARead-only
Заказы по телефону/датам/revision (гарантия — последние 7 дней). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
deliveries_retrieve__get_deliveries_by_delivery_date_and_statusARead-only
Заказы по статусам/датам/курьерам (гарантия — последние 7 дней). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
deliveries_retrieve__get_deliveries_by_idARead-only
Заказы по id (order_ids XOR pos_order_ids, максимум 200).
Raises: ValueError: оба списка заданы, оба пусты или len > 200 Где взять ID: orderIds → deliveries_retrieve__get_deliveries_by_delivery_date_and_status; organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
deliveries_retrieve__get_deliveries_by_revisionARead-only
Изменённые заказы с ревизии (окно — 3 часа; инкрементальный поллинг). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
deliveries_retrieve__get_delivery_by_idARead-only
Один заказ по id (None, если не найден). Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: order_id (required), organization_id (required).
deliveries_retrieve__get_delivery_history_by_date_and_phoneARead-only
История заказов по телефону (хранение 90 дней, rows_count <= 200).
Raises: ValueError: rows_count вне 1..200 Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
deliveries_retrieve__search_deliveriesARead-only
Поиск заказов по тексту и фильтрам (статусы, проблема, сортировка). Где взять ID: orderIds → deliveries_retrieve__get_deliveries_by_delivery_date_and_status; organizationIds → organizations__get_organizations; terminalGroupIds → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
delivery_restrictions__get_allowed_delivery_restrictionsARead-only
Подходящие терминальные группы под адрес/сумму/дату доставки.
Ответ: is_allowed + allowed_items (терминалы с длительностью) и rejected_items с кодами причин отказа. Где взять ID: organizationId → organizations__get_organizations; organizationIds → organizations__get_organizations; streetId → addresses__get_streets_by_city. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
delivery_restrictions__get_delivery_restrictionsARead-only
Справочник ограничений доставки (зоны, мин. суммы, интервалы). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
dictionaries__get_cancel_causesARead-only
Получить причины отмены доставки.
Args: cancel_causes_request: Параметры запроса CancelCausesRequest
Returns: Ответ со списком причин отмены Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: cancel_causes_request (required).
dictionaries__get_cancel_causes_by_organizationARead-only
Получить причины отмены для организации.
Args: organization_id: ID организации (str или UUID)
Returns: Ответ со списком причин отмены организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: organization_id (required).
dictionaries__get_delivery_order_typesBRead-only
Получить типы заказов доставки.
Args: order_types_request: Параметры запроса OrderTypesRequest
Returns: Ответ со списком типов заказов Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: order_types_request (required).
dictionaries__get_delivery_order_types_by_organizationBRead-only
Получить типы заказов доставки для организации.
Args: organization_id: ID организации (str или UUID)
Returns: Ответ со списком типов заказов организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: organization_id (required).
dictionaries__get_discountsARead-only
Получить скидки.
Args: discounts_request: Параметры запроса DiscountsRequest
Returns: Ответ со списком скидок Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: discounts_request (required).
dictionaries__get_discounts_by_organizationARead-only
Получить скидки для организации.
Args: organization_id: ID организации (str или UUID)
Returns: Ответ со списком скидок организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: organization_id (required).
dictionaries__get_payment_typesBRead-only
Получить типы оплаты.
Args: payment_types_request: Параметры запроса PaymentTypesRequest
Returns: Ответ со списком типов оплаты Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: payment_types_request (required).
dictionaries__get_payment_types_by_organizationBRead-only
Получить типы оплаты для организации.
Args: organization_id: ID организации (str или UUID)
Returns: Ответ со списком типов оплаты организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: organization_id (required).
dictionaries__get_removal_typesBRead-only
Получить типы списания.
Args: removal_types_request: Параметры запроса RemovalTypesRequest
Returns: Ответ со списком типов списания Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: removal_types_request (required).
dictionaries__get_removal_types_by_organizationBRead-only
Получить типы списания для организации.
Args: organization_id: ID организации (str или UUID)
Returns: Ответ со списком типов списания организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: organization_id (required).
dictionaries__get_tips_typesARead-only
Получить типы чаевых.
Returns: Ответ со списком типов чаевых Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: no named parameters.
discounts__calculate_loyalty_checkinARead-only
Расчёт скидок/лояльности для заказа (высокочастотный вызов).
Верхнеуровневые coupon/manual_conditions/dynamic_discounts в request — obsolete; передавать через order.loyalty_info. Где взять ID: comboGroupId → menu__get_combos_info; comboId → menu__get_combos_info; comboSourceId → menu__get_combos_info; manualConditionId → discounts__get_loyalty_manual_conditions; marketingSourceId → marketing_sources__get_marketing_sources; operatorId → employees__get_couriers; orderTypeId → dictionaries__get_delivery_order_types; organizationId → organizations__get_organizations; paymentTypeId → dictionaries__get_payment_types; priceCategoryId → menu__get_external_menus; productSizeId → menu__get_nomenclature; programId → discounts__get_loyalty_programs; sizeId → menu__get_nomenclature; sourceId → marketing_sources__get_marketing_sources; terminalGroupId → terminal_groups__get_terminal_groups; tipsTypeId → dictionaries__get_tips_types. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1000 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
discounts__calculate_order_loyaltyARead-only
Расчёт скидок/лояльности заказа (короткая форма calculate).
items собираются через build_product_item / build_compound_item. Купон и ручные условия передаются через order.loyalty_info (верхнеуровневые поля request — obsolete). Где взять ID: comboGroupId → menu__get_combos_info; comboId → menu__get_combos_info; comboSourceId → menu__get_combos_info; productSizeId → menu__get_nomenclature. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: items (required), phone (required), organization_id (required), coupon, +4 more.
discounts__get_coupon_infoARead-only
Информация о купоне по номеру. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
discounts__get_coupon_seriesARead-only
Серии купонов с неудалёнными неактивированными купонами. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
discounts__get_loyalty_manual_conditionsARead-only
Все ручные условия организации.
Raises: ValueError: organization_id не задан (в модели optional) Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
discounts__get_loyalty_programsARead-only
Все программы лояльности организации. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
discounts__get_non_activated_coupons_by_seriesARead-only
Неактивированные купоны серии (page/page_size-пагинация). Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
drafts__get_delivery_draft_by_idARead-only
Черновик по id. Где взять ID: orderId → deliveries_retrieve__get_deliveries_by_delivery_date_and_status; organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
drafts__get_delivery_drafts_by_filterARead-only
Черновики по фильтру (phone, даты, offset/limit-пагинация). Где взять ID: organizationIds → organizations__get_organizations; terminalGroupIds → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_active_courier_locationsARead-only
Локации активных курьеров. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_active_courier_locations_by_terminalARead-only
Локации курьеров терминала. Где взять ID: organizationId → organizations__get_organizations; terminalGroupId → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_courier_location_historyARead-only
История координат курьеров (offset в секундах). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_couriersARead-only
Сотрудники-курьеры организаций. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_couriers_by_roleCRead-only
Курьеры с проверкой ролей. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_employee_infoBRead-only
Информация о сотруднике по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_personal_session_infoARead-only
Открыта ли личная сессия сотрудника. Где взять ID: employeeId → employees__get_employee_info; organizationId → organizations__get_organizations; terminalGroupId → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
employees__get_terminal_groups_of_employeeBRead-only
Терминальные группы с открытой сессией сотрудника. Где взять ID: employeeId → employees__get_employee_info. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__calculate_inventory_cost_pricesARead-only
Рассчитать себестоимость товаров на складах. Где взять ID: organizationId → organizations__get_organizations; productId → menu__get_nomenclature. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 100 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_finance_incoming_serviceARead-only
Акт прихода услуг по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_finance_outgoing_serviceBRead-only
Акт расхода услуг по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_counteragentsARead-only
Список контрагентов. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_disassemble_documentARead-only
Акт разборки по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_incoming_invoiceBRead-only
Приходная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_incoming_returned_invoiceBRead-only
Входящая возвратная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_internal_transferBRead-only
Документ внутреннего перемещения по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_outgoing_invoiceARead-only
Расходная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_production_documentARead-only
Акт производства по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_returned_invoiceARead-only
Исходящая возвратная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_sales_documentARead-only
Документ продажи по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_transformation_documentARead-only
Акт переработки по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__get_inventory_writeoff_documentARead-only
Акт списания по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_finance_account_transactionsBRead-only
Проводки по счету за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_finance_document_transactionsARead-only
Проводки по документу. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_finance_incoming_servicesARead-only
Список актов прихода услуг за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_finance_outgoing_servicesARead-only
Список актов расхода услуг за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_disassemble_documentsARead-only
Список актов разборки за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_incoming_invoicesARead-only
Список приходных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_incoming_returned_invoicesARead-only
Список входящих возвратных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_internal_transfersARead-only
Список документов внутреннего перемещения за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_outgoing_invoicesARead-only
Список расходных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_production_documentsBRead-only
Список актов производства за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_returned_invoicesARead-only
Список исходящих возвратных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_sales_documentsARead-only
Список документов продажи за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_transformation_documentsARead-only
Список актов переработки за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
invoice_processing__list_inventory_writeoff_documentsARead-only
Список актов списания за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
marketing_sources__get_marketing_sourcesARead-only
Справочник источников маркетинга организаций. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
messages__check_sms_sending_possibilityARead-only
Проверить возможность отправки SMS для организации.
Args: request: Параметры запроса SmsSendingPossibilityRequest
Returns: Ответ с признаком возможности отправки SMS Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
messages__check_sms_statusARead-only
Получить статусы отправленных SMS по их идентификаторам.
Args: request: Параметры запроса CheckSmsStatusRequest
Returns: Ответ со статусами SMS Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
operations__get_command_statusARead-only
Статус команды по correlation_id (Success/InProgress/Error).
HTTP 410 — correlationId устарел, polling прекращать. SDK-исключение ApiException со status=410 пробрасывается вызывающему как есть (в проекте нет отдельного исключения для этой ситуации). Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 60 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
operations__wait_commandARead-only
Дождаться терминального статуса команды (Success/Error).
Raises: TimeoutError: статус не стал терминальным за timeout correlationId берётся из ответа той команды, исход которой вы ждёте: любой write-тул возвращает его в поле correlationId. Отдельного тула-источника correlationId не существует — этот тул сам принимает его аргументом. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: correlation_id (required), organization_id (required), timeout, interval.
orders__get_table_orders_by_idBRead-only
Столовые заказы организаций по идентификаторам. Где взять ID: orderIds → deliveries_retrieve__get_deliveries_by_delivery_date_and_status; organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
orders__get_table_orders_by_tableBRead-only
Столовые заказы организаций по столам. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
organizations__get_organizationsBRead-only
Получить список организаций.
Args: request: Параметры запроса (по умолчанию пустой GetOrganizationsRequest)
Returns: Ответ со списком организаций Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 10 с — кэшируйте результат в диалоге.
Inputs: request.
organizations__get_organization_settingsBRead-only
Получить настройки организаций.
Args: request: Параметры запроса (по умолчанию пустой OrganizationsSettingsRequest)
Returns: Ответ с настройками организаций Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 10 с — кэшируйте результат в диалоге.
Inputs: request.
report__get_customer_transactions_by_dateARead-only
Получить транзакции клиента за период (постранично).
Даты трактуются как UTC включительно (date_from..date_to).
Args: request: Параметры запроса (customer/organization, период, пагинация)
Returns: Ответ со списком транзакций за период Где взять ID: customerId → customers__get_customer_info; organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
report__get_customer_transactions_by_revisionARead-only
Получить транзакции клиента инкрементально по ревизии.
Ответ несёт last_revision/last_transaction_id для следующего запроса.
Args: request: Параметры запроса (customer/organization, ревизия, page_size)
Returns: Ответ со списком транзакций и маркерами продолжения Где взять ID: customerId → customers__get_customer_info; organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
terminal_groups__check_terminal_groups_availabilityARead-only
Проверить доступность терминальных групп.
Args: request: Параметры запроса TerminalGroupsIsAliveRequest
Returns: Ответ о доступности терминальных групп Где взять ID: organizationId → organizations__get_organizations; organizationIds → organizations__get_organizations; terminalGroupIds → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
terminal_groups__get_terminal_groupsBRead-only
Получить терминальные группы.
Args: request: Параметры запроса TerminalGroupsRequest
Returns: Ответ со списком терминальных групп Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
terminal_groups__get_terminal_groups_by_organizationBRead-only
Получить терминальные группы для организации.
Args: organization_id: ID организации (str или UUID)
Returns: Ответ со списком терминальных групп Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.
Inputs: organization_id (required).
webhooks__get_webhook_settingsARead-only
Получить webhook-настройки организации.
Ответ содержит auth_token — чувствительные данные, не логировать.
Args: request: Параметры запроса (organization_id)
Returns: Ответ с webhook-настройками (web_hooks_uri, auth_token) Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.
Inputs: request (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 106 tools
Many tools are duplicated with two arg styles (e.g., dictionaries__get_cancel_causes vs dictionaries__get_cancel_causes_by_organization), making it hard to pick the right one. Customer lookup tools also overlap heavily, and deliveries_retrieve has several similar retrieval variants. Descriptions are detailed, but boundaries between many tools remain unclear.
Tools follow a consistent category__verb_noun snake_case pattern throughout (e.g., customers__get_customer_by_id, invoice_processing__list_inventory_writeoff_documents). Minor inconsistencies exist such as get_delivery_by_id vs get_deliveries_by_id and mixed singular/plural forms, but the overall convention is predictable and readable.
106 tools is far beyond a manageable MCP surface, and many are thin wrappers or duplicate variants of the same operation. Even for a broad iikoCloud API, this is an extreme count that will overwhelm an agent and increase misselection.
The toolset is overwhelmingly read-only: there are no create/update/delete tools for customers, orders, deliveries, menu, or webhooks, despite including operations__wait_command that references write-tools. Gaps like send_sms (only checks) and no mutation endpoints mean agents cannot complete lifecycle workflows. The read side is broad, but the surface is incomplete for real operations.
Maintenance
Related MCP Connectors
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
Marketplace gateway: 100+ services and 1,400+ tools behind one MCP connection with unified auth
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
Single-connection MCP gateway discovering and executing 490+ verified MCP & A2A tools.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA production-grade multi-tenant MCP server that provides different tools and configurations to different clients using API key-based routing.1-
- AlicenseNot gradedqualityDmaintenanceA generic MCP server that dynamically converts OpenAPI-defined REST APIs into tools for LLMs like Claude. It supports multiple authentication methods and transport protocols, enabling seamless interaction with any OpenAPI-compliant API.15 npmMIT
- AlicenseAqualityCmaintenanceA single MCP server that fronts multiple REST APIs, each configured via environment variables, allowing Claude to orchestrate across several SaaS backends with namespaced tools.22MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server with HTTP/stdio support, a web admin panel for managing services, capabilities, and user permissions with Bearer token authentication, enabling relay and access control for MCP tools.-