operbots-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPERBOTS_URL | No | Адрес панели. Обычно берётся из сохранённого профиля | |
| OPERBOTS_CASE | No | Дело по умолчанию: короткое имя, название или идентификатор | |
| OPERBOTS_EMAIL | No | Вход без участия человека: контейнер, сборка | |
| OPERBOTS_PASSWORD | No | Вход без участия человека: контейнер, сборка | |
| OPERBOTS_READ_ONLY | No | Оставить только инструменты чтения — 18 вместо 55 (значение '1' для включения) | |
| OPERBOTS_TIMEOUT_MS | No | Сколько ждать ответ панели. По умолчанию 30000 | |
| OPERBOTS_CREDENTIALS | No | Другой путь к файлу доступа | |
| OPERBOTS_INSECURE_TLS | No | Не проверять сертификат — для самоподписанного TLS (значение '1' для включения) | |
| OPERBOTS_REFRESH_TOKEN | No | Токен вместо файла. Обновлённый живёт только в памяти процесса |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| operbots_catalogA | Что можно использовать при сборке: платформы с их пределами, виды узлов сценария с полным составом их настроек, разделы маркета, виды ИИ-сервисов с нужными ключами и каталог прав. Готовые сценарии ищите в маркете: market_list и market_install. Смотрите node_kinds перед тем, как собирать или править сценарий: config каждого узла описан именно там — и передавайте platform: сами узлы у платформ одни и те же, а варианты в их настройках разные (у MAX нет разметки MarkdownV2 и голосового среди вложений). |
| operbots_loginA | Проверяет доступ или подключается по токену из локального token_file. Токен выпускается в самой панели: аккаунт → Интеграции → «Выпустить токен», и показывается там один раз. Человек вводит его через CLI login или локальный файл; формы MCP не запрашивают секреты. Вызывайте, когда другие инструменты сообщают, что доступ не настроен или токен больше не действует. |
| operbots_logoutA | Стирает сохранённый токен с этой машины. Сам токен при этом продолжает действовать — чтобы он перестал работать везде, отзовите его в панели: аккаунт → Интеграции. |
| whoamiA | С какой учётной записью работает сервер, к какой панели подключён и какие дела доступны с перечнем прав в каждом. Полезно вызвать первым: дальше можно обращаться к делам по названию. |
| sessions_listA | Браузеры и другие устройства, где выполнен вход в панель под этой учётной записью. Токены доступа сюда не попадают — их видно в панели, в разделе «Интеграции». |
| sessions_revokeA | Завершает сессию по идентификатору из sessions_list — устройство выкинет из панели. На токены доступа не влияет. |
| account_updateA | Меняет ФИО, дату рождения, телефон, часовой пояс и номера в Telegram и MAX учётной записи — по номерам бот шлёт участнику весточки из сценария (узел «Сообщить в чат» с адресатом «участник команды»). Передавайте только те поля, которые нужно изменить: остальные останутся как есть. Этим же инструментом проходят шаг знакомства: пока фамилии, имени и даты рождения нет, API закрыт целиком. |
| account_appearanceB | Меняет язык, тему, акцент, плотность и анимации панели. Пропущенные настройки сохраняет. |
| account_passwordA | Меняет пароль из локального JSON-файла с current_password и new_password, созданного человеком вне MCP. Пароли не запрашиваются через формы MCP, не попадают в аргументы или ответ. Прежние браузерные сессии завершаются. |
| users_searchA | Поиск пользователей по имени или почте. Сервер скрывает чужие полные адреса и номера платформ. |
| account_securityA | Ссылка на управление вторым фактором, кодами восстановления и интеграционными токенами. Эти операции требуют браузерной сессии: токен интеграции не может выпускать новые токены или менять второй фактор. |
| cases_listA | Все дела, к которым есть доступ, с ролью, правами и счётчиками ботов и непрочитанного. |
| cases_getA | Карточка дела: права текущего пользователя в нём и сводка — боты, диалоги, переписка за выбранный срок, отложенные действия, базы знаний, участники. |
| cases_saveA | Без указания дела создаёт новое (вы становитесь владельцем, разворачиваются пять ролей: владелец, администратор, конструктор, оператор, наблюдатель). С указанием — меняет название, описание, знак и оформление или убирает дело в архив. |
| cases_deleteA | Удаляет дело целиком: боты, сценарии, переписка, участники и роли. Восстановить нельзя. Чтобы просто убрать дело из списка, используйте cases_save с archived=true. |
| audit_listA | Кто и что менял в деле: правки, включения, удаления, выдачу прав. Отвечает на вопрос «кто это сделал» — в том числе про действия, совершённые токеном доступа: у таких записей указано, каким именно. Чтение в журнал не попадает. Требует права audit.view. |
| audit_filtersB | Доступные виды событий и авторы с числом записей, включая ушедших участников. |
| cases_leaveA | Убирает вас из числа участников дела. Владелец выйти не может — сначала нужно передать дело другому участнику (case_transfer). |
| members_listA | Кто состоит в деле, с какой ролью и какими итоговыми правами; какие роли заведены в деле и какие ссылки-приглашения действуют. Разделы, на которые не хватает прав, помечаются как недоступные. Ссылки приглашений видны только с правом member.invite. |
| members_saveA | Без параметра member добавляет в дело уже зарегистрированного человека по почте. С параметром member меняет его роль и точечные права поверх роли. Если человек ещё не зарегистрирован, создайте ссылку-приглашение через invites_create. |
| members_removeA | Убирает человека из дела. Он теряет доступ ко всем ботам, сценариям и переписке дела. Владельца исключить нельзя. |
| case_transferA | Делает другого участника владельцем дела. Прежний владелец переводится в администраторы и теряет право на повторную передачу — вернуть дело сможет только новый владелец. |
| roles_saveA | Заводит в деле свою роль с нужным набором прав или меняет существующую. Готовые роли (владелец, администратор, конструктор, оператор, наблюдатель) правке не поддаются — укажите copy_of, чтобы сделать копию пресета и настроить её. |
| roles_deleteA | Удаляет роль дела. Готовые роли удалить нельзя, и роль с участниками — тоже: сначала переведите людей на другую роль. |
| invites_createA | Делает ссылку для вступления в дело — в том числе для человека, который ещё не зарегистрирован в панели. Ссылку сервер никуда не отправляет: её нужно передать самому. Любой, у кого есть ссылка, войдёт в дело с указанной ролью. |
| invites_getA | Показывает дело, роль и состояние приглашения по токену из ссылки до вступления. |
| invites_acceptA | Вступает в дело от имени текущего пользователя по токену из ссылки-приглашения. |
| invites_revokeA | Гасит ссылку-приглашение: перейти по ней больше не получится. |
| bots_listA | Боты дела: состояние, режим работы, число диалогов и непрочитанного. |
| bots_getA | Бот целиком: настройки, меню команд, переменные контента и список сценариев. Значения переменных, отмеченных как секретные, скрыты. |
| bots_statusB | Состояние живого рантайма: время работы, обновления, ошибки и время проверки. |
| bots_webhook_infoA | Публичный адрес панели и условия для включения режима webhook. Бот не требуется. |
| bots_journalA | Что делал сам бот: запуски и остановки, входящие обновления, ответы модели и сколько она думала, ожидание ответа по сценарию, отложенные действия, ошибки сценария и отказы платформой. Журнал дела (audit_list) пишет действия людей — этот пишет действия бота, и на вопрос «почему бот молчит» отвечает именно он. Записи идут от свежих к старым; сузить можно видом (kind) и уровнем — level=error оставит одни сбои. Какие виды у этого бота вообще встречались и сколько их, перечислено в конце ответа. Журнал — недавняя история, а не архив: старые записи панель убирает сама. |
| bots_saveA | Без параметра bot подключает бота по токену или восстанавливает его архивную запись с оставленными сценариями и диалогами. Токен проверяется живым запросом к платформе и хранится зашифрованным. С параметром bot меняет настройки. Смена токена или режима перезапускает работающего бота. Платформу у подключённого бота сменить нельзя: у неё свой вид токена и свои пределы. |
| bots_controlA | Запускает, останавливает или перезапускает бота, а также отправляет меню команд у платформы. Запуск сам синхронизирует меню; отдельная синхронизация нужна после правки команд у уже работающего бота. |
| bots_commands_applyA | Приводит меню команд бота к переданному списку: недостающие команды добавляет, существующие обновляет, порядок расставляет по порядку в списке. Команды, которых нет в списке, сохраняются — чтобы удалить их, передайте remove_missing=true. Само меню у платформы обновляется, только если sync=true или бот перезапущен. |
| bots_variables_setA | Задаёт переменные, которые подставляются в тексты сценария: цены, адреса, ссылки. Существующие ключи обновляются, новые создаются. Отмеченные секретными не показываются обратно. Ключ: латиница, цифры, подчёркивание и точка. |
| bots_reveal_tokenA | Возвращает токен бота в открытом виде. Токен даёт полное управление ботом — запрашивайте его, только если пользователь прямо об этом попросил, и не пересказывайте без надобности. |
| bots_webhook_checkA | Отчёт самой платформы: на какой адрес она шлёт обновления, сколько их ждёт доставки и какой была последняя ошибка доставки. Единственный способ понять, почему бот в режиме вебхука молчит: со стороны панели всё бывает исправно — адрес публичный, запрос доходит, — а платформа не достучалась и знает причину. Ни токен, ни ключ из адреса наружу не отдаются: адрес показан без ключа, а вывод прямо говорит, тот ли это адрес, которого ждёт панель. |
| bots_webhook_rotateA | Выдаёт боту новый секретный адрес вебхука. Прежний перестаёт работать навсегда — это нужно, если старый адрес утёк. Работающий бот перезапускается. |
| bots_detachA | Отключает бота с точным подтверждением названием. По умолчанию сохраняет сценарии, диалоги, рассылки и журнал под архивной записью. Сценарии можно передать другому боту. |
| bots_deleteA | Убирает бота из дела вместе с командами и переменными. Диалоги и переписка удаляются. Восстановить нельзя. Чтобы временно выключить, используйте bots_save enabled=false. |
| flows_listA | Какие сценарии заведены, какой из них в работе и сколько в них узлов. Без параметра bot возвращает сценарии всего дела — со всех ботов сразу. У сценария есть вид: для диалогов (личная переписка) или для сообществ (группы и каналы); у бота по одному включённому на вид. |
| flows_getA | Сценарий целиком: все узлы с их параметрами, все связи и замечания к графу — связи в никуда, отсутствие триггера, недостижимые узлы. |
| flows_saveA | Без параметра flow создаёт сценарий — пустой, из переданного графа или копией другого (copy_of). С параметром flow перезаписывает его. Граф передаётся ЦЕЛИКОМ: чтобы поправить один узел, сначала прочитайте сценарий через flows_get и пришлите изменённый список полностью. Не переданные nodes/edges/comments/viewport сохраняются. Новая редакция создаётся, только если граф действительно изменился. Готовые сценарии — «Консультант с ИИ», «Заявка», «Запись на визит» и другие — здесь не создаются: их ставят из маркета через market_install. При создании без copy_of первый сценарий своего вида включается автоматически только с правом flow.publish; без него остаётся черновиком. Копии остаются черновиками. Включить сценарий — flows_publish. |
| flows_publishA | Включает сценарий в работу — остальные сценарии бота того же вида при этом выключаются. Для диалогов и сообщества выбирается по одному активному сценарию. Перед включением граф проверяется: связи на несуществующие узлы не дадут опубликовать. Выключение снимает выбранный сценарий с работы. |
| flows_versionsB | Все сохранённые редакции сценария с комментариями и датами. |
| flows_restoreA | Возвращает граф сценария к выбранной редакции. История не переписывается — поверх создаётся новая редакция. Если сценарий в работе, бот начнёт вести себя по-старому сразу. |
| flows_simulateA | Проверяет сценарий, не выходя к платформе: какой триггер сработал, какие шаги прошли и что бот ответил бы. Диалог нигде не сохраняется, задержки пропускаются, запросы к внешним адресам и весточки в служебный чат не выполняются. Через variables можно подставить накопленное разговором — так проверяются ветки условий и подстановки. Внимание: узлы с ИИ обращаются к настоящей модели и расходуют её лимиты. |
| flows_exportA | Отдаёт сценарий одним объектом формата operbots.flow — тем же, что панель скачивает кнопкой «Скачать». Ответ приходит готовым JSON: его целиком передают в flows_import полем document или сохраняют копию рядом с кодом. |
| flows_importA | Заводит сценарий из объекта, полученного через flows_export. Существующие не трогает: загруженный добавляется рядом, а при совпадении названий получает номер. Первый сценарий своего вида включается автоматически только с правом flow.publish; без него остаётся черновиком. Остальные включаются через flows_publish. Ссылки на ИИ-сервис и базу знаний исходного дела при переезде проверяются, и неразрешимые снимаются — о каждой снятой сказано в ответе. |
| flows_deleteA | Удаляет сценарий вместе со всей историей редакций. Восстановить нельзя. Если удалить активный сценарий, другой вместо него автоматически не включится. Его собственная публикация в маркете также удаляется; установленные копии сохраняются. |
| market_listA | Каталог готовых сценариев: от проекта и опубликованные другими делами. Поиск по названию и описанию, отбор по разделу, платформе, источнику и потребности в ИИ или базе знаний. С параметром case у каждой публикации видно, стоит ли она уже в этом деле и не отстала ли от свежей версии. Установка — market_install. |
| market_getA | Публикация целиком: описание, состав сценария, история версий и, с параметром case, где в этом деле она уже стоит. С with_graph отдаёт и сам граф — посмотреть узлы до установки. |
| market_likeA | Поставить или снять лайк публикации от своего имени. |
| market_installA | Ставит публикацию боту новым сценарием — рядом с существующими, ничего не заменяя. Первый сценарий своего вида включается автоматически только с правом flow.publish; без него остаётся черновиком. Остальные включаются через flows_publish. Ссылки на чужие подключения из графа снимаются; узлам «Ответ ИИ» передайте provider и knowledge_base, иначе они отвечают пустотой или «из головы». Чего требует сценарий, видно в market_get, поле «нужно». Повторная установка той же публикации даёт ещё одну копию — так обновляют до свежей версии. |
| market_publishA | Публикует сценарий дела в маркете: карточку и граф текущей редакции увидят все пользователи панели и смогут поставить себе. Ссылки на подключения и базы знаний снимаются, а вот текст в настройках узлов — адреса, подписи, ключи, вписанные руками, — уходит как есть: проверьте граф через flows_get. Название дела на карточке не показывается, пока не разрешить show_origin. Нужно право market.publish. Правки после публикации — market_release (новая версия) и market_update (карточка). |
| market_releaseA | Обновляет граф публикации до текущей редакции сценария и поднимает номер версии. Уже установленные копии у других не меняются — у них появится пометка, что доступна свежая версия. Если граф с прошлой версии не менялся, панель откажет. |
| market_updateA | Меняет карточку публикации — название, описание, раздел, подпись делом. Граф не трогает: для него market_release. |
| market_unpublishA | Убирает публикацию из маркета вместе с историей версий, лайками и счётчиком установок; вернуть их нельзя — повторная публикация начнётся с версии 1. Уже установленные копии у других дел остаются. Сам сценарий в деле не трогается. |
| dialogs_listA | Переписки ботов дела с отбором по боту, виду чата, режиму и подстроке. Показывает, где есть непрочитанное и какие диалоги ведёт оператор. Сообщества — группы и каналы, где состоит бот, — это те же диалоги с kind=community; в панели они в разделе «Сообщества». |
| dialogs_getA | Диалог и его положение в сценарии: на каком шаге стоит разговор, какого ответа ждёт, какой путь уже пройден, что запланировано и какие переменные накоплены. |
| dialogs_chat_infoA | Спрашивает платформу о группе или канале: участники, ссылка и положение бота. Панель при этом обновляет название, положение бота и признак блокировки диалога. Для чтения сохранённых данных используйте dialogs_get. |
| dialogs_historyA | Сообщения диалога от старых к новым. По умолчанию ничего не помечает прочитанным — счётчики в панели остаются как были. За ранними сообщениями передайте before и before_id самого раннего сообщения: время бывает одинаковым у нескольких сообщений. Пометить прочитанным — отдельный write-инструмент dialogs_mark_read. |
| dialogs_mark_readA | Обнуляет счётчик непрочитанного. Требует chat.reply; историю читает dialogs_history. |
| dialogs_exportA | Переписка одним готовым текстом: шапка с собеседником, ботом и метками, дальше сообщения по порядку — ровно то, что панель отдаёт файлом. Годится приложить к разбору спора или передать тому, у кого доступа к панели нет. Прочитанной переписка от этого не становится, но сама выгрузка отмечается в журнале дела. Разбирать сообщения по одному и уходить вглубь истории удобнее через dialogs_history. |
| dialogs_replyA | Отправляет сообщение человеку от имени бота — своим текстом или заготовкой из replies_list, при желании цитатой на конкретное сообщение (reply_to). По умолчанию диалог переходит в ручной режим и закрепляется за вами — сценарий перестаёт вести разговор, пока его не вернут (dialogs_update mode=bot). Бот должен быть запущен. Проверяйте поле «ошибка доставки» в ответе: сообщение сохраняется даже тогда, когда платформа его не приняла. |
| dialogs_reply_fileA | Отправляет локальный файл от имени бота, до 20 МиБ. Ошибка доставки видна в ответе. |
| dialogs_download_attachmentB | Сохраняет вложение локально. destination должен быть новым файлом. |
| dialogs_edit_messageA | Меняет текст сообщения, которое бот или оператор уже отправили, — и у собеседника, и в переписке панели. Только свои сообщения: чужие и служебные не правятся. Не дошедшее изменить нельзя — только отправить заново; подпись к вложению панель пока не правит. Кнопки остаются прежними. Бот должен быть запущен; слишком старое сообщение платформа может не дать изменить. |
| dialogs_delete_messageA | Убирает своё сообщение из чата собеседника; в переписке панели запись остаётся зачёркнутой — след того, что и когда убрали. Только свои: сообщения собеседника не удаляются. Вернуть нельзя. Слишком старое сообщение платформа удалить не даст. |
| dialogs_updateA | Меняет режим ведения (сценарий или оператор), отвечает ли ИИ, метки, закрепление и сценарий сообщества. Перевод в режим bot возвращает разговор сценарию и снимает оператора. Заблокировать собеседника отсюда нельзя: блокировку приносит платформа, когда человек сам закрывает боту рот, — панель её только показывает. |
| dialogs_deleteA | Удаляет диалог вместе со всей перепиской. Восстановить нельзя. Чтобы бот просто перестал отвечать этому человеку, переведите разговор в ручной режим: dialogs_update mode=operator, ai_enabled=false — переписка при этом останется. |
| tasks_listA | Что запланировано в деле: «написать через три дня», «напомнить, если не ответил». Показывает и выполненные, и отменённые: выполненные задачи не удаляются, а порядок — по сроку с самых ранних, так что без status ответ занимает давняя история. Что ещё предстоит, спрашивайте с status=pending: отбор делает панель. Больше 300 записей за раз панель не отдаёт, и общего их числа не сообщает. |
| tasks_cancelB | Снимает запланированное действие: бот не отправит то, что собирался. |
| dialogs_releaseB | Снимает оператора и возвращает ведение диалога сценарию. |
| dialogs_forget_memoryA | Удаляет сводку ИИ. Переписка остаётся; следующая сводка соберётся по ней заново. |
| dialogs_cancel_scheduledA | Отменяет одно отложенное действие из dialogs_get для указанного диалога. |
| dialogs_reset_stageA | Освобождает разговор, застрявший на узле ожидания: сценарий ждёт ответа, которого не будет, и со стороны это выглядит молчащим ботом. После снятия следующее сообщение начнёт сценарий заново. Отложенные продолжения этого разговора снимаются заодно — они назначены от того же шага и сработали бы в пустоту. |
| replies_listA | Заготовленные ответы оператора: приветствие, реквизиты, «уточню и вернусь». Порядок — по частоте вставки, нужное каждый день сверху. Отправить заготовку в разговор: dialogs_reply reply=«название». |
| replies_saveA | Без параметра reply заводит новую заготовку, с ним — правит существующую. Название нужно, чтобы заготовку было чем позвать; без него панель обойдётся, но в списке она станет безымянной. |
| replies_deleteA | Убирает заготовку из списка. Отправленные по ней сообщения остаются в переписке — исчезает только сама заготовка. |
| broadcasts_listA | Рассылки дела с условиями отбора, текстом и счётчиками: скольким ушло, скольким не дошло и сколько пропущено — это те, кто закрыл боту рот. Состояния: draft — черновик, его ещё можно править и запускать; scheduled — ждёт своего срока или ближайшего оборота рассыльщика; running — идёт; done — закончена; cancelled — остановлена; failed — не с чего было начать. |
| broadcasts_getC | Текст, кнопки по рядам, вложение, условия отбора и состояние рассылки. |
| broadcasts_targetsC | Кому дошло, кому нет и почему. Фильтры и страницы обрабатывает панель. |
| broadcasts_attachA | Прикладывает локальный файл к черновику или ещё не начавшейся рассылке. |
| broadcasts_detachA | Снимает вложение черновика или ещё не начавшейся рассылки. |
| broadcasts_previewA | Прикидка до отправки: сколько разговоров подходит под условия, кто именно (первые 50 по свежести), сколько из них закрыли боту рот и что настораживает в самом сообщении — пустой отбор, слишком широкий, неизвестные подстановки. Разосланное не отзывают, поэтому смотреть надо здесь. Ничего не сохраняет: черновик заводит broadcasts_save. Условия — те же, что у списка разговоров; ни одного условия означает всех собеседников бота. |
| broadcasts_saveA | Без параметра broadcast заводит черновик — он никуда не уходит, пока его не запустят (broadcasts_start). С параметром broadcast правит черновик, а также рассылку, поставленную на срок и ещё не ушедшую. Начавшуюся правкой уже не догнать — её останавливают через broadcasts_cancel. Бота меняют, только сняв вложение. Условия отбора при правке заменяются целиком теми, что переданы, а не дополняются; не передали ни одного — прежние остаются. Разметку HTML панель проверяет здесь же: платформа отбила бы сообщение с незакрытым тегом сразу у всех. |
| broadcasts_duplicateB | Копия не отправляется. only_missed исключает тех, кто получил исходную рассылку. |
| broadcasts_retryA | Повторно отправляет недошедшие сообщения. Уже получившие не получают второй раз. |
| broadcasts_testA | Реально отправляет одно сообщение в выбранный диалог от имени бота рассылки. |
| broadcasts_deleteA | Удаляет рассылку и отчёт. Идущую сначала остановите; отправленное не отзывается. |
| broadcasts_startA | Ставит черновик в очередь: рассыльщик разошлёт сообщение всем, кто подошёл под условия. Отправленное не отзывается ни у одного получателя, поэтому сначала broadcasts_preview — пустой отбор означает всех собеседников бота. Со сроком (run_at) рассылка дождётся его. То, что ещё не ушло, останавливают через broadcasts_cancel. |
| broadcasts_cancelA | Останавливает рассылку: то, что ещё не ушло, не уйдёт. Отправленное вернуть нельзя, счётчики остаются. Повторить неудачные отправки — broadcasts_retry; составить новый черновик из этой рассылки — broadcasts_duplicate. |
| knowledge_listA | Без параметра base — все базы знаний дела с их настройками. С параметром base — ещё и список материалов с состоянием разбора. |
| knowledge_saveA | Без параметра base создаёт базу, с параметром — меняет её настройки. Для поиска базе нужно подключение к ИИ-сервису, умеющему считать векторы. Подключение можно сменить или снять (provider=null) только у пустой базы: векторы разных моделей несопоставимы. После правки размера куска старые материалы нужно пересобрать через knowledge_reindex. |
| knowledge_add_documentA | Кладёт в базу текст, извлечённый текст файла (source=file) или страницу по ссылке. Разбор идёт в фоне: сразу после добавления материал в состоянии pending, проверьте его позже через knowledge_list. Повторный вызов создаёт дубликат, а не обновляет прежний материал. |
| knowledge_documentA | Материал с его текстом: что в нём написано на самом деле. Список материалов текста не отдаёт. Материал можно назвать по имени — идентификатор не обязателен. С chunks=true вдобавок покажет нарезку: те самые куски, которыми материал ляжет модели. |
| knowledge_document_updateA | Правит название и текст материала. Изменённый текст сам уходит на пересборку — иначе бот отвечал бы по прежней нарезке. Вид источника и ссылку сменить нельзя: это уже другой материал. Для материала по ссылке refetch=true перечитывает страницу заново — страница забирается один раз, при добавлении, и дальше живёт снимком. |
| knowledge_reindexA | Ставит материалы в очередь на повторный разбор. Нужно после смены размера куска или подключения к ИИ-сервису: старые фрагменты нарезаны по-прежнему. Без параметра document пересобирается вся база. |
| knowledge_searchA | Показывает, какие фрагменты база подставит модели в ответ на такой вопрос. Так проверяют, что материалы разобраны и порог близости выбран верно. Если база выключена или векторы не считаются, ответ будет пустым без ошибки. Поиск вызывает внешний ИИ-сервис для векторизации вопроса и записывает расход; он может оплачиваться отдельно. |
| knowledge_deleteA | С параметром document удаляет один материал, без него — базу знаний целиком вместе со всеми материалами и векторами. Восстановить нельзя. |
| ai_listA | Какие ИИ-сервисы подключены к делу, с какими моделями и сколько ботов их используют. Ключи не показываются — только последние символы. |
| ai_saveA | Без параметра provider подключает новый сервис, с ним — меняет настройки. Какие ключи нужны: gigachat — authorization_key (обязательно), scope (по умолчанию GIGACHAT_API_PERS); yandexgpt — api_key (обязательно), folder_id (обязательно); openai — api_key (обязательно); openrouter — api_key (обязательно); custom — api_key (по желанию); обязателен base_url. При изменении переданные ключи дописываются поверх прежних, а стереть ключ пустой строкой нельзя — только перезаписать. |
| ai_usageB | Полный отчёт расхода с итогами, сравнением, днями и разрезами. provider, bot, kind, model — точные ключи из choices предыдущего ответа, включая удалённые подключения. |
| ai_testA | Отправляет пробную реплику и показывает ответ модели или причину отказа. Это настоящий запрос к сервису: он расходует лимиты и может стоить денег. |
| ai_deleteA | Удаляет подключение вместе с сохранёнными ключами. Пока сервис используют боты, панель удалить его не даст: отвяжите его от каждого бота (bots_save ai_provider=null) и от баз знаний (knowledge_save provider=null), а из узлов «Ответ ИИ» уберите provider_id через flows_save. |
| requests_listB | Заявки с полным маршрутом, задачами, событиями и revision для последующей правки. Связи с диалогами и контрагентами панель показывает только при наличии соответствующих прав. |
| requests_getA | Заявка целиком, включая поля, маршрут, задачи, события и текущую revision. |
| requests_saveA | Без request_id создаёт заявку. Для правки обязательна revision из прочитанной карточки; передавайте только изменяемые поля. data дополняет прежние значения. assignee_id=null и due_at=null снимают назначение и срок. Тип и исходные связи задаются только при создании. |
| requests_deleteA | Удаляет заявку вместе с историей. Нужны текущая revision и точное название для подтверждения. |
| requests_types_listC | Типы заявок с полями, маршрутами и version для правки или удаления. |
| requests_types_saveA | Сохраняет полное определение типа: name, description, fields и workflow. При изменении обязательна version из requests_types_list; пропущенные description и fields станут пустыми. Проверки маршрута и прав на участников выполняет панель. |
| requests_types_deleteA | Удаляет тип по UUID, version и дословному названию. Снимки уже созданных заявок сохраняются. |
| requests_tasks_listA | Готовые к выполнению задачи активных заявок, назначенные вам. Для выполнения прочитайте requests_get и передайте актуальную revision. |
| requests_task_completeA | Завершает задачу по её UUID; outcome выбирают из outcomes карточки, data содержит значения полей. Обязательна revision заявки. Автоматические задачи вручную завершать нельзя. |
| requests_commentB | Добавляет текст в историю заявки. Комментарий не требует revision. |
| requests_workflowA | Заменяет workflow заявки целиком с проверкой переданной revision. Нужны права request.manage. |
| requests_cancelA | Отменяет заявку и пропускает её незавершённые задачи. Нужны revision и явная причина. |
| counterparties_listC | Контрагенты с контактами, заметками, дополнительными полями и доступными связанными диалогами. |
| counterparties_getA | Карточка контрагента по UUID из counterparties_list. Диалоги видны только с правом chat.view. |
| counterparties_saveA | Без counterparty_id создаёт карточку; для создания нужно name, dialog_ids содержит явно выбранные UUID. При правке передавайте только изменённые поля; null очищает контакт, custom_fields заменяет карту целиком. Связи существующей карточки меняют через counterparties_link/unlink. |
| counterparties_deleteA | Удаляет карточку и снимает её связи с диалогами. Нужно дословное name для подтверждения. |
| counterparties_settingsC | Ручной или автоматический режим, критерии и переменные для сопоставления диалогов. |
| counterparties_settings_saveA | Меняет только переданные настройки. В automatic нужен хотя бы один критерий; с включённым сопоставлением телефона или почты соответствующая переменная не должна быть пустой. Для обработки имеющихся диалогов вызовите counterparties_reconcile. |
| counterparties_dialogsA | Без dialog_id показывает доступные диалоги для связывания с карточкой. С dialog_id возвращает связанного контрагента либо сообщает, что связи нет. Нужны права chat.view. |
| counterparties_linkA | Связывает один явно указанный dialog_id с карточкой. Для переноса из другой карточки нужно явно передать её UUID в replace_counterparty_id; панель отклонит несовпавшую прежнюю связь. |
| counterparties_unlinkB | Снимает только явно указанную связь; карточка и переписка сохраняются. |
| counterparties_reconcileA | Запускает серверное автоматическое сопоставление по текущим настройкам, возвращает linked/created/skipped. Ручные связи учитывает сама панель. |
| extensions_listB | Полные определения внешних подключений. Сохранённые секреты сервер возвращает пустыми. |
| extensions_getC | Настройки, операции и события расширения с идентификаторами. Секреты скрыты. |
| extensions_templatesC | Готовые определения подключений для создания расширения. |
| extensions_nodesB | Доступные этому делу динамические виды узлов extension и extension_trigger, поля и выходы для flows_save. |
| extensions_saveA | Без extension создаёт подключение (нужны name и base_url). При правке сохраняет пропущенные поля, операции и события. Переданные массивы заменяют прежние целиком; сохраняйте идентификаторы используемых операций. |
| extensions_oauth_beginA | Создаёт ссылку OAuth с защищённым состоянием. Откройте её в браузере и завершите вход на стороне внешней системы. |
| extensions_deleteA | Удаляет подключение с подтверждением точного названия. Сервер защищает операции, используемые сценариями. |
| notifications_listB | Личные уведомления всех дел с отбором и страницами. Чтение ленты не отмечает записи прочитанными. |
| notifications_summaryB | Точный общий счётчик личной ленты. |
| notifications_filtersC | Каталог видов, дел, уровней, числа записей и срок хранения. |
| notifications_readC | Укажите ids или all=true. Параметр case ограничивает массовое прочтение одним делом. |
| notifications_settingsC | Полный каталог видов и текущие флаги доставки. |
| notifications_settings_saveA | Меняет флаги указанных видов; остальные настройки сохраняются. replace=true заменяет всю карту и сбрасывает пропущенные виды к серверным значениям. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 143 tools
With 143 tools there are several overlapping pairs (e.g., bots_delete vs bots_detach, bots_save vs bots_control, dialogs_release vs dialogs_update mode=bot, cases_delete vs cases_save archived=true). Descriptions are detailed enough to resolve most overlaps, but the sheer breadth imposes high selection cost on an agent.
Most tools follow a predictable resource_action pattern (cases_list, bots_get, flows_save), which is readable and largely consistent. Deviations include singular prefixes (case_transfer), noun_noun names (account_security), bare names (whoami), and mixed plural/singular sub-resource forms (requests_tasks_list vs requests_task_complete).
143 tools is an extreme count for any MCP server, far beyond the 3-15 range that supports efficient tool selection. Even for a broad platform, this volume creates an unwieldy surface that likely burdens context and routing.
The toolset comprehensively covers the platform's domains: cases, bots, flows, dialogs, requests, counterparties, knowledge bases, broadcasts, market, extensions, AI providers, notifications, account/session management, and audit. CRUD and lifecycle operations are present across nearly all resources, with few obvious dead ends.