Skip to main content
Glama

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 КБ

домен invoice_processing

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

Домены

--domains a,b

IIKOCLOUD_MCP_DOMAINS=a,b

domains: [a, b]

Разрешить запись

--allow-write

IIKOCLOUD_MCP_ALLOW_WRITE=1

operations: [read, write]

Allowlist имён/glob

--allow 'get_*' --allow '*_report'

IIKOCLOUD_MCP_ALLOW=get_*,*_report

allow: ["get_*"]

Denylist имён/glob

--deny 'delete_*'

IIKOCLOUD_MCP_DENY=delete_*

deny: ["delete_*"]

Выключить подтверждение записи

--no-confirm-writes

IIKOCLOUD_MCP_CONFIRM_WRITES=0

confirm_writes: false

Фолбэк без elicitation

--write-fallback open

IIKOCLOUD_MCP_WRITE_FALLBACK=open

write_fallback: open

Лимит JSON-ответа (символы)

--max-output-chars N

IIKOCLOUD_MCP_MAX_OUTPUT_CHARS=N

max_output_chars: N

Таймаут вызова, с

--call-timeout N

IIKOCLOUD_MCP_CALL_TIMEOUT=N

call_timeout: N

Потолок окна лимитера, с

--max-rate-window N

IIKOCLOUD_MCP_MAX_RATE_WINDOW=N

max_rate_window: N

TTL кэша справочников, с

--cache-ttl N

IIKOCLOUD_MCP_CACHE_TTL=N

cache_ttl: N

Потолок записей кэша

--cache-max-entries N

IIKOCLOUD_MCP_CACHE_MAX_ENTRIES=N

cache_max_entries: N

Хост / порт

--host / --port

IIKOCLOUD_MCP_HOST / IIKOCLOUD_MCP_PORT

host: / port:

Транспорт

--transport {stdio,http}

IIKOCLOUD_MCP_TRANSPORT

transport:

Приоритет источников: 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-ключ

X-Iikocloud-Api-Key

IIKOCLOUD_API_KEY

App ID

X-Iikocloud-App-Id

IIKOCLOUD_APP_ID

Client secret

X-Iikocloud-Client-Secret

IIKOCLOUD_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, см. выше).

Документация дизайна

Available Tools

106 tools
addresses__get_citiesA
Read-only

Города организаций (ответ сгруппирован per-organization). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

addresses__get_regionsA
Read-only

Регионы (районы) организаций. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

addresses__get_streets_by_cityA
Read-only

Улицы города (одиночная organization_id). Где взять ID: cityId → addresses__get_cities; organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

addresses__get_streets_by_idA
Read-only

Улицы по ids или classifierIds (correlation_id в ответе optional). Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

banquets__get_reserve_available_organizationsB
Read-only

Организации, доступные для резервирования. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

banquets__get_reserve_restaurant_sectionsB
Read-only

Секции (залы) ресторана со схемой столов. Где взять ID: terminalGroupIds → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

banquets__get_reserve_statuses_by_idA
Read-only

Статусы резервов по их идентификаторам. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

banquets__get_reserve_terminal_groupsA
Read-only

Терминальные группы организаций, доступные для резервирования. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

banquets__get_restaurant_sections_workloadB
Read-only

Загруженность секций ресторана с указанной даты. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

customer_categories__get_customer_categoriesA
Read-only

Все категории гостей организации. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

customers__get_customer_by_card_numberA
Read-only

Получить клиента по номеру карты лояльности. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: card_number (required), organization_id (required).

customers__get_customer_by_card_trackB
Read-only

Получить клиента по магнитной дорожке карты. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: card_track (required), organization_id (required).

customers__get_customer_by_emailA
Read-only

Получить клиента по email. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: email (required), organization_id (required).

customers__get_customer_by_idA
Read-only

Получить клиента по ID (loyalty customer id). Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: customer_id (required), organization_id (required).

customers__get_customer_by_phoneB
Read-only

Получить клиента по номеру телефона. Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: phone (required), organization_id (required).

customers__get_customer_infoB
Read-only

Получить информацию о клиенте.

Args: request: Параметры запроса (phone, id, email, card и т.д.)

Returns: Ответ с информацией о клиенте Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 100 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

customers__get_loyalty_countersA
Read-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_deliveriesB
Read-only

Заказы клиента по телефону за последние N дней (плоский список).

Даты — локальное время терминала (гарантия доступности — 7 дней). Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: phone (required), organization_ids (required), days.

deliveries_retrieve__get_deliveries_by_delivery_date_and_phoneA
Read-only

Заказы по телефону/датам/revision (гарантия — последние 7 дней). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

deliveries_retrieve__get_deliveries_by_delivery_date_and_statusA
Read-only

Заказы по статусам/датам/курьерам (гарантия — последние 7 дней). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

deliveries_retrieve__get_deliveries_by_idA
Read-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_revisionA
Read-only

Изменённые заказы с ревизии (окно — 3 часа; инкрементальный поллинг). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

deliveries_retrieve__get_delivery_by_idA
Read-only

Один заказ по id (None, если не найден). Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: order_id (required), organization_id (required).

deliveries_retrieve__get_delivery_history_by_date_and_phoneA
Read-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_deliveriesA
Read-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_restrictionsA
Read-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_restrictionsA
Read-only

Справочник ограничений доставки (зоны, мин. суммы, интервалы). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

dictionaries__get_cancel_causesA
Read-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_organizationA
Read-only

Получить причины отмены для организации.

Args: organization_id: ID организации (str или UUID)

Returns: Ответ со списком причин отмены организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: organization_id (required).

dictionaries__get_delivery_order_typesB
Read-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_organizationB
Read-only

Получить типы заказов доставки для организации.

Args: organization_id: ID организации (str или UUID)

Returns: Ответ со списком типов заказов организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: organization_id (required).

dictionaries__get_discountsA
Read-only

Получить скидки.

Args: discounts_request: Параметры запроса DiscountsRequest

Returns: Ответ со списком скидок Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: discounts_request (required).

dictionaries__get_discounts_by_organizationA
Read-only

Получить скидки для организации.

Args: organization_id: ID организации (str или UUID)

Returns: Ответ со списком скидок организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: organization_id (required).

dictionaries__get_payment_typesB
Read-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_organizationB
Read-only

Получить типы оплаты для организации.

Args: organization_id: ID организации (str или UUID)

Returns: Ответ со списком типов оплаты организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: organization_id (required).

dictionaries__get_removal_typesB
Read-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_organizationB
Read-only

Получить типы списания для организации.

Args: organization_id: ID организации (str или UUID)

Returns: Ответ со списком типов списания организации Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: organization_id (required).

dictionaries__get_tips_typesA
Read-only

Получить типы чаевых.

Returns: Ответ со списком типов чаевых Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: no named parameters.

discounts__calculate_loyalty_checkinA
Read-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_loyaltyA
Read-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_infoA
Read-only

Информация о купоне по номеру. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

discounts__get_coupon_seriesA
Read-only

Серии купонов с неудалёнными неактивированными купонами. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

discounts__get_loyalty_manual_conditionsA
Read-only

Все ручные условия организации.

Raises: ValueError: organization_id не задан (в модели optional) Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

discounts__get_loyalty_programsA
Read-only

Все программы лояльности организации. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

discounts__get_non_activated_coupons_by_seriesA
Read-only

Неактивированные купоны серии (page/page_size-пагинация). Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

drafts__get_delivery_draft_by_idA
Read-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_filterA
Read-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_locationsA
Read-only

Локации активных курьеров. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

employees__get_active_courier_locations_by_terminalA
Read-only

Локации курьеров терминала. Где взять ID: organizationId → organizations__get_organizations; terminalGroupId → terminal_groups__get_terminal_groups. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

employees__get_courier_location_historyA
Read-only

История координат курьеров (offset в секундах). Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

employees__get_couriersA
Read-only

Сотрудники-курьеры организаций. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

employees__get_couriers_by_roleC
Read-only

Курьеры с проверкой ролей. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

employees__get_employee_infoB
Read-only

Информация о сотруднике по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

employees__get_personal_session_infoA
Read-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_employeeB
Read-only

Терминальные группы с открытой сессией сотрудника. Где взять ID: employeeId → employees__get_employee_info. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__calculate_inventory_cost_pricesA
Read-only

Рассчитать себестоимость товаров на складах. Где взять ID: organizationId → organizations__get_organizations; productId → menu__get_nomenclature. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 100 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_finance_incoming_serviceA
Read-only

Акт прихода услуг по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_finance_outgoing_serviceB
Read-only

Акт расхода услуг по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_counteragentsA
Read-only

Список контрагентов. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_disassemble_documentA
Read-only

Акт разборки по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_incoming_invoiceB
Read-only

Приходная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_incoming_returned_invoiceB
Read-only

Входящая возвратная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_internal_transferB
Read-only

Документ внутреннего перемещения по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_outgoing_invoiceA
Read-only

Расходная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_production_documentA
Read-only

Акт производства по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_returned_invoiceA
Read-only

Исходящая возвратная накладная по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_sales_documentA
Read-only

Документ продажи по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_transformation_documentA
Read-only

Акт переработки по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__get_inventory_writeoff_documentA
Read-only

Акт списания по id. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_finance_account_transactionsB
Read-only

Проводки по счету за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_finance_document_transactionsA
Read-only

Проводки по документу. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_finance_incoming_servicesA
Read-only

Список актов прихода услуг за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_finance_outgoing_servicesA
Read-only

Список актов расхода услуг за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_disassemble_documentsA
Read-only

Список актов разборки за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_incoming_invoicesA
Read-only

Список приходных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_incoming_returned_invoicesA
Read-only

Список входящих возвратных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_internal_transfersA
Read-only

Список документов внутреннего перемещения за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_outgoing_invoicesA
Read-only

Список расходных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_production_documentsB
Read-only

Список актов производства за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_returned_invoicesA
Read-only

Список исходящих возвратных накладных за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_sales_documentsA
Read-only

Список документов продажи за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_transformation_documentsA
Read-only

Список актов переработки за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

invoice_processing__list_inventory_writeoff_documentsA
Read-only

Список актов списания за период. Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

marketing_sources__get_marketing_sourcesA
Read-only

Справочник источников маркетинга организаций. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

messages__check_sms_sending_possibilityA
Read-only

Проверить возможность отправки SMS для организации.

Args: request: Параметры запроса SmsSendingPossibilityRequest

Returns: Ответ с признаком возможности отправки SMS Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

messages__check_sms_statusA
Read-only

Получить статусы отправленных SMS по их идентификаторам.

Args: request: Параметры запроса CheckSmsStatusRequest

Returns: Ответ со статусами SMS Где взять ID: organizationId → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

operations__get_command_statusA
Read-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_commandA
Read-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_idB
Read-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_tableB
Read-only

Столовые заказы организаций по столам. Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 20 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

organizations__get_organizationsB
Read-only

Получить список организаций.

Args: request: Параметры запроса (по умолчанию пустой GetOrganizationsRequest)

Returns: Ответ со списком организаций Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 10 с — кэшируйте результат в диалоге.

Inputs: request.

organizations__get_organization_settingsB
Read-only

Получить настройки организаций.

Args: request: Параметры запроса (по умолчанию пустой OrganizationsSettingsRequest)

Returns: Ответ с настройками организаций Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 10 с — кэшируйте результат в диалоге.

Inputs: request.

report__get_customer_transactions_by_dateA
Read-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_revisionA
Read-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_availabilityA
Read-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_groupsB
Read-only

Получить терминальные группы.

Args: request: Параметры запроса TerminalGroupsRequest

Returns: Ответ со списком терминальных групп Где взять ID: organizationIds → organizations__get_organizations. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 10 запрос(ов) за 60 с — кэшируйте результат в диалоге.

Inputs: request (required).

terminal_groups__get_terminal_groups_by_organizationB
Read-only

Получить терминальные группы для организации.

Args: organization_id: ID организации (str или UUID)

Returns: Ответ со списком терминальных групп Это тул-обёртка: своего троттлинга нет, но вызов расходует квоту нижележащего метода API — кэшируйте результат в диалоге.

Inputs: organization_id (required).

webhooks__get_webhook_settingsA
Read-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

    B3/5.0

    Scored across 106 tools

    Disambiguation2/5

    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.

    Naming Consistency4/5

    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.

    Tool Count1/5

    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.

    Completeness2/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A 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 npm
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      An 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.
      -