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 | Что можно использовать при сборке: виды узлов сценария с полным составом их настроек, заготовки сценариев, виды ИИ-сервисов с нужными ключами и каталог прав. Смотрите node_kinds перед тем, как собирать или править сценарий: config каждого узла описан именно там. |
| operbots_loginA | Открывает окно для адреса панели и токена доступа. Токен выпускается в самой панели: аккаунт → Интеграции → «Выпустить токен», и показывается там один раз. Вводит его человек, в переписку он не попадает. Вызывайте, когда другие инструменты сообщают, что доступ не настроен или токен больше не действует. |
| operbots_logoutA | Стирает сохранённый токен с этой машины. Сам токен при этом продолжает действовать — чтобы он перестал работать везде, отзовите его в панели: аккаунт → Интеграции. |
| whoamiA | С какой учётной записью работает сервер, к какой панели подключён и какие дела доступны с перечнем прав в каждом. Полезно вызвать первым: дальше можно обращаться к делам по названию. |
| sessions_listA | Браузеры и другие устройства, где выполнен вход в панель под этой учётной записью. Токены доступа сюда не попадают — их видно в панели, в разделе «Интеграции». |
| sessions_revokeA | Завершает сессию по идентификатору из sessions_list — устройство выкинет из панели. На токены доступа не влияет. |
| account_updateA | Меняет ФИО, дату рождения, телефон и часовой пояс учётной записи. Передавайте только те поля, которые нужно изменить: остальные останутся как есть. Этим же инструментом проходят шаг знакомства: пока фамилии, имени и даты рождения нет, API закрыт целиком. |
| cases_listA | Все дела, к которым есть доступ, с ролью, правами и счётчиками ботов и непрочитанного. |
| cases_getA | Карточка дела: права текущего пользователя в нём и сводка — боты, диалоги, переписка за выбранный срок, отложенные действия, базы знаний, участники. |
| cases_saveA | Без указания дела создаёт новое (вы становитесь владельцем, разворачиваются пять ролей: владелец, администратор, конструктор, оператор, наблюдатель). С указанием — меняет название, описание, знак и оформление или убирает дело в архив. |
| cases_deleteA | Удаляет дело целиком: боты, сценарии, переписка, участники и роли. Восстановить нельзя. Чтобы просто убрать дело из списка, используйте cases_save с archived=true. |
| audit_listA | Кто и что менял в деле: правки, включения, удаления, выдачу прав. Отвечает на вопрос «кто это сделал» — в том числе про действия, совершённые токеном доступа: у таких записей указано, каким именно. Чтение в журнал не попадает. Требует права audit.view. |
| cases_leaveA | Убирает вас из числа участников дела. Владелец выйти не может — сначала нужно передать дело другому участнику (case_transfer). |
| members_listA | Кто состоит в деле, с какой ролью и какими итоговыми правами; какие роли заведены в деле и какие ссылки-приглашения действуют. Разделы, на которые не хватает прав, помечаются как недоступные. |
| members_saveA | Без параметра member добавляет в дело уже зарегистрированного человека по почте. С параметром member меняет его роль и точечные права поверх роли. Если человек ещё не зарегистрирован, создайте ссылку-приглашение через invites_create. |
| members_removeA | Убирает человека из дела. Он теряет доступ ко всем ботам, сценариям и переписке дела. Владельца исключить нельзя. |
| case_transferA | Делает другого участника владельцем дела. Прежний владелец переводится в администраторы и теряет право на повторную передачу — вернуть дело сможет только новый владелец. |
| roles_saveA | Заводит в деле свою роль с нужным набором прав или меняет существующую. Готовые роли (владелец, администратор, конструктор, оператор, наблюдатель) правке не поддаются — укажите copy_of, чтобы сделать копию пресета и настроить её. |
| roles_deleteA | Удаляет роль дела. Готовые роли удалить нельзя, и роль с участниками — тоже: сначала переведите людей на другую роль. |
| invites_createA | Делает ссылку для вступления в дело — в том числе для человека, который ещё не зарегистрирован в панели. Ссылку сервер никуда не отправляет: её нужно передать самому. Любой, у кого есть ссылка, войдёт в дело с указанной ролью. |
| invites_revokeA | Гасит ссылку-приглашение: перейти по ней больше не получится. |
| bots_listA | Боты дела: состояние, режим работы, число диалогов и непрочитанного. |
| bots_getA | Бот целиком: настройки, меню команд, переменные контента и список сценариев. Значения переменных, отмеченных как секретные, скрыты. |
| bots_journalA | Что делал сам бот: запуски и остановки, входящие обновления, ответы модели и сколько она думала, ожидание ответа по сценарию, отложенные действия, ошибки сценария и отказы Telegram. Журнал дела (audit_list) пишет действия людей — этот пишет действия бота, и на вопрос «почему бот молчит» отвечает именно он. Записи идут от свежих к старым; сузить можно видом (kind) и уровнем — level=error оставит одни сбои. Какие виды у этого бота вообще встречались и сколько их, перечислено в конце ответа. Журнал — недавняя история, а не архив: старые записи панель убирает сама. |
| bots_saveA | Без параметра bot подключает нового бота по токену от @BotFather — токен проверяется живым запросом к Telegram и хранится зашифрованным. С параметром bot меняет настройки. Смена токена или режима перезапускает работающего бота. |
| bots_controlA | Запускает, останавливает или перезапускает бота, а также отправляет меню команд в Telegram. Запуск сам синхронизирует меню; отдельная синхронизация нужна после правки команд у уже работающего бота. |
| bots_commands_applyA | Приводит меню команд бота к переданному списку: недостающие команды добавляет, существующие обновляет, порядок расставляет по порядку в списке. Команды, которых нет в списке, сохраняются — чтобы удалить их, передайте remove_missing=true. Само меню в Telegram обновляется, только если sync=true или бот перезапущен. |
| bots_variables_setA | Задаёт переменные, которые подставляются в тексты сценария: цены, адреса, ссылки. Существующие ключи обновляются, новые создаются. Отмеченные секретными не показываются обратно. Ключ: латиница, цифры, подчёркивание и точка. |
| bots_reveal_tokenA | Возвращает токен Telegram в открытом виде. Токен даёт полное управление ботом — запрашивайте его, только если пользователь прямо об этом попросил, и не пересказывайте без надобности. |
| bots_webhook_checkA | Отчёт самого Telegram: на какой адрес он шлёт обновления, сколько их ждёт доставки и какой была последняя ошибка доставки. Единственный способ понять, почему бот в режиме вебхука молчит: со стороны панели всё бывает исправно — адрес публичный, запрос доходит, — а Telegram не достучался и знает причину. Ни токен, ни секретный ключ из адреса наружу не отдаются: адрес показан без ключа, а вывод прямо говорит, тот ли это адрес, которого ждёт панель. |
| bots_webhook_rotateA | Выдаёт боту новый секретный адрес вебхука. Прежний перестаёт работать навсегда — это нужно, если старый адрес утёк. Работающий бот перезапускается. |
| bots_deleteA | Убирает бота из дела вместе с командами и переменными. Диалоги и переписка удаляются. Восстановить нельзя. Чтобы временно выключить, используйте bots_save enabled=false. |
| flows_listA | Какие сценарии заведены, какой из них в работе и сколько в них узлов. Без параметра bot возвращает сценарии всего дела — со всех ботов сразу. |
| flows_getA | Сценарий целиком: все узлы с их параметрами, все связи и замечания к графу — связи в никуда, отсутствие триггера, недостижимые узлы. |
| flows_saveA | Без параметра flow создаёт сценарий — из заготовки (template) или из переданного графа. С параметром flow перезаписывает его. Граф передаётся ЦЕЛИКОМ: чтобы поправить один узел, сначала прочитайте сценарий через flows_get и пришлите изменённый список полностью. Новая редакция создаётся, только если граф действительно изменился. Заготовке с узлами «Ответ ИИ» нужны provider и knowledge_base — без них сценарий отвечает пустотой; чего требует каждая заготовка, видно в operbots_catalog what=flow_templates, поле «нужно». Сохранение не включает сценарий в работу — для этого есть flows_publish. |
| flows_publishA | Включает сценарий в работу — остальные сценарии бота при этом выключаются, активным может быть только один. Перед включением граф проверяется: связи на несуществующие узлы не дадут опубликовать. Выключение оставляет бота без полотна, и он перестаёт отвечать. |
| flows_versionsB | Все сохранённые редакции сценария с комментариями и датами. |
| flows_restoreA | Возвращает граф сценария к выбранной редакции. История не переписывается — поверх создаётся новая редакция. Если сценарий в работе, бот начнёт вести себя по-старому сразу. |
| flows_simulateA | Проверяет сценарий без Telegram: какой триггер сработал, какие шаги прошли и что бот ответил бы. Диалог нигде не сохраняется, задержки пропускаются, запросы к внешним адресам и весточки в служебный чат не выполняются. Через variables можно подставить накопленное разговором — так проверяются ветки условий и подстановки. Внимание: узлы с ИИ обращаются к настоящей модели и расходуют её лимиты. |
| flows_exportA | Отдаёт сценарий одним объектом формата operbots.flow — тем же, что панель скачивает кнопкой «Скачать». Ответ приходит готовым JSON: его целиком передают в flows_import полем document или сохраняют копию рядом с кодом. |
| flows_importA | Заводит сценарий из объекта, полученного через flows_export. Существующие не трогает: загруженный добавляется рядом, а при совпадении названий получает номер. Ссылки на ИИ-сервис и базу знаний исходного дела при переезде проверяются, и неразрешимые снимаются — о каждой снятой сказано в ответе. |
| flows_deleteA | Удаляет сценарий вместе со всей историей редакций. Восстановить нельзя. Если удалить работающий сценарий, бот останется без полотна. |
| dialogs_listA | Переписки ботов дела с отбором по боту, режиму и подстроке. Показывает, где есть непрочитанное и какие диалоги ведёт оператор. |
| dialogs_getA | Диалог и его положение в сценарии: на каком шаге стоит разговор, какого ответа ждёт, какой путь уже пройден, что запланировано и какие переменные накоплены. |
| dialogs_historyA | Сообщения диалога от старых к новым. По умолчанию ничего не помечает прочитанным — счётчики в панели остаются как были. Чтобы уйти вглубь истории, передайте before со временем самого раннего сообщения из предыдущего ответа. |
| dialogs_exportA | Переписка одним готовым текстом: шапка с собеседником, ботом и метками, дальше сообщения по порядку — ровно то, что панель отдаёт файлом. Годится приложить к разбору спора или передать тому, у кого доступа к панели нет. Прочитанной переписка от этого не становится, но сама выгрузка отмечается в журнале дела. Разбирать сообщения по одному и уходить вглубь истории удобнее через dialogs_history. |
| dialogs_replyA | Отправляет сообщение человеку от имени бота — своим текстом или заготовкой из replies_list. По умолчанию диалог переходит в ручной режим и закрепляется за вами — сценарий перестаёт вести разговор, пока его не вернут (dialogs_update mode=bot). Бот должен быть запущен. Проверяйте поле «ошибка доставки» в ответе: сообщение сохраняется даже тогда, когда Telegram его не принял. |
| dialogs_updateA | Меняет режим ведения (сценарий или оператор), отвечает ли ИИ, метки и закрепление. Перевод в режим bot возвращает разговор сценарию и снимает оператора. Заблокировать собеседника отсюда нельзя: блокировку приносит Telegram, когда человек сам закрывает боту рот, — панель её только показывает. |
| dialogs_deleteA | Удаляет диалог вместе со всей перепиской. Восстановить нельзя. Чтобы бот просто перестал отвечать этому человеку, переведите разговор в ручной режим: dialogs_update mode=operator, ai_enabled=false — переписка при этом останется. |
| tasks_listA | Что запланировано в деле: «написать через три дня», «напомнить, если не ответил». Показывает и выполненные, и отменённые: выполненные задачи не удаляются, а порядок — по сроку с самых ранних, так что без status ответ занимает давняя история. Что ещё предстоит, спрашивайте с status=pending: отбор делает панель. Больше 300 записей за раз панель не отдаёт, и общего их числа не сообщает. |
| tasks_cancelA | Снимает запланированное действие: бот не отправит то, что собирался. |
| dialogs_reset_stageA | Освобождает разговор, застрявший на узле ожидания: сценарий ждёт ответа, которого не будет, и со стороны это выглядит молчащим ботом. После снятия следующее сообщение начнёт сценарий заново. Отложенные продолжения этого разговора снимаются заодно — они назначены от того же шага и сработали бы в пустоту. |
| replies_listA | Заготовленные ответы оператора: приветствие, реквизиты, «уточню и вернусь». Порядок — по частоте вставки, нужное каждый день сверху. Отправить заготовку в разговор: dialogs_reply reply=«название». |
| replies_saveA | Без параметра reply заводит новую заготовку, с ним — правит существующую. Название нужно, чтобы заготовку было чем позвать; без него панель обойдётся, но в списке она станет безымянной. |
| replies_deleteA | Убирает заготовку из списка. Отправленные по ней сообщения остаются в переписке — исчезает только сама заготовка. |
| broadcasts_listA | Рассылки дела с условиями отбора, текстом и счётчиками: скольким ушло, скольким не дошло и сколько пропущено — это те, кто закрыл боту рот. Состояния: draft — черновик, его ещё можно править и запускать; scheduled — ждёт своего срока или ближайшего оборота рассыльщика; running — идёт; done — закончена; cancelled — остановлена; failed — не с чего было начать. |
| broadcasts_previewA | Прикидка до отправки: сколько разговоров подходит под условия, кто именно (первые 50 по свежести), сколько из них закрыли боту рот и что настораживает в самом сообщении — пустой отбор, слишком широкий, неизвестные подстановки. Разосланное не отзывают, поэтому смотреть надо здесь. Ничего не сохраняет: черновик заводит broadcasts_save. Условия — те же, что у списка разговоров; ни одного условия означает всех собеседников бота. |
| broadcasts_saveA | Без параметра broadcast заводит черновик — он никуда не уходит, пока его не запустят (broadcasts_start). С параметром broadcast правит черновик, а также рассылку, поставленную на срок и ещё не ушедшую. Начавшуюся правкой уже не догнать — её останавливают через broadcasts_cancel. Условия отбора при правке заменяются целиком теми, что переданы, а не дополняются; не передали ни одного — прежние остаются. Разметку HTML панель проверяет здесь же: Telegram отбил бы сообщение с незакрытым тегом сразу у всех. |
| broadcasts_startA | Ставит черновик в очередь: рассыльщик разошлёт сообщение всем, кто подошёл под условия. Отправленное не отзывается ни у одного получателя, поэтому сначала broadcasts_preview — пустой отбор означает всех собеседников бота. Со сроком (run_at) рассылка дождётся его. То, что ещё не ушло, останавливают через broadcasts_cancel. |
| broadcasts_cancelA | Останавливает рассылку: то, что ещё не ушло, не уйдёт. Отправленное вернуть нельзя, и продолжить остановленную тоже — запускают только черновик, так что для повтора придётся составить новую. Счётчики остаются: по ним видно, скольким успело уйти. |
| knowledge_listA | Без параметра base — все базы знаний дела с их настройками. С параметром base — ещё и список материалов с состоянием разбора. |
| knowledge_saveA | Без параметра base создаёт базу, с параметром — меняет её настройки. Для поиска базе нужно подключение к ИИ-сервису, умеющему считать векторы. Подключение можно сменить или снять (provider=null) только у пустой базы: векторы разных моделей несопоставимы. После правки размера куска старые материалы нужно пересобрать через knowledge_reindex. |
| knowledge_add_documentA | Кладёт в базу текст или страницу по ссылке. Разбор идёт в фоне: сразу после добавления материал в состоянии 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_testA | Отправляет пробную реплику и показывает ответ модели или причину отказа. Это настоящий запрос к сервису: он расходует лимиты и может стоить денег. |
| ai_deleteA | Удаляет подключение вместе с сохранёнными ключами. Пока сервис используют боты, панель удалить его не даст: отвяжите его от каждого бота (bots_save ai_provider=null) и от баз знаний (knowledge_save provider=null), а из узлов «Ответ ИИ» уберите provider_id через flows_save. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/uk-kd/operbots-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server