operbots-mcp
This MCP server provides programmatic control over the operbots panel, enabling AI assistants to manage Telegram bots, flows, dialogs, knowledge bases, AI services, and account settings.
Account & Session Management: Login/logout, view/update account profile, list/revoke active sessions.
Case Management: List, view, create/update, delete, leave, and transfer ownership of cases (projects).
Members & Roles: Manage members, roles, invitations, and granular permissions; create custom roles; transfer ownership.
Bot Management: List, view, create/configure, start/stop/restart, manage command menus and variables, reveal tokens, rotate webhooks, delete bots.
Flow (Scenario) Management: List, view, create/update, publish/unpublish, version history, restore, simulate, and delete flows; use templates or build custom graphs with typed nodes.
Dialog Management: List, view, retrieve history, reply to conversations, switch bot/operator mode, tag, pin, block, and delete dialogs.
Task Management: List and cancel scheduled/deferred actions.
Knowledge Bases: Create/configure, add documents (text or URL), reindex, search/test retrieval, delete documents or entire bases.
AI Services: List, create/configure, test, and delete connections (OpenAI, GigaChat, YandexGPT, OpenRouter, custom); set model, system prompt, temperature, etc.
Catalog/Reference: Browse flow node types, templates, AI kinds, and permission definitions.
Provides tools for managing Telegram bots through the operbots panel, including listing bots, controlling them, sending replies on their behalf, and managing commands and variables.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@operbots-mcpпокажи диалоги, где ждут ответа дольше часа, и ответь им от имени бота"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
operbots-mcp
MCP-сервер панели operbots. Даёт Claude Code и другим клиентам MCP работать с делами, ботами Telegram и MAX, сценариями на полотне, маркетом готовых сценариев, перепиской, рассылками, базой знаний и подключениями к ИИ.
Права те же, что у вас. Токен опознаёт вашу учётную запись, и панель применяет к запросам те же проверки ролей и прав по делам. Выдать помощнику больше, чем можете сами, нельзя.
собери сценарий приёма заявок для бота поддержки и прогони его на «привет»
поставь из маркета «Консультант с ИИ» боту магазина с нашим GigaChat и базой «Прайс»
покажи диалоги, где ждут ответа дольше часа, и ответь им от имени бота
добавь в базу знаний прайс со страницы example.com/prices и проверь поиск
составь рассылку про новый прайс клиентам, кроме отписавшихся, и покажи, кому уйдёт
почему бот молчит со вчера — посмотри его журналТребуется Node 20 или новее.
Установка
npx operbots-mcp@latest setupОдна команда спрашивает всё нужное и подключает плагин сама: адрес панели, токен, дело по умолчанию. Токен выпускается в панели — аккаунт → Интеграции → «Выпустить токен»; значение показывается один раз, скопируйте сразу. По итогу перезапустите Claude Code.
Проверить в любой момент: npx operbots-mcp status.
Плагин везёт сервер с собой и запускает его настоящим node по полному пути. При
старте ничего не качается и не разрешается по имени — потому что именно там установка
и разваливалась: npx на Windows оказывался .cmd, на холодном кэше уходил в реестр
дольше рукопожатия, а про старый Node молчал вовсе.
Другие клиенты MCP
operbots-mcp setup в конце печатает готовую строку запуска с полным путём — её и
вставляйте в свой клиент. Плагины Claude Code при этом не нужны.
Related MCP server: Telegram MCP Server
Доступ
Пароль сервер не видит и не хранит: на диск ложится только токен —
~/.operbots/credentials.json с правами 600. В самой панели значения тоже нет,
там лежит лишь его отпечаток, поэтому даже из базы токен не восстановить.
Отозвать доступ — в панели, аккаунт → Интеграции. Отзыв действует сразу и только
для этого токена: остальные машины продолжают работать. Команда
operbots-mcp logout лишь стирает токен с этой машины, сам он остаётся живым.
Выпускать и отзывать токены можно только из панели — по токену нельзя, иначе утёкший ключ выписывал бы себе новые.
Настройки
Все необязательны. Дело по умолчанию и режим чтения спрашивает setup и кладёт их
рядом с токеном: плагин запускает сервер без окружения вовсе, и передать их иначе
некуда. Переменные при этом главнее профиля — ими переопределяют в контейнере и на
сборке.
Переменная | Что делает |
| Адрес панели. Обычно берётся из сохранённого профиля |
| Токен вместо сохранённого файла: контейнер, сборка |
| Дело по умолчанию: короткое имя, название или идентификатор |
| Оставить инструменты чтения — 31 вместо 82; вход и выход остаются |
| Другой путь к файлу доступа |
| Сколько ждать ответ панели. По умолчанию 30000 |
| Не проверять сертификат — для самоподписанного TLS |
Инструменты
82 штуки. Дела, ботов, сценарии, публикации маркета, материалы, заготовки, рассылки и
подключения можно называть по имени — идентификаторы не нужны:
flows_publish bot="бот поддержки" flow="Приём заявок".
Раздел | Инструменты |
Аккаунт |
|
Дела |
|
Люди |
|
Боты |
|
Сценарии |
|
Маркет |
|
Диалоги |
|
Заготовки ответов |
|
Рассылки |
|
База знаний |
|
ИИ-сервисы |
|
Справочники |
|
Двадцать помечены необратимыми — клиент спросит разрешение. Удаление дела, бота, сценария, диалога и базы знаний целиком, передача дела другому владельцу и запуск рассылки требуют вдобавок названия дословно: случайный вызов не сотрёт и не разошлёт.
Режим OPERBOTS_READ_ONLY=1 оставляет 31 инструмент: всё чтение плюс operbots_login
и operbots_logout — они правят не панель, а токен на этой машине, и без них человек
с отозванным токеном остался бы с советом войти и без способа это сделать.
Маркет
Готовые сценарии — «Консультант с ИИ», «Заявка», «Запись на визит» и остальные — живут в
маркете вместе с публикациями других дел, и ставятся оттуда: market_list находит,
market_install заводит боту новый сценарий рядом с существующими и не включает его в
работу. Узлам «Ответ ИИ» при установке передают provider и knowledge_base — что именно
нужно сценарию, показывает карточка market_get. Своё выкладывают через market_publish
по праву market.publish; карточку и граф увидят все пользователи панели, поэтому текст
в настройках узлов стоит проверить заранее — ссылки на подключения панель снимает сама,
а вписанные руками адреса и ключи нет. Название дела на карточке не показывается, пока не
разрешить show_origin.
Переписка
dialogs_history печатает id каждого сообщения: по нему dialogs_reply reply_to
отвечает цитатой, dialogs_edit_message правит текст уже отправленного — и у собеседника,
и в панели, — а dialogs_delete_message убирает своё сообщение из чата собеседника. В
переписке панели удалённое остаётся зачёркнутым: история разговора важнее чистой ленты.
Чужие сообщения не правятся и не удаляются.
Рассылка
Составляют и отправляют в два шага. broadcasts_save заводит черновик — он никуда
не уходит, даже если задан срок. Отправку начинает только broadcasts_start, и она
необратима: разосланное не отзывается ни у одного получателя. Между ними —
broadcasts_preview: он показывает, сколько разговоров подошло под условия, кто именно
и что настораживает в самом сообщении. Отбор без единого условия означает всех
собеседников бота, а забытое условие выглядит ровно так же — потому предпросмотр и
стоит смотреть всегда.
Условий семь: кто ведёт разговор, метки, метки-исключения, назначенный участник, молчание дольше стольких дней, язык и «без получателей прошлой рассылки». Восьмого — «пришли не раньше такого-то дня» — здесь нет: панель его объявляет, но отвечает на него внутренней ошибкой, и вернуть его можно будет вместе с починкой панели.
Что не выведено
Наружу намеренно не выведены регистрация и смена пароля, выпуск и отзыв токенов, выход на всех устройствах, оформление панели, поиск людей по установке, служебные вебхуки платформ и живая лента событий.
Файлы MCP не передаёт, поэтому вложения остаются делом панели: отправить картинку в
разговор, приложить файл к рассылке и скачать присланное отсюда нельзя. Текстовая
выгрузка переписки при этом есть — dialogs_export.
Уведомления не выведены сознательно: лента личная и сквозная по делам, а то, что в ней
пишут, целиком повторяют журнал бота (bots_journal) и журнал дела (audit_list) —
оба уже здесь. Ради самой ленты понадобилось бы четыре инструмента, из которых
единственный по-настоящему действующий гасил бы человеку счётчик непрочитанного.
Расход на модели (/ai-usage в панели) пока не выведен — это отставание, а не решение.
Значения секретных переменных бота панель отдаёт открыто, а сервер скрывает — видно только имя.
Полотно
Граф отдаётся и принимается плоским, без внутренностей редактора:
узлы:
- id: start
kind: trigger.command
config: { command: start }
- id: hello
kind: action.message
config: { text: Здравствуйте! Чем помочь? }
связи:
- from: start
to: helloПравка заменяет граф целиком: сначала flows_get, затем flows_save со всеми
узлами. Размеры и положение карты переносятся из текущей редакции, поэтому правка
одного узла не сбивает вид полотна. Состав config — в operbots_catalog what=node_kinds; узлы у платформ одни и те же, а варианты в их настройках разные,
поэтому передавайте platform — иначе в граф попадёт вариант, которого у платформы
бота нет.
Новая редакция создаётся, только если граф действительно изменился.
Команды
operbots-mcp setup установка целиком: токен, настройки, плагин
operbots-mcp запустить сервер MCP (так его вызывает клиент)
operbots-mcp login только сохранить токен доступа к панели
operbots-mcp logout удалить токен с этой машины
operbots-mcp status проверить связь с панелью и показать права
operbots-mcp tools перечислить доступные инструментыMIT · правите код — загляните в CONTRIBUTING.md
Available Tools
82 toolsaccount_updateИзменить данные аккаунтаA
Меняет ФИО, дату рождения, телефон и часовой пояс учётной записи. Передавайте только те поля, которые нужно изменить: остальные останутся как есть. Этим же инструментом проходят шаг знакомства: пока фамилии, имени и даты рождения нет, API закрыт целиком.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | No | Телефон. | |
| timezone | No | Часовой пояс, например Europe/Moscow. | |
| last_name | No | Фамилия. | |
| birth_date | No | Дата рождения в виде ГГГГ-ММ-ДД. Без неё профиль считается незаполненным. | |
| first_name | No | Имя. | |
| middle_name | No | Отчество. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses two important behaviors: partial-update semantics ('остальные останутся как есть') and the onboarding gate where the API is fully closed until last name, first name, and birth date are present. This is rich, actionable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, then parameter-use instruction, then the critical onboarding context. Every sentence carries operational value and there is no redundant restatement of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, zero-required mutation tool with no output schema, the description covers the essential selection and invocation context: what it changes, how to perform partial updates, and when it must be used for onboarding. It does not describe the response format or exclusions, but the schema and annotations carry enough of that load.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all six parameters, so the baseline is 3. The description adds meaningful semantics by instructing the agent to send only the fields to change and clarifying that unspecified fields retain their current values, going beyond the schema's individual field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('меняет') and a precise resource ('данные учётной записи'), then enumerates exactly which fields are affected: ФИО, дата рождения, телефон, часовой пояс. This clearly distinguishes account_update from generic account utilities and sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use it for partial profile updates and specifically for the acquaintance/onboarding step while the API is closed. It does not explicitly name alternatives or exclusions, but the context is strong enough for an agent to know when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_deleteУдалить подключение к ИИADestructive
Удаляет подключение вместе с сохранёнными ключами. Пока сервис используют боты, панель удалить его не даст: отвяжите его от каждого бота (bots_save ai_provider=null) и от баз знаний (knowledge_save provider=null), а из узлов «Ответ ИИ» уберите provider_id через flows_save.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| provider | Yes | Подключение: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description reveals important behavior: deletion destroys saved keys, deletion is blocked while the connection is still referenced, and the agent must first detach it from bots, knowledge bases, and AI Reply nodes. This is rich, non-obvious context that annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences: the first front-loads the core destructive action, and the second compactly lists the necessary dependency-clearing steps. Every sentence earns its place, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no output schema, the description covers the effect, the sensitive-data consequence, the blocking condition, and the exact steps to unblock it. This is sufficient for an agent to invoke the tool correctly and avoid failed calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description does not add significant new direct meaning for the provider or case parameters, though it does mention provider_id in flows_save as part of the unblocking workflow. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Удаляет подключение вместе с сохранёнными ключами' — it clearly states what is deleted and that saved keys are also removed. This distinguishes it from sibling AI tools like ai_save, ai_list, and ai_test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when deletion is blocked ('Пока сервис используют боты, панель удалить его не даст') and provides precise removal steps using sibling tools with parameter values: bots_save ai_provider=null, knowledge_save provider=null, and flows_save. This gives the agent clear conditions and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_listПодключения к ИИ-сервисамARead-onlyIdempotent
Какие ИИ-сервисы подключены к делу, с какими моделями и сколько ботов их используют. Ключи не показываются — только последние символы.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds valuable behavioral context by disclosing that API keys are never shown—only their last characters—which is exactly the kind of safety-relevant detail that goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences. The first sentence states purpose and scope; the second addresses key redaction. No wasted words, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one optional parameter and no output schema, the description provides sufficient information: what is listed, for what scope (case), and a critical privacy guarantee. It does not describe pagination or exact return format, but these are not necessary given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single 'case' parameter, including its default behavior when omitted. The description does not add further parameter-level detail, so with 100% schema coverage the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it lists AI services connected to a case, including models and bot usage counts. It distinguishes itself from sibling tools like ai_save, ai_test, and ai_delete by framing this as a read-only enumeration of existing connections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context ('connected to the case') and the optional case parameter, but it does not explicitly state when to use this versus alternatives or provide exclusion criteria. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_saveПодключить или настроить ИИ-сервисA
Без параметра provider подключает новый сервис, с ним — меняет настройки. Какие ключи нужны: gigachat — authorization_key (обязательно), scope (по умолчанию GIGACHAT_API_PERS); yandexgpt — api_key (обязательно), folder_id (обязательно); openai — api_key (обязательно); openrouter — api_key (обязательно); custom — api_key (по желанию); обязателен base_url. При изменении переданные ключи дописываются поверх прежних, а стереть ключ пустой строкой нельзя — только перезаписать.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| kind | No | Вид сервиса. Обязателен при создании, сменить его потом нельзя. | |
| name | No | Название подключения в панели. | |
| model | No | Модель. Известные: gigachat — GigaChat, GigaChat-Pro, GigaChat-Max, GigaChat-2 (по умолчанию GigaChat); yandexgpt — yandexgpt-lite, yandexgpt, yandexgpt-32k (по умолчанию yandexgpt-lite); openai — gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, o4-mini (по умолчанию gpt-4o-mini); openrouter — openai/gpt-4o-mini, anthropic/claude-3.5-sonnet, google/gemini-2.0-flash-001, meta-llama/llama-3.3-70b-instruct, deepseek/deepseek-chat; custom — зависит от вашего сервера; поле обязательно заполнить вручную | |
| active | No | Включено ли подключение. | |
| base_url | No | Адрес сервера. Обязателен для вида custom. | |
| provider | No | Какое подключение менять. Не указывайте, чтобы создать новое. | |
| max_tokens | No | Предел длины ответа. По умолчанию 1024. | |
| credentials | No | Ключи доступа. Состав зависит от вида сервиса — см. описание инструмента. | |
| temperature | No | Разброс ответов: 0 — строго по делу, 2 — свободно. По умолчанию 0.7. | |
| history_depth | No | Сколько прошлых реплик подмешивать в запрос. По умолчанию 10. | |
| system_prompt | No | Постоянная подсказка модели: как себя вести и о чём говорить. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals important behavioral details beyond the annotations: passed keys are appended onto existing ones, and an empty string cannot erase a key—only overwrite it. This gives the agent a concrete understanding of side effects for a non-idempotent, non-destructive mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: it opens with the core create/update rule, then moves to provider-specific key requirements, and closes with the merging caveat. Every sentence carries necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 12 parameters, a nested `credentials` object, and no output schema, the description adequately covers the trickiest aspects: the create/update distinction, per-provider credential requirements, and key-merge behavior. It does not explain return values, but this is a minor omission for a save operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all 12 parameters (100% coverage), but the description adds essential semantics by explaining the `credentials` structure per provider, including required fields and the default `scope` for gigachat. This compensates for the schema's generic 'see description' note and adds value beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it creates a new AI service connection when `provider` is omitted and modifies an existing one when `provider` is specified. It also distinguishes itself from sibling tools like `ai_list`, `ai_test`, and `ai_delete` by focusing on save/configure operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit conditions for use: without `provider` to create, with `provider` to update. It also lists required credentials per provider, giving concrete guidance on what inputs are needed for each service type. However, it does not explicitly mention alternative tools for reading/testing/deleting, so it lacks an explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_testПроверить ИИ-сервисA
Отправляет пробную реплику и показывает ответ модели или причину отказа. Это настоящий запрос к сервису: он расходует лимиты и может стоить денег.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| prompt | No | Что спросить. По умолчанию — короткое приветствие. | |
| provider | Yes | Подключение: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, idempotentHint=false), the description discloses that this is a real request consuming limits and potentially costing money. It also mentions it shows 'reason for refusal,' indicating potential failures. These are valuable behavioral traits not captured in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the action and outcome, and the cost warning is a necessary caveat. Every sentence earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (3 parameters, no nested objects, no output schema) and the strong annotations, the description covers the essential aspects: what it does, what it returns (response or error reason), and the cost/limit implications. It is complete for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter (case, prompt, provider) already has a description. The tool description adds no additional parameter-level semantics, so it reaches the baseline but does not elevate it. It does not repeat or contradict schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Sends a test replica and shows the model's response or reason for refusal.' This clearly distinguishes it from sibling tools like ai_list or ai_save, as it is about testing an AI service rather than managing configurations or listing services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it sends a real request to the service and warns that it consumes limits and may cost money. This implies caution and informs when to use (testing a service) but does not explicitly name alternatives or exclusions. The cost warning is a useful usage guideline, though it could be more explicit about comparing to ai_list/ai_save.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_listЖурнал действийARead-onlyIdempotent
Кто и что менял в деле: правки, включения, удаления, выдачу прав. Отвечает на вопрос «кто это сделал» — в том числе про действия, совершённые токеном доступа: у таких записей указано, каким именно. Чтение в журнал не попадает. Требует права audit.view.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| limit | No | Сколько записей вернуть, максимум 200. По умолчанию 50. | |
| action | No | Вид события, например flow.update, bot.delete, role.update. Без него — все виды. | |
| offset | No | Сколько записей пропустить. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description adds valuable behavioral details: read actions are never recorded, actions performed by an access token are attributed to that specific token, and audit.view permission is required. These traits are not inferable from the annotations or schema alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every sentence adds meaningful information: content scope, the 'who did it' angle, token attribution, read exclusion, and permission requirement. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with four optional parameters and no nested objects, the description covers the essential behavioral context: what is logged, what is not logged, token attribution, and permission needs. The schema handles parameter semantics, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for parameters is 100%, so the schema already documents case, limit, action, and offset. The description does not add any parameter-specific meaning beyond the general 'case' context, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists an audit/action log for a case, covering edits, additions, deletions, and permission grants, and answers 'who did it.' This is specific and the scope is evident, though it does not explicitly contrast itself with sibling tools like bots_journal or dialogs_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent when to use the tool: to determine who performed changes in a case. It also provides a useful exclusion—read operations are not logged—and warns about the required audit.view permission. However, it does not name alternative tools or explicitly state when not to use this tool in favor of another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_commands_applyНастроить меню командA
Приводит меню команд бота к переданному списку: недостающие команды добавляет, существующие обновляет, порядок расставляет по порядку в списке. Команды, которых нет в списке, сохраняются — чтобы удалить их, передайте remove_missing=true. Само меню у платформы обновляется, только если sync=true или бот перезапущен.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| sync | No | Сразу отправить меню платформе. По умолчанию да. | |
| commands | Yes | Желаемое меню целиком, в нужном порядке. | |
| remove_missing | No | Удалить команды бота, которых нет в списке. По умолчанию нет. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behavior beyond the sparse annotations: missing commands are added, existing ones updated, unspecified commands are preserved unless remove_missing=true, and the platform menu only updates when sync=true or the bot restarts. This gives the agent a clear model of side effects and conditional behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two focused sentences with the core behavior front-loaded and the important edge conditions separated into a second sentence. Every clause adds information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a complete operational model for an apply-style command, including default non-destructive behavior and the sync condition, while the schema covers parameter details. It does not describe return values or error cases, and there is no output schema, which is a minor gap but not a blocker for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents every parameter, including remove_missing and sync. The description mentions remove_missing and sync semantics but does not add much per-parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: aligns the bot's command menu to the provided list, explaining add/update/reorder behavior. It is clearly distinct from generic bot tools, though it does not explicitly name or exclude sibling tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool — when you want to force a bot command menu to match a desired list — but it never states explicit selection criteria or contrasts with alternatives. The usage context is inferable but not directly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_controlЗапуск и остановка ботаA
Запускает, останавливает или перезапускает бота, а также отправляет меню команд у платформы. Запуск сам синхронизирует меню; отдельная синхронизация нужна после правки команд у уже работающего бота.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| action | Yes | Что сделать: запустить, остановить, перезапустить, обновить меню команд. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false and destructiveHint=false, so the agent knows this mutates bot state. The description adds useful behavioral nuance: startup automatically syncs the menu, while a separate sync is required after editing commands on a live bot. This goes beyond what structured data provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: the first enumerates the actions, the second explains the only important conditional nuance. There is no filler, no restating of the schema, and the key context is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool with no output schema, this description covers the main actions and the sync nuance well. A brief note on the effect of stop/restart on a running bot would add completeness, but the current text is sufficient for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description reinforces the meaning of the action enum by explaining the sync_commands edge case, but it does not add extra detail about the bot or case parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific set of actions and resource: 'Запускает, останавливает или перезапускает бота, а также отправляет меню команд'. This clearly distinguishes bots_control from sibling tools like bots_save or bots_journal by naming the runtime-control responsibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance about when the sync_commands action is needed: after editing commands on an already running bot, because startup already performs synchronization. It does not name sibling alternatives, but the provided context is unambiguous for the listed actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_deleteОтключить ботаADestructive
Убирает бота из дела вместе с командами и переменными. Диалоги и переписка удаляются. Восстановить нельзя. Чтобы временно выключить, используйте bots_save enabled=false.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| confirm_name | Yes | Точное название бота — подтверждение удаления. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description adds specific consequences: deletion of commands, variables, dialogues, and irreversibility. This goes beyond the annotation, giving the agent a full picture of the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: the first states the core action, the second describes consequences, the third gives an alternative. Every sentence adds value and the description is front-loaded, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully explains the destructive behavior, scope, and irreversibility. It also provides a contrast with the non-destructive alternative, making the tool's usage context complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for bot, case, and confirm_name. The tool description does not add additional parameter-level details, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool removes the bot from the case along with commands, variables, dialogues, and correspondence, and that restoration is impossible. This distinguishes it from sibling tools like bots_save (used for temporary disablement).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides an alternative for temporary disablement: 'use bots_save enabled=false.' This tells when not to use this tool and directs to the correct sibling, fulfilling the usage guideline requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_getКарточка ботаARead-onlyIdempotent
Бот целиком: настройки, меню команд, переменные контента и список сценариев. Значения переменных, отмеченных как секретные, скрыты.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context beyond annotations: secret variable values are hidden. This is a meaningful disclosure about response content that annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence front-loads the core purpose with a colon list of contents; the second adds a crucial detail about secrets. No wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool returns, including the masking of secret variables, which is important given there is no output schema. With strong annotations and 100% parameter schema coverage, it is nearly complete, though it does not explicitly address error cases or access restrictions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'bot' and 'case' parameters have descriptive text. The tool description itself adds no extra parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the full bot object ('Бот целиком') and enumerates its contents: settings, command menu, content variables, and scenario list. This distinguishes it from sibling tools like bots_list (list only) and bots_save (modify). The implicit verb is evident from the tool name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the comprehensive single-bot retrieval tool, but it does not explicitly state when to use it versus alternatives such as bots_list or bots_control. No exclusions or alternative tool names are mentioned, so usage guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_journalЖурнал ботаARead-onlyIdempotent
Что делал сам бот: запуски и остановки, входящие обновления, ответы модели и сколько она думала, ожидание ответа по сценарию, отложенные действия, ошибки сценария и отказы платформой. Журнал дела (audit_list) пишет действия людей — этот пишет действия бота, и на вопрос «почему бот молчит» отвечает именно он. Записи идут от свежих к старым; сузить можно видом (kind) и уровнем — level=error оставит одни сбои. Какие виды у этого бота вообще встречались и сколько их, перечислено в конце ответа. Журнал — недавняя история, а не архив: старые записи панель убирает сама.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| kind | No | Виды записей, например ai.error, flow.error, update.in, message.out. Подходит любой из перечисленных. | |
| level | No | info — обычные записи, warn — предупреждения, error — сбои. | |
| limit | No | Сколько записей вернуть, максимум 200. По умолчанию 30. | |
| offset | No | Сколько записей пропустить. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnly, idempotent, non-destructive behavior. The description adds meaningful behavioral context: entries are returned newest-first, the log is recent history rather than an archive because the panel removes old entries, and the response ends with a summary of encountered kinds and counts. This goes beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence adds distinct value: scope of entries, differentiation from audit_list, ordering and filtering, response summary, and retention behavior. The text is dense but not bloated, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description partially compensates by explaining ordering, filtering, the kind summary at the end, and the non-archival nature of the log. A more explicit list of per-entry fields would make it fully complete, but the provided context is sufficient for an agent to call the tool and interpret the high-level result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters. The description mentions the kind and level filters, particularly level=error, but does not add new semantic detail beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a concrete statement of what the tool returns: bot actions such as starts/stops, incoming updates, model responses, script errors, and platform refusals. It also explicitly contrasts this with audit_list, making the resource and scope unmistakable and distinguishing it from a sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names audit_list as the log of human actions and states that this journal answers 'why the bot is silent', giving a clear selection condition. It also explains how to narrow results by kind and level, which directly supports correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_listСписок ботовARead-onlyIdempotent
Боты дела: состояние, режим работы, число диалогов и непрочитанного.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds context about the output contents (status, operation mode, dialogue counts, unread), which is useful behavioral information beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the resource and purpose. It avoids unnecessary words while conveying the key output fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list with one optional parameter, the description provides sufficient context: what is listed and what information is included. Annotations cover safety, and schema covers parameters. The lack of output schema is mitigated by the description's field enumeration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'case' is fully described in the schema (100% coverage), including default behavior when omitted. The tool description itself does not add parameter details, so it relies on the schema, appropriate for baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as listing bots for a case ('Боты дела'), with a specific verb ('список') and resource ('боты'). It also lists the returned aspects (status, mode, dialog counts, unread), distinguishing it from sibling tools like bots_get by its list-focused scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving bots of a case, but it does not explicitly state when to use this tool versus alternatives (e.g., bots_get). No exclusions or conditions are mentioned, so it falls short of clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_reveal_tokenПоказать токен ботаADestructive
Возвращает токен бота в открытом виде. Токен даёт полное управление ботом — запрашивайте его, только если пользователь прямо об этом попросил, и не пересказывайте без надобности.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds crucial behavioral context: the token grants full control over the bot, and the tool should be used only on explicit user request. This meaningfully expands on destructiveHint=true and explains why the operation is sensitive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The first sentence states the primary function; the second delivers essential security guidance. The most important operational caution is placed up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the action, the sensitive nature of the result, and the required user-consent condition. It is complete enough for safe invocation, though it does not detail output formatting or explicitly rule out token rotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both bot and case parameters. The description adds no parameter-specific meaning beyond the operation itself, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Возвращает токен бота в открытом виде' — a specific verb, resource, and even the output form. It is recognizable as distinct from siblings like bots_get, but it does not explicitly name or differentiate against any sibling, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage condition: request the token only if the user directly asks, and do not repeat it unnecessarily. It provides clear context and a strong exclusion rule, though it does not mention alternatives or broader when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_saveПодключить или настроить ботаA
Без параметра bot подключает нового бота по токену — токен проверяется живым запросом к платформе и хранится зашифрованным. С параметром bot меняет настройки. Смена токена или режима перезапускает работающего бота. Платформу у подключённого бота сменить нельзя: у неё свой вид токена и свои пределы.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | No | Какого бота менять. Не указывайте, чтобы подключить нового. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| mode | No | polling — панель сама забирает обновления; webhook — платформа шлёт их на панель (нужен публичный адрес по https). | |
| name | No | Название бота в панели. | |
| token | No | Токен бота. Обязателен при подключении. Вид у каждой платформы свой: у Telegram 1234567890:AA… от @BotFather, у MAX — длинная строка без двоеточия из кабинета разработчика. Точный вид и где его брать — operbots_catalog what=platforms. | |
| enabled | No | Включён ли бот. false останавливает работающего. | |
| platform | No | Куда подключаем нового бота. По умолчанию telegram. У подключённого не меняется. | |
| autostart | No | Запускать бота при старте панели. | |
| ai_provider | No | Подключение к ИИ-сервису: название или идентификатор. null — отвязать сервис от бота, ничего взамен не назначая. | |
| description | No | Описание бота. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses non-obvious behaviors beyond annotations: live token validation, encrypted storage, automatic restart on token or mode change, and immutability of platform. This significantly helps an agent anticipate side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences front-load the main behavior and then cover constraints and side effects without filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the key decision points: connect vs configure, restart semantics, platform immutability, and live token validation. It does not enumerate every parameter, but the schema already documents those.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes beyond by explaining the conditional role of bot, the restart effect of changing token or mode, and the platform restriction. It adds useful integration semantics rather than merely repeating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action on a specific resource: connecting a new bot when bot is omitted and changing settings when bot is provided. It is clear but does not explicitly name sibling tools to differentiate, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear usage context is given: omit bot to connect, include bot to reconfigure, and changing token or mode restarts a running bot. It does not explicitly state when to choose a sibling tool such as bots_control or bots_delete, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_variables_setПеременные контента ботаA
Задаёт переменные, которые подставляются в тексты сценария: цены, адреса, ссылки. Существующие ключи обновляются, новые создаются. Отмеченные секретными не показываются обратно. Ключ: латиница, цифры, подчёркивание и точка.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| variables | No | Переменные, которые нужно завести или обновить. | |
| delete_keys | No | Имена переменных, которые удалить. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (write, non-destructive), the description discloses that existing keys are updated, new ones created, and secret-marked values are not shown back. It also specifies key character constraints, providing valuable behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the main action, and every sentence adds essential information. No fluff or redundant repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema richness and annotations, the description fully complements the structured data. It covers core behavior, key format, secret handling, and update semantics, making the tool's purpose and constraints complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters (100% coverage), but the description adds key format constraints (Latin, digits, underscore, dot) not present in the schema. It also reinforces the behavior of the 'secret' field, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Задаёт' - sets) and resource ('переменные' - variables for bot script texts), with concrete examples (prices, addresses, links). It clearly distinguishes this tool from siblings like bots_save or bots_control by focusing on content variables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context through examples ('цены, адреса, ссылки') and explains the update/create behavior, implying when to use it. It does not explicitly name alternatives or exclude cases, but given the unique sibling scope, the usage is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_webhook_checkЧто платформа знает о вебхукеARead-onlyIdempotent
Отчёт самой платформы: на какой адрес она шлёт обновления, сколько их ждёт доставки и какой была последняя ошибка доставки. Единственный способ понять, почему бот в режиме вебхука молчит: со стороны панели всё бывает исправно — адрес публичный, запрос доходит, — а платформа не достучалась и знает причину. Ни токен, ни ключ из адреса наружу не отдаются: адрес показан без ключа, а вывод прямо говорит, тот ли это адрес, которого ждёт панель.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent; the description goes further by stating that no token or key is ever exposed from the address and that the output states whether the address matches the panel's expectation. This adds safety and interpretation context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each meaningful: report contents, diagnostic use-case, and privacy caveat. Key information is front-loaded in the first sentence. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple diagnostic tool with two documented parameters and no output schema, the description covers all relevant expectations: what the report contains, what insight it provides, and the security guarantee about secrets. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both bot and case are described in the schema, including the default fallback for case. The description adds no parameter-level detail, so it stays at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource ('Отчёт самой платформы') and specifies the exact outputs: delivery address, count of pending updates, and last delivery error. This clearly distinguishes bots_webhook_check from action-oriented siblings like bots_webhook_rotate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger scenario: use when a webhook-mode bot is silent but the panel side looks healthy ('Единственный способ понять...'). It does not, however, spell out when not to use it or name alternative diagnostic tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bots_webhook_rotateСменить адрес вебхукаADestructive
Выдаёт боту новый секретный адрес вебхука. Прежний перестаёт работать навсегда — это нужно, если старый адрес утёк. Работающий бот перезапускается.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, and the description adds that the old address 'stops working forever' (перестаёт работать навсегда), reinforcing irreversibility. It also reveals a new side effect: the running bot restarts (работающий бот перезапускается), which annotations don't cover. This gives valuable operational context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences in Russian, each with a distinct purpose: action, condition, and side effect. No filler words, and the main verb appears in the first sentence, front-loading the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent tool with no output schema, the description covers the key aspects: what it does, when to use it, and permanent consequences. It lacks explicit permission requirements, but given the annotations and schema, it is thorough enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters (bot and case) with 100% coverage, so the baseline is 3. The description doesn't add parameter-specific semantics, but the schema does the heavy lifting. No additional meaning is provided by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'issues a new secret webhook address' (Выдаёт боту новый секретный адрес вебхука) for the bot, indicating a rotation action. It distinguishes from sibling bot tools (bots_get, bots_save, bots_delete) by focusing specifically on address rotation. The title 'Сменить адрес вебхука' aligns perfectly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says this is needed 'if the old address leaked' (если старый адрес утёк), giving a clear trigger for use. It warns that the previous address stops working forever, implying it is not for routine changes. It doesn't name alternatives but provides sufficient context for when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
broadcasts_cancelОстановить рассылкуA
Останавливает рассылку: то, что ещё не ушло, не уйдёт. Отправленное вернуть нельзя, и продолжить остановленную тоже — запускают только черновик, так что для повтора придётся составить новую. Счётчики остаются: по ним видно, скольким успело уйти.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| broadcast | Yes | Рассылка: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: sent messages cannot be recalled, a canceled broadcast cannot be resumed, only a draft can be started again, and counters remain to show delivery reach. This gives the agent a clear picture of irreversibility and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver the core action and all critical consequences without redundancy. The most important fact is front-loaded, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a cancellation tool with no output schema, the description covers what happens to unsent and sent messages, whether the operation is resumable, how to repeat the broadcast, and what remains visible. Combined with the annotated safety profile and fully documented schema, this is complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents the 'case' and 'broadcast' parameters. The description adds no parameter-level detail beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Останавливает рассылку') and immediately clarifies the effect: unsent messages will not be sent. This clearly distinguishes the tool from siblings like broadcasts_start, broadcasts_list, and broadcasts_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a broadcast needs to be stopped before it finishes sending. However, it does not explicitly name alternatives or state when not to use it, so the guidance is present but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
broadcasts_listРассылки делаARead-onlyIdempotent
Рассылки дела с условиями отбора, текстом и счётчиками: скольким ушло, скольким не дошло и сколько пропущено — это те, кто закрыл боту рот. Состояния: draft — черновик, его ещё можно править и запускать; scheduled — ждёт своего срока или ближайшего оборота рассыльщика; running — идёт; done — закончена; cancelled — остановлена; failed — не с чего было начать.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| limit | No | Сколько записей вернуть, максимум 100. По умолчанию 30. | |
| offset | No | Сколько записей пропустить. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds useful behavioral context beyond that, including the meaning of counters and a clear explanation of each broadcast status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads the core content. The status list is useful, though the informal aside about users who 'closed the bot's mouth' adds little functional clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does a good job of explaining what the returned records contain and what each status means. It could be more explicit about the list nature and sorting, but it is adequate for a simple read-only listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with case, limit, and offset already documented. The description does not need to explain parameters, and it adds no additional parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (case mailings) and the data they contain — selection conditions, text, and delivery counters — and explains the statuses. However, it never uses an explicit action verb like 'list' or 'get', relying on the tool name to supply the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus broadcasts_preview, broadcasts_save, broadcasts_start, or broadcasts_cancel. It does not state that this is the read-only viewing tool or mention any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
broadcasts_previewКому уйдёт рассылкаARead-onlyIdempotent
Прикидка до отправки: сколько разговоров подходит под условия, кто именно (первые 50 по свежести), сколько из них закрыли боту рот и что настораживает в самом сообщении — пустой отбор, слишком широкий, неизвестные подстановки. Разосланное не отзывают, поэтому смотреть надо здесь. Ничего не сохраняет: черновик заводит broadcasts_save. Условия — те же, что у списка разговоров; ни одного условия означает всех собеседников бота.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| mode | No | bot — разговор ведёт сценарий; operator — ведёт человек. | |
| tags | No | Метки: подходит любая из перечисленных, а не все сразу. | |
| text | Yes | Текст сообщения. Подстановки: {{имя}}, {{фамилия}}, {{username}}, {{полное_имя}}, {{bot.name}} — незнакомые уйдут получателю как есть. | |
| language | No | Язык собеседника, как его сообщает платформа: ru, en. Сообщает не всякая. | |
| parse_mode | No | HTML — разметка сообщения. Пусто — обычный текст. По умолчанию пусто. | |
| quiet_days | No | Молчат дольше стольких дней. | |
| assigned_to | No | Только разговоры, назначенные этому участнику: почта, имя или идентификатор. | |
| exclude_tags | No | Метки, которые исключают из отбора: «всем клиентам, кроме отписавшихся». | |
| skip_broadcast | No | Не слать тем, кто уже получил другую рассылку: её название или идентификатор. Так повтор не приходит дважды. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds behavioral specifics: it shows only the first 50 conversations by freshness, flags warnings like 'пустой отбор, слишком широкий, неизвестные подстановки', and explicitly states 'Ничего не сохраняет' (persists nothing). This aligns with and enriches the annotation-provided safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence carries information: the first lists the preview outputs, the second gives the rationale for using it, the third covers side effects and condition semantics. No filler or repetition of schema contents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately explains the return contents: counts, the first 50 matching conversations, how many silenced the bot, and message warnings. It also covers default behavior, side-effect-freedom, and the relationship to broadcasts_save, making it sufficient for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all 11 parameters with descriptions (100% coverage), so the baseline is 3. The description adds a general semantic that the filter conditions are 'те же, что у списка разговоров' (same as the conversation list) and that omitting all conditions means 'всех собеседников бота'. It also flags unknown substitutions in the text parameter, which is an extra warning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Прикидка до отправки', clearly identifying this as a pre-send estimation tool for broadcasts. It enumerates concrete outputs: 'сколько разговоров подходит под условия, кто именно (первые 50 по свежести), сколько из них закрыли боту рот'. This distinguishes it from sibling tools like broadcasts_start and broadcasts_save by focusing on preview before sending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: 'Разосланное не отзывают, поэтому смотреть надо здесь' – i.e., use it before sending because sent broadcasts cannot be recalled. It also names the alternative for saving drafts: 'черновик заводит broadcasts_save'. This gives the agent clear routing between preview and save operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
broadcasts_saveСоставить или поправить рассылкуA
Без параметра broadcast заводит черновик — он никуда не уходит, пока его не запустят (broadcasts_start). С параметром broadcast правит черновик, а также рассылку, поставленную на срок и ещё не ушедшую. Начавшуюся правкой уже не догнать — её останавливают через broadcasts_cancel. Условия отбора при правке заменяются целиком теми, что переданы, а не дополняются; не передали ни одного — прежние остаются. Разметку HTML панель проверяет здесь же: платформа отбила бы сообщение с незакрытым тегом сразу у всех.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | No | Бот, от имени которого уйдёт сообщение: название, @username или идентификатор. Нужен для новой рассылки; у заведённой бота не меняют. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| mode | No | bot — разговор ведёт сценарий; operator — ведёт человек. | |
| tags | No | Метки: подходит любая из перечисленных, а не все сразу. | |
| text | No | Текст сообщения. Подстановки: {{имя}}, {{фамилия}}, {{username}}, {{полное_имя}}, {{bot.name}} — незнакомые уйдут получателю как есть. | |
| title | No | Название для списка. Без него панель возьмёт начало текста. | |
| run_at | No | Когда начать, ISO 8601. Без срока рассылка идёт сразу после запуска. null убирает ранее назначенный срок. | |
| buttons | No | Кнопки под сообщением: ряды не больше чем по три, рядов не больше шести. Только ссылки — на нажатие в рассылке отвечать некому. | |
| language | No | Язык собеседника, как его сообщает платформа: ru, en. Сообщает не всякая. | |
| broadcast | No | Какую рассылку править: название или идентификатор. Не указывайте для новой. | |
| parse_mode | No | HTML — разметка сообщения. Пусто — обычный текст. | |
| quiet_days | No | Молчат дольше стольких дней. | |
| assigned_to | No | Только разговоры, назначенные этому участнику: почта, имя или идентификатор. | |
| exclude_tags | No | Метки, которые исключают из отбора: «всем клиентам, кроме отписавшихся». | |
| skip_broadcast | No | Не слать тем, кто уже получил другую рассылку: её название или идентификатор. Так повтор не приходит дважды. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behavioral traits: a draft will not send until started, edits don't work once a broadcast has begun, selection criteria replace rather than merge, omitted criteria remain unchanged, and HTML markup is validated at save time. This is substantial value beyond the readOnly/destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: it distinguishes create/edit behavior, names the cancellation sibling, explains selection-criteria semantics, and notes HTML validation. The most important behavioral distinction is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 15 parameters and no output schema, the description covers the critical behavioral context: when the tool creates vs edits, when editing is impossible, how to handle a started broadcast, and how selection updates behave. Combined with the 100% schema coverage, an agent has enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds meaningful semantics for the key `broadcast` parameter (new vs edit, draft vs scheduled vs started) and clarifies replacement behavior for selection criteria, which is not fully captured by the schema property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: without `broadcast` it creates a broadcast draft; with `broadcast` it edits an existing draft or a scheduled-but-not-yet-sent broadcast. It also clearly distinguishes itself from sibling tools `broadcasts_start` and `broadcasts_cancel`, so an agent can tell when this tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage rules: omit `broadcast` to create a draft, provide it to edit a draft or scheduled broadcast, and do not attempt to edit an already-started broadcast — instead use `broadcasts_cancel`. This is direct guidance with named alternatives and clear conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
broadcasts_startЗапустить рассылкуADestructive
Ставит черновик в очередь: рассыльщик разошлёт сообщение всем, кто подошёл под условия. Отправленное не отзывается ни у одного получателя, поэтому сначала broadcasts_preview — пустой отбор означает всех собеседников бота. Со сроком (run_at) рассылка дождётся его. То, что ещё не ушло, останавливают через broadcasts_cancel.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| broadcast | Yes | Рассылка: название или идентификатор. | |
| confirm_title | Yes | Точное название рассылки — подтверждение отправки. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true, openWorldHint=true), the description explains the irreversible consequence: 'Отправленное не отзывается ни у одного получателя' (sent cannot be recalled), and reveals queueing, scheduling via run_at, and the all-recipients risk. This significantly exceeds the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each with a distinct purpose: queueing, irreversibility warning and preview, scheduling, and cancellation. The action is front-loaded and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with no output schema, this description is unusually complete: it covers the core action, the main risk and mitigation, scheduling semantics, and the follow-up cancel action. Nothing essential for a correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents every parameter (100% coverage), so the baseline is 3. The description adds rationale for confirm_title as an exact-title confirmation and clarifies scheduling behavior with run_at, adding semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately states a specific action and scope: 'Ставит черновик в очередь' (puts a draft into the send queue), which clearly means starting a broadcast. It also distinguishes itself from adjacent siblings by referencing broadcasts_preview and broadcasts_cancel, and from broadcasts_save by emphasizing the draft is already prepared.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit workflow guidance: first use broadcasts_preview to check recipients, and use broadcasts_cancel for anything not yet sent. The warning that an empty selection means all bot interlocutors tells the agent when to be cautious and what to check beforehand.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases_deleteУдалить делоADestructive
Удаляет дело целиком: боты, сценарии, переписка, участники и роли. Восстановить нельзя. Чтобы просто убрать дело из списка, используйте cases_save с archived=true.
| Name | Required | Description | Default |
|---|---|---|---|
| case | Yes | Дело: название или идентификатор. | |
| confirm_name | Yes | Точное название дела — подтверждение, что удаляется именно оно. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description adds concrete details: which entities are destroyed, and that deletion cannot be undone ('Восстановить нельзя'). This gives the agent a clear picture of the irreversible destructive scope, which is more than the annotation alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, both information-dense. The first states the action and its scope, the second states irreversibility and the alternative. There is no redundant or filler content, making it optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema, this description is fully complete: it tells what is deleted, warns about irreversibility, and gives an alternative for a milder action. Combined with the schema's 100% parameter coverage, the agent has all the information needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (case, confirm_name) have full schema descriptions with 100% coverage. The description adds no additional parameter-level detail, so the baseline of 3 applies; there is no need for the description to repeat what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes an entire case ('Удаляет дело целиком') and enumerates exactly what gets deleted (bots, scenarios, correspondence, participants, roles). It also distinguishes itself from archiving via cases_save, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides an alternative: 'Чтобы просто убрать дело из списка, используйте cases_save с archived=true' (to simply remove from list, use cases_save with archived=true). This tells the agent when not to use this tool, which is exactly the needed guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases_getОткрыть делоARead-onlyIdempotent
Карточка дела: права текущего пользователя в нём и сводка — боты, диалоги, переписка за выбранный срок, отложенные действия, базы знаний, участники.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| days | No | За сколько дней считать переписку: 7, 14 или 30. По умолчанию 7. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context about what the returned case card contains, including current user rights in the case and the list of summary categories. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler words. It lists multiple summary categories, which is informative, but the long list makes it slightly heavy—still reasonably concise for the richness it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two optional parameters, no output schema, and strong annotations, the description is sufficient for an agent to know what the tool returns: user permissions and a composite case summary. It also clarifies the date-bound correspondence aspect referenced by the 'days' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already documented in the input schema: 'case' explains the matching and fallback behavior, and 'days' says 7/14/30 with a default of 7. The description does not need to add further parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as a case card ('Карточка дела') that returns the current user's rights and a summary of bots, dialogs, correspondence, deferred actions, knowledge bases, and participants. This distinguishes it from cases_list, cases_save, and cases_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for viewing/opening a single case with details and rights, but it does not explicitly state when to use it instead of sibling tools like cases_list or bots_get. No when-not-to-use or alternative tool mention is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases_leaveВыйти из делаADestructive
Убирает вас из числа участников дела. Владелец выйти не может — сначала нужно передать дело другому участнику (case_transfer).
| Name | Required | Description | Default |
|---|---|---|---|
| case | Yes | Дело: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true and readOnlyHint=false. The description adds a valuable behavioral constraint: the owner cannot leave and must transfer the case first. This goes beyond the annotation flags and provides real context about preconditions and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary action followed by the exception and alternative. Every word earns its place; there is no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple action with one parameter and no output schema, the description covers the core action, the key restriction, and the alternative. It does not mention edge cases like non-participant behavior, but given the annotations and simplicity, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter 'case' with a clear description ('Дело: название или идентификатор'). The tool description does not add further detail about the parameter, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Убирает вас из числа участников дела' (removes you from case participants). It specifies the action (remove) and the resource (your membership in the case), distinguishing it from sibling tools like case_transfer, which transfers ownership, and members_remove, which likely removes other members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when the tool cannot be used ('Владелец выйти не может') and provides a clear alternative: 'сначала нужно передать дело другому участнику (case_transfer)'. This gives the agent actionable guidance on when to use this tool versus the case_transfer sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases_listСписок делARead-onlyIdempotent
Все дела, к которым есть доступ, с ролью, правами и счётчиками ботов и непрочитанного.
| Name | Required | Description | Default |
|---|---|---|---|
| include_archived | No | Показать и архивные дела. По умолчанию нет. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, open-world, idempotent, and non-destructive. The description adds value by specifying the access scope and response contents (role, rights, bot/unread counters), enriching behavioral understanding without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the tool's purpose and scope. It contains no filler or redundant information relative to the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward list tool with one optional parameter and rich annotations, the description is sufficient: it names the resource, access scope, and returned data fields. It does not describe pagination or the exact array format, but the absence of an output schema and the tool's simplicity make this a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (include_archived) is fully described in the schema with a default value, and the schema coverage is 100%. The description does not add parameter details, but the baseline of 3 is appropriate because the schema carries the semantic burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool lists all accessible cases ('Все дела, к которым есть доступ') and specifies the included data: role, rights, bot and unread counters. This clearly identifies it as the list operation for cases, distinguishing it from sibling tools like cases_get or cases_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that the tool returns only cases the user has access to and includes an optional archived filter, but it does not explicitly state when to prefer this over cases_get or other list tools. Usage is implied rather than directly contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cases_saveСоздать или изменить делоA
Без указания дела создаёт новое (вы становитесь владельцем, разворачиваются пять ролей: владелец, администратор, конструктор, оператор, наблюдатель). С указанием — меняет название, описание, знак и оформление или убирает дело в архив.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Какое дело менять. Не указывайте, чтобы создать новое. | |
| name | No | Название дела. | |
| emoji | No | Знак дела, например 🛍. По умолчанию ◆. | |
| accent | No | Оформление: platinum, signal, aurora, ultra, ember, moss, rose. | |
| archived | No | Убрать дело в архив или вернуть из него. Только при изменении. | |
| description | No | Описание. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already show readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds valuable context: becoming the owner, the five roles expanded, and the archive action. This goes beyond the structured data without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary create behavior, and every clause earns its place. It's concise yet covers both modes and the side effects (ownership, roles, archive) without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two modes and non-trivial side effects, but the description covers them adequately. There is no output schema, and the description doesn't mention return values, which would be helpful. However, the action is clear and the schema fills in parameter details, so it's nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter documented. The description doesn't add parameter-level detail beyond the schema, which is the baseline expectation. The schema already explains the 'case' parameter's omission behavior, so the description adds no extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates or modifies a case, with an explicit verb for each mode ('создаёт новое' and 'меняет'). It distinguishes from sibling tools like cases_list, cases_get, and cases_delete by describing its dual create/update behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear conditional usage: omit 'case' to create, specify it to update. It doesn't explicitly name alternatives, but the conditions are explicit and easy to follow. No exclusions are mentioned, but none are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
case_transferПередать делоADestructive
Делает другого участника владельцем дела. Прежний владелец переводится в администраторы и теряет право на повторную передачу — вернуть дело сможет только новый владелец.
| Name | Required | Description | Default |
|---|---|---|---|
| case | Yes | Дело: название или идентификатор. | |
| member | Yes | Новый владелец: почта, имя или идентификатор участия. | |
| confirm_name | Yes | Точное название дела — подтверждение передачи. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the destructiveHint annotation by explaining exactly what happens to the previous owner (demoted to admin, loses re-transfer rights) and that only the new owner can transfer back. This provides critical behavioral detail not available elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core action, and every clause adds value. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent tool with no output schema, the description explains the transfer, the consequences for both parties, and the irreversible nature. It lacks explicit prerequisites (e.g., current owner must invoke) but is otherwise complete for safe operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so the baseline is 3. The tool description does not add additional parameter meanings beyond the schema, leaving confirm_name and member semantics to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: making another participant the owner of a case. It distinguishes from related tools like cases_leave or cases_delete by specifying the transfer of ownership and its consequences, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage scenarios (when you need to change case ownership) but does not explicitly contrast with alternatives or state when not to use it. The context is clear enough for an agent to infer, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_deleteУдалить диалогADestructive
Удаляет диалог вместе со всей перепиской. Восстановить нельзя. Чтобы бот просто перестал отвечать этому человеку, переведите разговор в ручной режим: dialogs_update mode=operator, ai_enabled=false — переписка при этом останется.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. | |
| confirm_contact | Yes | Имя собеседника дословно — подтверждение удаления. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses that the entire correspondence is deleted and that restoration is impossible. It also clarifies the behavior of the alternative path (correspondence remains), which helps the agent understand the irreversible side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the core action, the irreversible consequence, and the recommended alternative. There is no filler or repetition; the most important behavioral warning is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with a required confirmation parameter, the description sufficiently explains what is deleted, that deletion cannot be undone, and what to do instead when permanent deletion is not desired. The schema covers parameter semantics and confirmation, so no critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters 'case', 'dialog', and 'confirm_contact' are already documented in the schema. The tool description adds no additional parameter-level meaning, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource ('Удаляет диалог') and specifies the destructive scope ('вместе со всей перепиской'). It also distinguishes itself from dialogs_update by explicitly contrasting permanent deletion with a non-destructive manual-mode alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on when not to use this tool: if the bot should merely stop replying, the agent should call dialogs_update with mode=operator and ai_enabled=false instead. This explicitly routes to the alternative and explains the trade-off regarding preservation of the conversation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_delete_messageУдалить сообщение у собеседникаADestructive
Убирает своё сообщение из чата собеседника; в переписке панели запись остаётся зачёркнутой — след того, что и когда убрали. Только свои: сообщения собеседника не удаляются. Вернуть нельзя. Слишком старое сообщение платформа удалить не даст.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. | |
| message | Yes | id сообщения из dialogs_history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, but the description adds meaningful context beyond that: the recipient's copy is removed while the panel record stays crossed out, deletion is irreversible, and too-old messages are rejected. This gives the agent a solid understanding of consequences. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse sentences with the core action front-loaded. Every sentence adds a distinct constraint (scope, irreversible, age limit) with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with two required parameters and annotations already carrying the safety profile, the description covers the main side effects, scope restriction, irreversibility, and a failure condition. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter (case, dialog, message) is already documented with meaningful descriptions in the schema. The tool description itself adds no additional parameter-level detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Убирает своё сообщение из чата собеседника') and clarifies that only the caller's own messages can be removed. This clearly distinguishes it from siblings like dialogs_edit_message or dialogs_delete without needing to open their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear invocation conditions: only own messages, irreversible deletion, and platform restrictions on old messages. However, it never names sibling tools or explicitly states when to prefer dialogs_delete_message over dialogs_delete or dialogs_edit_message, so routing guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_edit_messageИзменить отправленное сообщениеA
Меняет текст сообщения, которое бот или оператор уже отправили, — и у собеседника, и в переписке панели. Только свои сообщения: чужие и служебные не правятся. Не дошедшее изменить нельзя — только отправить заново; подпись к вложению панель пока не правит. Кнопки остаются прежними. Бот должен быть запущен; слишком старое сообщение платформа может не дать изменить.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| text | Yes | Новый текст целиком. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. | |
| message | Yes | id сообщения из dialogs_history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations marking this as a mutating, non-read-only operation, the description goes further and discloses valuable behavioral details: the change appears both to the interlocutor and in the panel, buttons stay unchanged, the bot must be running, and very old messages may not be editable. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by concise, high-value constraints and limitations. Every sentence carries useful information: scope, exclusions, alternatives, and runtime prerequisites.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating edit operation with no output schema, the description covers the essential context: what gets changed, where the change appears, what cannot be changed, when the operation may fail, and what preconditions apply. An agent has enough information to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, including descriptions for text, dialog, message, and case. The description adds only a little extra meaning, such as the fact that attachment captions are not edited, which clarifies the scope of the text parameter but does not substantially go beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it changes the text of an already-sent message, affecting both the recipient and the panel conversation. It clearly distinguishes this from sibling tools like dialogs_delete_message or dialogs_reply by focusing on editing an existing sent message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong usage context: it only edits the bot's or operator's own messages, cannot edit undelivered messages (says to resend instead), and cannot edit attachment captions. It does not name sibling tools explicitly, but the conditions and exclusions are clear enough for an agent to decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_exportВыгрузить перепискуARead-onlyIdempotent
Переписка одним готовым текстом: шапка с собеседником, ботом и метками, дальше сообщения по порядку — ровно то, что панель отдаёт файлом. Годится приложить к разбору спора или передать тому, у кого доступа к панели нет. Прочитанной переписка от этого не становится, но сама выгрузка отмечается в журнале дела. Разбирать сообщения по одному и уходить вглубь истории удобнее через dialogs_history.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context beyond those hints: the dialog is not marked as read ('Прочитанной переписка от этого не становится') and the export is recorded in the case journal ('сама выгрузка отмечается в журнале дела'). This is useful and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences, each carrying distinct information about output format, use cases, and side effects plus the alternative tool. It is slightly embellished with the phrase 'ровно то, что панель отдаёт файлом', but overall it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description sufficiently explains the return format, the purpose, the side effects, and the sibling alternative. The input schema covers parameter details, so nothing critical is missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (dialog and case) are already documented with clear descriptions and default behavior for case. The description does not add parameter-specific semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports the whole conversation as one ready-made text with a header and messages in order, which is a specific verb+resource. It also distinguishes itself from dialogs_history, which is the sibling most likely to be confused with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says the export is suitable for attaching to dispute analysis or sharing with someone without panel access. It also names dialogs_history as the better tool for per-message analysis and deep history, giving a concrete when-to-use vs alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_getКарточка диалогаARead-onlyIdempotent
Диалог и его положение в сценарии: на каком шаге стоит разговор, какого ответа ждёт, какой путь уже пройден, что запланировано и какие переменные накоплены.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds meaningful context about the informational content returned (scenario position, expected answer, variables), going beyond what annotations alone provide. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with a colon-led list. It is front-loaded with the core subject and each listed item adds useful detail. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter with full schema coverage and no output schema, the description adequately explains what the agent will learn from the call. It outlines the key aspects of the dialog card without needing to specify return format. Minor lack of error/edge-case handling is acceptable given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters ('case' and 'dialog') have clear descriptions in the schema. The tool description adds no extra parameter-level semantics, so it cannot exceed the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly conveys the tool's focus: it provides the dialog and its position in the scenario, including current step, expected response, path, planned steps, and variables. This distinguishes it from sibling tools like dialogs_list or dialogs_history. However, it lacks an explicit verb like 'get' or 'retrieve', relying on the tool name for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool relative to alternatives (e.g., dialogs_list, dialogs_history, dialogs_reply). It does not mention exclusions, prerequisites, or scenarios where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_historyИстория перепискиARead-onlyIdempotent
Сообщения диалога от старых к новым. По умолчанию ничего не помечает прочитанным — счётчики в панели остаются как были. Чтобы уйти вглубь истории, передайте before со временем самого раннего сообщения из предыдущего ответа.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| limit | No | Сколько записей вернуть, максимум 300. По умолчанию 80. | |
| before | No | Показать сообщения раньше этого момента (ISO 8601). | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. | |
| mark_read | No | Пометить входящие прочитанными и обнулить счётчик. По умолчанию нет. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds a valuable behavioral nuance: by default, it does not mark messages as read, leaving counters unchanged. This goes beyond the annotations and helps the agent understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and contains no redundant information. Every sentence adds meaningful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema), the description covers ordering, pagination, and read behavior, which are the critical aspects. It does not describe return fields, but that is not strictly necessary for this list-like tool. Slightly more detail on response structure could make it a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description enhances this by explaining how to use the 'before' parameter for deep history pagination and reiterating the default for mark_read. This adds practical value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool returns dialog messages in chronological order from old to new, which is a specific action. It also mentions the default behavior of not marking messages as read, distinguishing it from other dialog-related tools like dialogs_reply or dialogs_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context, including how to paginate deeper into history using the 'before' parameter. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_listСписок диалоговARead-onlyIdempotent
Переписки ботов дела с отбором по боту, режиму и подстроке. Показывает, где есть непрочитанное и какие диалоги ведёт оператор.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | No | Отобрать по боту: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| mode | No | bot — ведёт сценарий; operator — перехвачен человеком. | |
| limit | No | Сколько записей вернуть, максимум 200. По умолчанию 40. | |
| query | No | Поиск по имени, нику и последнему сообщению. | |
| offset | No | Сколько записей пропустить. | |
| only_unread | No | Только с непрочитанными сообщениями. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds that it indicates unread messages and operator status, but does not disclose pagination behavior or return format, so it provides only limited extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, two-sentence statement focused on the action and key capabilities. It is appropriately sized and front-loaded, with no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The combination of a clear description, thorough schema, and safety annotations provides sufficient context for a list operation. It could mention pagination defaults or return format, but these are not required given the schema details and read-only annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 7 parameters with descriptions (100% coverage). The description's mention of filtering by bot, mode, and substring repeats the schema without adding additional semantic nuance, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists bot conversations filtered by bot, mode, and substring, and mentions it shows unread and operator-led dialogs. This distinguishes it from sibling dialog tools like dialogs_get or dialogs_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a listing tool but does not explicitly state when to use it vs alternatives or mention exclusions. It relies on the tool name and purpose to convey the use case, but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_replyОтветить собеседникуA
Отправляет сообщение человеку от имени бота — своим текстом или заготовкой из replies_list, при желании цитатой на конкретное сообщение (reply_to). По умолчанию диалог переходит в ручной режим и закрепляется за вами — сценарий перестаёт вести разговор, пока его не вернут (dialogs_update mode=bot). Бот должен быть запущен. Проверяйте поле «ошибка доставки» в ответе: сообщение сохраняется даже тогда, когда платформа его не приняла.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| text | No | Текст сообщения. 4096 — грубая верхняя граница на хранение, а не предел платформы: у Telegram он 4096, у MAX 3999, и с вложением у обеих свой предел подписи. Точные числа — operbots_catalog what=platforms; сверх своего предела панель откажет с указанием платформы. | |
| reply | No | Отправить заготовленный ответ: его название или идентификатор из replies_list. Вместо text, а не вместе с ним. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. | |
| reply_to | No | Ответить цитатой: id сообщения из dialogs_history. Служебные записи и уже удалённые сообщения цитировать нельзя — у собеседника их нет. | |
| take_over | No | Перевести диалог в ручной режим. По умолчанию да. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, which only mark the operation as read-write and non-idempotent, the description discloses that the dialog default switches to manual mode and gets assigned to the user, that the bot must be running, and that a delivery-error field may appear in the response because the message is saved even if the platform rejects it. This is valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core action appears in the first clause, followed by options, side-effect, prerequisites, and response caveat. Every sentence adds information, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and only basic annotations, the description covers the critical aspects: the bot must be running, the dialog's mode change, how to revert it, and how to interpret delivery errors. The response format is partially explained via the delivery-error field, which is necessary since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters are fully described in the schema (100% coverage), so the baseline applies. The description repeats the distinction that reply replaces text and mentions reply_to as an optional quote, but adds no new meaning beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action—sends a message to a person on behalf of the bot—and enumerates the supported variants (free text, saved template, quote). This clearly distinguishes it from siblings like dialogs_edit_message, dialogs_delete_message, and dialogs_update, which modify or manage dialogs rather than send new messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (reply when you want to send a message on behalf of the bot) and adds prerequisites (bot must be running) and a side-effect warning (conversation switches to manual mode). However, it does not explicitly name alternatives or state when not to use it, relying on inference rather than explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_reset_stageСнять разговор с шагаA
Освобождает разговор, застрявший на узле ожидания: сценарий ждёт ответа, которого не будет, и со стороны это выглядит молчащим ботом. После снятия следующее сообщение начнёт сценарий заново. Отложенные продолжения этого разговора снимаются заодно — они назначены от того же шага и сработали бы в пустоту.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations, adding rich behavioral context: the symptom the user sees (a silent bot), the side-effect of canceling deferred continuations with the rationale ('would fire into the void'), and the post-condition (next message restarts the scenario). This adds genuine value beyond the generic readOnlyHint/idempotentHint flags. No contradiction found — canceling scheduled continuations is inherent reset semantics, not destruction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The first sentence leads with the action and purpose, the second covers side effects and post-conditions. The vivid 'mute bot' and 'fire into the void' metaphors pack meaning into few words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with only two string parameters, no output schema, and no nested objects, the description is complete: it covers the trigger condition, the side effect, and the resulting behavior. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (case, dialog) are already well-documented in the schema with their formats and defaults. The description adds nothing about parameters, which is acceptable per the baseline of 3 given full schema coverage, but there is no extra value either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Освобождает' - frees/releases) and a specific resource (a conversation stuck at a wait node), clearly distinguishing it from sibling dialog tools like dialogs_list, dialogs_reply, or dialogs_delete. The real-world framing ('looks like a silently mute bot') makes the exact scenario unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear, specific context for when to use the tool: when a conversation is stuck at a wait node awaiting an answer that will never come. However, it does not name explicit alternatives or exclusions (e.g., 'use dialogs_delete if...'), so it falls just short of the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dialogs_updateНастроить диалогA
Меняет режим ведения (сценарий или оператор), отвечает ли ИИ, метки и закрепление. Перевод в режим bot возвращает разговор сценарию и снимает оператора. Заблокировать собеседника отсюда нельзя: блокировку приносит платформа, когда человек сам закрывает боту рот, — панель её только показывает.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| mode | No | bot — вернуть сценарию; operator — вести вручную. | |
| tags | No | Метки. Заменяют прежние целиком. | |
| dialog | Yes | Диалог: имя собеседника, @username, номер чата или идентификатор. | |
| pinned | No | Закрепить наверху списка. | |
| ai_enabled | No | Отвечает ли ИИ в этом диалоге. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false), the description discloses a non-obvious side effect: switching to bot mode returns the conversation to the scenario and removes the operator. It also clarifies a boundary—blocking is handled by the platform and only displayed here. This adds behavioral context the annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The main action is front-loaded in the first sentence, and the second sentence earns its place by clarifying a common misconception about blocking. Every word contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a settings-mutation tool with six parameters, the description covers purpose, the key mode side effect, and an explicit limitation, while annotations cover read-only/destructive/idempotent traits. It omits only minor details like response shape, acceptable because there is no output schema and the tool is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already well documented. The description mostly restates the schema's parameter purposes (mode, AI, tags, pinning) and adds only a small extra nuance about the bot-mode side effect. That does not elevate it above the baseline 3 for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb 'Меняет' and enumerates exactly which dialog settings are affected: mode (bot/operator), AI answering, tags, pinning. This clearly separates it from sibling dialog tools like dialogs_delete or dialogs_reply, which operate on the dialog itself or its messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete effect ('Перевод в режим bot возвращает разговор сценарию и снимает оператора') that helps an agent understand when to set mode=bot, and it explicitly states a non-goal: 'Заблокировать собеседника отсюда нельзя'. It names no alternative tools for the same configuration, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_deleteУдалить сценарийADestructive
Удаляет сценарий вместе со всей историей редакций. Восстановить нельзя. Если удалить работающий сценарий, бот останется без полотна. Публикация в маркете, если сценарий выложен, остаётся; снять её — market_unpublish.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. | |
| confirm_name | Yes | Точное название сценария — подтверждение удаления. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as destructive, but the description adds key behavioral detail beyond that: deletion removes the entire edit history, is irreversible, affects running bots, and does not unpublish from the marketplace. This is exactly the kind of consequence disclosure an agent needs before invoking a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the core action, the irreversible consequence, the operational warning, and the alternative tool. No filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 4-parameter tool with no output schema, the description covers the important consequences: history loss, irreversibility, effect on live bots, and marketplace publication behavior. The confirm_name safety mechanism is already documented in the schema, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description does not add extra parameter-level meaning, but the baseline of 3 applies because the schema handles the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: deletes a flow along with its entire revision history. It also distinguishes the scope from siblings by noting irreversibility and that marketplace publication is not removed, which separates it from flows_save and market_unpublish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear behavioral guidance: deleting is permanent, deleting an active flow leaves the bot without a canvas, and if the flow is published, the publication remains and must be removed separately via market_unpublish. This explicitly points to the relevant alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_exportВыгрузить сценарийARead-onlyIdempotent
Отдаёт сценарий одним объектом формата operbots.flow — тем же, что панель скачивает кнопкой «Скачать». Ответ приходит готовым JSON: его целиком передают в flows_import полем document или сохраняют копию рядом с кодом.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful behavioral detail beyond annotations by specifying that the response is ready-to-use JSON in the operbots.flow format and identical to the panel's download output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy: the first front-loads the core contract, the second explains how the result should be consumed. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only export with three well-documented parameters and no output schema, the description fully compensates by describing the response format and its intended downstream usage. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions, so the baseline is 3. The tool description does not add parameter-level detail, but none is needed given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a flow as a single operbots.flow object, matching the panel's Download button. It names the specific resource and output format, though it does not explicitly contrast itself with flows_get or other siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the intended downstream use: pass the JSON to flows_import via the document field or save it as a copy near code. This gives practical context for when to use the tool, but it does not explicitly state when not to use it or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_getОткрыть сценарийARead-onlyIdempotent
Сценарий целиком: все узлы с их параметрами, все связи и замечания к графу — связи в никуда, отсутствие триггера, недостижимые узлы.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, open-world, idempotent, and non-destructive. The description adds valuable context by specifying that the tool returns the entire graph along with diagnostics like 'connections to nowhere, missing trigger, unreachable nodes'. This goes beyond the safety profile provided by annotations and describes the tool's analytical behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise phrase that immediately states the tool's scope and content. It contains no unnecessary words or repetition, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple getter with no output schema, the description gives a solid overview of the returned data and even highlights diagnostic features. It does not cover error behavior or the optional 'case' parameter, but the schema and annotations cover most context, making it substantial enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions for bot, case, and flow. The tool description itself does not add any parameter-specific semantics, so a baseline score of 3 is appropriate for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Открыть сценарий' (Open scenario) combined with the description 'Сценарий целиком...' clearly identifies this as a getter for a complete flow graph. It explicitly lists what is returned (all nodes, parameters, connections, graph remarks) and thereby distinguishes it from sibling tools like flows_list, which likely provides a list of flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for retrieving full scenario details but does not explicitly state when to use it versus alternatives such as flows_list or flows_versions. The phrase 'Сценарий целиком' suggests detailed inspection, but no exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_importЗагрузить сценарий из выгрузкиA
Заводит сценарий из объекта, полученного через flows_export. Существующие не трогает: загруженный добавляется рядом, а при совпадении названий получает номер. Ссылки на ИИ-сервис и базу знаний исходного дела при переезде проверяются, и неразрешимые снимаются — о каждой снятой сказано в ответе.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| name | No | Своё название вместо записанного в выгрузке. | |
| document | Yes | Содержимое выгрузки целиком — то, что вернул flows_export. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (openWorldHint true, destructiveHint false), the description reveals that existing flows are left untouched, unresolved AI service and knowledge base links are removed, and each removal is reported in the response. This adds substantial behavioral detail not present in the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the main action, no redundant wording. Every sentence adds value and structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with a complex nested document parameter and no output schema, the description explains conflict resolution behavior and response content for link removals. It hints at the response but could be more explicit about the success return value, yet given the available annotations it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters have schema descriptions (100% coverage), and the description only adds context (e.g., the document is the whole export from flows_export) without giving deeper parameter-specific meaning. This aligns with the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a scenario from an export object obtained via flows_export ('Заводит сценарий из объекта, полученного через flows_export'). This distinguishes it from related tools like flows_save or flows_delete by focusing on the import-from-export use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage after flows_export and clarifies that existing flows are not overwritten and name conflicts get numbering, providing useful context. However, it does not explicitly contrast with flows_save for editing or specify when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_listСценарииARead-onlyIdempotent
Какие сценарии заведены, какой из них в работе и сколько в них узлов. Без параметра bot возвращает сценарии всего дела — со всех ботов сразу.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | No | Бот: название, @username или идентификатор. Без него — все боты дела. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds valuable behavioral details beyond annotations: it returns a list of flows with their operational status and node counts, plus the default fallback to all bots in the case when 'bot' is omitted. No contradictions; annotations and description align well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first states what the tool returns, the second clarifies the default scoping. Every word adds value, and it's immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with rich annotations and full schema descriptions, the description covers the essential usage context. It communicates return highlights and default behavior without over-explaining, which is complete for this tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains the 'bot' parameter's default behavior ('Без него — все боты дела'). The tool description reiterates this but adds no meaningful new parameter semantics. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists flows with specific contextual details ('какой из них в работе' for status, 'сколько в них узлов' for node counts). It also explains the default scoping behavior without the 'bot' parameter, effectively distinguishing it from single-flow retrieval tools like flows_get. This is a specific verb+resource+scope definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use it by explaining the behavior with and without the 'bot' parameter. It implicitly differentiates from flows_get/flows_export and others, though it doesn't explicitly name alternatives or exclusions. This meets the 'clear context, no exclusions' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_publishВключить или выключить сценарийA
Включает сценарий в работу — остальные сценарии бота при этом выключаются, активным может быть только один. Перед включением граф проверяется: связи на несуществующие узлы не дадут опубликовать. Выключение оставляет бота без полотна, и он перестаёт отвечать.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. | |
| active | No | true — включить (по умолчанию), false — выключить. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations indicating non-readonly, open world, non-idempotent, and non-destructive, the description adds crucial behavioral context: publishing disables all other flows, validation prevents publishing if there are links to non-existent nodes, and disabling leaves the bot without a canvas and unresponsive. These are significant consequences not disclosed in annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main verb and resource, and every sentence carries important information: enable/disable action, exclusivity, validation check, and disabling consequence. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description sufficiently covers the main behavior and side effects. It lacks details like return values (success/failure messages) or whether active defaults to true, but the schema already indicates 'active' default. Given the tool's moderate complexity, the description is complete enough, though a note about success/failure output would make it fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all four parameters have descriptions). The description adds context about validation and exclusive activation but doesn't add parameter-specific meaning beyond the schema. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: enabling/disabling a flow script, with the specific constraint that only one flow can be active at a time and turning off leaves the bot non-responsive. This distinguishes it from sibling flow tools (e.g., flows_save, flows_delete) and other bot controls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when this tool is used (publishing/enabling a flow) and a critical consequence of disabling (bot stops responding). It doesn't explicitly name alternatives, but the title and context make it clear this is for activation/deactivation, not editing or deleting. The 'only one active' rule is a strong usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_restoreВернуть редакциюA
Возвращает граф сценария к выбранной редакции. История не переписывается — поверх создаётся новая редакция. Если сценарий в работе, бот начнёт вести себя по-старому сразу.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. | |
| version | Yes | Номер редакции из flows_versions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: history is not rewritten and a new revision is layered on top, and the bot immediately behaves per the restored version if the scenario is live. Since annotations already cover safety, this extra context justifies a high score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The first sentence states the primary action, and the second adds key behavioral nuance, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 100% schema coverage and annotations providing safety context, the description adequately rounds out the tool by explaining side effects. It lacks only an explicit return-value description, but this is minor for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented. The description does not add any additional meaning to the parameters, aligning with the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool restores a scenario graph to a selected revision, using a specific verb and resource. It distinguishes itself from sibling tools like flows_save, flows_publish, and flows_versions by conveying the restore action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The behavior is described (new revision, immediate effect), but there is no explicit guidance on when to use this tool versus alternatives. Usage is implied by the purpose rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_saveСоздать или сохранить сценарийA
Без параметра flow создаёт сценарий — пустой, из переданного графа или копией другого (copy_of). С параметром flow перезаписывает его. Граф передаётся ЦЕЛИКОМ: чтобы поправить один узел, сначала прочитайте сценарий через flows_get и пришлите изменённый список полностью. Новая редакция создаётся, только если граф действительно изменился. Готовые сценарии — «Консультант с ИИ», «Заявка», «Запись на визит» и другие — здесь не создаются: их ставят из маркета через market_install. Сохранение не включает сценарий в работу — для этого есть flows_publish.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | No | Какой сценарий перезаписать. Не указывайте для нового. | |
| name | No | Название сценария. | |
| edges | No | Связи между узлами целиком. | |
| nodes | No | Узлы сценария целиком. | |
| comment | No | Комментарий к редакции. | |
| copy_of | No | Скопировать существующий сценарий вместо создания пустого. Название копии — в name; без него будет «… — копия». | |
| description | No | Описание. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only show readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds critical behavior: full-graph overwrite semantics, revision creation only on actual graph change, no activation on save, and exclusion of ready-made market templates. This goes well beyond annotation signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: mode selection, overwrite behavior, full-graph requirement, revision condition, market exclusion, and publish alternative. It is front-loaded with the core create/overwrite distinction and avoids repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 9-parameter tool with no output schema, the description covers all essential operational aspects: how to create, how to overwrite, how to edit existing flows safely, what not to use it for, and what related tool to use for activation. Nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaningful semantic context beyond the schema: the graph must be sent whole, new revisions are created only if the graph changed, and the flow parameter controls create-vs-overwrite mode. This is genuinely useful parameter-level guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates a flow when `flow` is omitted and overwrites when supplied, with distinct creation modes (empty, from graph, copy_of). It is easily distinguished from sibling tools like flows_publish and flows_get, which are explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use the tool, how to pass the graph whole, and points to alternatives: flows_get for reading before editing, market_install for ready-made flows, and flows_publish for activating a flow. No ambiguity about selection or workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_simulateПрогнать сценарийA
Проверяет сценарий, не выходя к платформе: какой триггер сработал, какие шаги прошли и что бот ответил бы. Диалог нигде не сохраняется, задержки пропускаются, запросы к внешним адресам и весточки в служебный чат не выполняются. Через variables можно подставить накопленное разговором — так проверяются ветки условий и подстановки. Внимание: узлы с ИИ обращаются к настоящей модели и расходуют её лимиты.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. | |
| text | No | Текст входящего сообщения. | |
| command | No | Команда без косой черты, например start. | |
| variables | No | Переменные разговора на момент прогона: {"город": "Москва"}. | |
| callback_data | No | Данные нажатой кнопки. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially enriches the annotations: it specifies that the dialog is not saved anywhere, delays are skipped, external requests and service-chat notifications are not executed, and — critically — that AI nodes call the real model and consume its limits. This last point explains why readOnlyHint=false despite the tool being a simulation, giving the agent an accurate cost/side-effect model that annotations alone could not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently organized: purpose is front-loaded in the first sentence, followed by a compact list of what is suppressed (saving, delays, external requests, notifications), then the variables usage tip, and finally the cost warning delivered with an explicit 'Внимание' marker. Every sentence carries distinct information, and the AI-limit caution is placed at the end where it reads as an important caveat rather than burying the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, a nested variables object, no output schema, and no annotation detail, the description is remarkably complete: it states the return-relevant results (trigger, steps, bot reply), enumerates exclusions, explains parameter usage for the trickiest param (variables), and discloses the real-world cost. It could go slightly further on what the simulated run returns structurally, but it compensates for the missing output schema better than most tool definitions at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3 with the schema carrying the load. The description adds genuine value beyond the schema by explaining the purpose of the variables parameter — substituting conversation-accumulated state to exercise conditional branches and substitutions — which the schema's bare example ('{"город": "Москва"}') does not convey. Other parameters receive no description-level additions, but the schema already documents them well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource combination — 'Проверяет сценарий, не выходя к платформе' — and concretely states what the agent gets out of it: which trigger fired, which steps executed, and what the bot would reply. It clearly distinguishes flows_simulate from sibling flow-management tools (flows_save, flows_publish, flows_delete) by framing it as a sandboxed test run rather than a platform operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: to verify conditional branches and substitutions by injecting accumulated conversation state via variables ('так проверяются ветки условий и подстановки'). It also communicates the safety profile so an agent knows it is the non-destructive option. It does not explicitly name alternatives or state when-not-to-use in favor of another tool, but the behavioral boundaries are clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flows_versionsИстория редакцийBRead-onlyIdempotent
Все сохранённые редакции сценария с комментариями и датами.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that results include comments and dates, giving some return-content context, but no details on pagination or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the main content, no redundant words. It could benefit from a verb, but structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with no output schema, the description provides the essential return content (all revisions with comments and dates) and annotations cover safety. However, it doesn't explain ordering, pagination, or the exact structure of each revision, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented. The description adds no parameter-specific context beyond what the schema provides; baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (saved revisions of a script) and implies a listing operation, but lacks an explicit verb. It doesn't distinguish from sibling tools like flows_list or flows_get, though 'редакции' clarifies it's about version history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as flows_get or flows_restore. The description only states what is returned, not when it should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invites_createСоздать приглашениеA
Делает ссылку для вступления в дело — в том числе для человека, который ещё не зарегистрирован в панели. Ссылку сервер никуда не отправляет: её нужно передать самому. Любой, у кого есть ссылка, войдёт в дело с указанной ролью.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| role | No | Роль для вступающего. По умолчанию «оператор». | |
| No | Ограничить приглашение одной почтой. Без этого ссылка сработает у кого угодно. | ||
| max_uses | No | Сколько раз можно воспользоваться ссылкой. По умолчанию 1. | |
| ttl_hours | No | Сколько часов ссылка действует. По умолчанию 72, максимум 720 (30 суток). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and idempotentHint=false, and the description adds meaningful context: the server does not send the link, and anyone with the link can join with the specified role. This goes beyond the annotations and helps the agent understand the tool's side effects and security implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action, and every clause adds value. It avoids redundancy and is well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 optional parameters and no output schema, the description should clarify the result. It implies the tool returns a link (since the server does not send it) but does not explicitly state the return format. It also omits any permission prerequisites, but overall it covers the essential behavior well for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal value to parameter understanding—it mentions 'specified role' but does not elaborate on the case default, email restriction, max_uses, or TTL. The schema already provides clear per-parameter descriptions, so the description is not required to repeat them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Делает ссылку для вступления в дело' (makes a link to join a case). It uses a specific verb and resource, and distinguishes from sibling tools like invites_revoke by focusing on creation. It also adds the important detail that it works for unregistered users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (to generate an invitation link) and clarifies that the server does not send the link, so the user must distribute it. However, it does not explicitly mention when not to use it or name alternative tools, though this is a straightforward create operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invites_revokeОтозвать приглашениеADestructive
Гасит ссылку-приглашение: перейти по ней больше не получится.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| invite_id | Yes | Идентификатор приглашения из members_list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior. The description adds useful context by specifying that the invitation link becomes unusable, which clarifies the exact impact of the operation beyond the generic destructive hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, directly stating the purpose and effect. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive tool, the combination of annotations (destructiveHint) and fully described parameters makes the description sufficient. It clearly communicates the core action and outcome without requiring additional detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are fully documented in the schema. The tool description adds no extra parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action with a specific verb 'Гасит' (revokes) and specifies the exact consequence: the invitation link will no longer work. This distinguishes it from related tools like invites_create and members_remove.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool or when to prefer alternatives. It simply describes the action without contextual cues about suitable scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_add_documentДобавить материалA
Кладёт в базу текст или страницу по ссылке. Разбор идёт в фоне: сразу после добавления материал в состоянии pending, проверьте его позже через knowledge_list. Повторный вызов создаёт дубликат, а не обновляет прежний материал.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Ссылка на страницу: панель скачает её и вырежет разметку. | |
| base | Yes | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| text | No | Текст материала. Нужен, если ссылка не задана. | |
| title | No | Название материала. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=false), the description discloses that processing is asynchronous (material starts in pending), and that repeated calls create duplicates. This adds meaningful behavioral context useful for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the primary action, followed by two important behavioral notes. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the key operational aspects: purpose, asynchronous behavior, duplicate prevention, and how to verify the result. It could mention edge cases like providing both text and URL, but overall it's sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented. The description's general statement about text or URL adds minimal new meaning; the per-parameter details are already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it adds text or a URL page to the knowledge base ("Кладёт в базу текст или страницу по ссылке"), using a specific verb and resource. It also implicitly distinguishes from update tools by emphasizing that repeated calls create duplicates, not updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides practical usage context: background parsing, pending state, and a suggestion to check via knowledge_list. It warns against using repeated calls for updating, though it doesn't explicitly name an alternative for updates (e.g., knowledge_save).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_deleteУдалить базу или материалADestructive
С параметром document удаляет один материал, без него — базу знаний целиком вместе со всеми материалами и векторами. Восстановить нельзя.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| document | No | Материал: название или идентификатор. Без него удалится вся база. | |
| confirm_name | No | Точное название базы — обязательно при удалении базы целиком. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description adds concrete behavioral details: deleting a base removes all its materials and vectors, and restoration is impossible. This gives the agent a clear and complete picture of the destructive consequences before invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences: the first front-loads the core operation and conditional behavior, and the second delivers the critical irreversibility warning. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the fully documented schema and the absence of an output schema, the description supplies the essential behavioral context: destructive scope, conditional operation, and irreversibility. No critical gaps remain for an agent to invoke this tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with descriptions, including the fact that omitting 'document' deletes the whole base. The description essentially restates this conditional behavior rather than adding new parameter-level meaning. Therefore, the high schema coverage keeps this at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('удаляет') and clearly distinguishes the two deletion modes: one material when 'document' is provided, or the entire knowledge base with all materials and vectors when it is not. This makes the tool's purpose and scope immediately understandable and distinct from sibling knowledge tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit conditional usage guidance: include 'document' to delete a single material, omit it to delete the whole base. It also warns that deletion is irreversible, helping the agent weigh caution. It does not explicitly name alternatives, but no direct deletion alternative exists among the siblings, so this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_documentМатериал целикомARead-onlyIdempotent
Материал с его текстом: что в нём написано на самом деле. Список материалов текста не отдаёт. Материал можно назвать по имени — идентификатор не обязателен. С chunks=true вдобавок покажет нарезку: те самые куски, которыми материал ляжет модели.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| chunks | No | Показать куски. По умолчанию нет: они повторяют текст и удваивают ответ. | |
| document | Yes | Материал: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering safety expectations. The description adds useful behavioral context: the material can be referenced by name ('Материал можно назвать по имени — идентификатор не обязателен') and that chunks=true reveals the chunking used for model ingestion. These insights go beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each delivering a distinct piece of information: the tool's purpose, a comparison to the list, and the optional chunks behavior. It is front-loaded with the core purpose and contains no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval tool with full parameter descriptions and safety annotations, the description is complete enough. It explains what the tool returns (the material's text), highlights the key usage context (list doesn't include text), and covers the optional chunks flag. It doesn't detail the return format or error handling, but given the simplicity and existing schema, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with clear descriptions for all four parameters. The description reinforces the name-or-ID flexibility for the document parameter and explains the chunks option, but these details are already present in the schema. Thus, the description adds minimal new semantic value beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately states the tool's core function: retrieving the full text of a material ('Материал с его текстом: что в нём написано на самом деле'). It also distinguishes itself from the material list, which does not include text, and mentions the optional chunks output. This is a specific verb+resource definition with clear differentiation from sibling tools like knowledge_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly contrasts this tool with the material list: 'Список материалов текста не отдаёт' (the list does not give the text), implying this tool should be used when the actual text is needed. It also explains when not to use chunks by default because they 'повторяют текст и удваивают ответ'. While it doesn't name all alternatives, it provides clear guidance for the primary alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_document_updateИзменить материалA
Правит название и текст материала. Изменённый текст сам уходит на пересборку — иначе бот отвечал бы по прежней нарезке. Вид источника и ссылку сменить нельзя: это уже другой материал. Для материала по ссылке refetch=true перечитывает страницу заново — страница забирается один раз, при добавлении, и дальше живёт снимком.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| text | No | Новый текст целиком — заменяет прежний. | |
| title | No | Новое название. | |
| refetch | No | Перечитать страницу по ссылке. Только для материала-ссылки. | |
| document | Yes | Материал: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals important non-obvious behavior beyond annotations: changed text triggers reassembly to prevent stale bot answers, and link materials live as snapshots unless refetch=true is used. This adds meaningful operational context and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four dense sentences, front-loaded with the primary action, and contains no filler. Every sentence earns its place by adding a distinct and useful piece of context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and moderate annotation richness, the description covers the operation scope, key constraints, reassembly behavior, and the refetch snapshot lifecycle. It is sufficiently complete for an agent to decide when and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds extra semantics for refetch (page fetched once at addition, then lives as snapshot) and for text (triggers re-slicing), which goes beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Правит название и текст материала' (edits the title and text of a material). This clearly distinguishes it from sibling tools like knowledge_add_document or knowledge_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: to edit an existing material's title/text, with automatic reassembly. It also explicitly states an exclusion — source type and link cannot be changed — and explains the refetch behavior for link materials, though it does not explicitly name alternative tools for those cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_listБазы знанийARead-onlyIdempotent
Без параметра base — все базы знаний дела с их настройками. С параметром base — ещё и список материалов с состоянием разбора.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, open-world, idempotent operation. The description adds meaningful behavioral context beyond that: it specifies that without 'base' it returns all knowledge bases with settings, and with 'base' it also returns a material list with parsing status. This gives the agent insight into output richness and conditional behavior, though it does not cover edge cases like empty results or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core behavior and then expands on the conditional variant. Every word contributes to understanding the tool's output and parameter effect, with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple optional-parameter structure, no output schema, and strong annotations, the description adequately explains what the tool returns under both invocation modes. It would benefit from mentioning return format details or pagination, but the provided information is sufficient for an agent to know what to expect in typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('base' and 'case'), so the schema already documents their meaning. The description adds conditional behavior tied to 'base', but this is more about output shape than parameter semantics. The 'case' fallback behavior is already documented in the schema, so the description does not significantly elevate parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool lists knowledge bases ('все базы знаний дела с их настройками') and optionally their materials when 'base' is provided. It distinguishes itself from sibling tools by detailing the conditional output scope, making the purpose specific and non-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining the behavior with and without the 'base' parameter, effectively telling the agent when to expect different result sets. It does not explicitly name alternative tools or exclusions, but the context is sufficient for choosing this tool over knowledge_search or knowledge_save.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_reindexПересобрать материалыA
Ставит материалы в очередь на повторный разбор. Нужно после смены размера куска или подключения к ИИ-сервису: старые фрагменты нарезаны по-прежнему. Без параметра document пересобирается вся база.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| document | No | Один материал: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool only queues materials for re-parsing ('ставит в очередь') and reveals a significant default behavior: 'Без параметра document пересобирается вся база' (without document, the entire base is rebuilt). This complements the annotations, which already mark the operation as non-read-only and non-idempotent; no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences long and front-loaded with the core action. The first sentence states what the tool does, and the second provides usage context and the document-omission default — every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, the description covers purpose, motivation, and default scope well. It does not explain the detailed effects on existing fragments or the final result of the reindex, but the queue semantics and full schema coverage make it sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all three parameters at 100%, providing a baseline of 3. The description adds valuable semantic context by specifying that omitting 'document' triggers a whole-base reindex, which is not stated in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Ставит материалы в очередь на повторный разбор' (puts materials in queue for re-parsing). This clearly identifies the tool's purpose and differentiates it from sibling knowledge tools, which list, save, search, or delete materials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit trigger conditions: 'Нужно после смены размера куска или подключения к ИИ-сервису' (needed after changing chunk size or connecting to an AI service), and explains why old fragments remain stale. It does not name alternatives or explicitly state when not to use the tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_saveСоздать или настроить базу знанийA
Без параметра base создаёт базу, с параметром — меняет её настройки. Для поиска базе нужно подключение к ИИ-сервису, умеющему считать векторы. Подключение можно сменить или снять (provider=null) только у пустой базы: векторы разных моделей несопоставимы. После правки размера куска старые материалы нужно пересобрать через knowledge_reindex.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Какую базу менять. Не указывайте, чтобы создать новую. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| name | No | Название базы. | |
| top_k | No | Сколько фрагментов подмешивать в ответ. По умолчанию 4. | |
| active | No | Включена ли база. Выключенная не ищет. | |
| provider | No | Подключение к ИИ-сервису для векторов: название или идентификатор. null — отвязать сервис от базы; после этого поиск не работает, пока не выбран новый. | |
| min_score | No | Порог близости: ниже него фрагмент не берётся. По умолчанию 0.25. | |
| chunk_size | No | Размер куска в символах. По умолчанию 900. | |
| description | No | Для чего она. | |
| chunk_overlap | No | Нахлёст между кусками. По умолчанию 120. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already say readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the mutation nature is declared. The description adds meaningful behavioral constraints not captured in the machine-readable annotations: created vs updated behavior depending on `base`, the empty-base restriction for changing/removing provider because vectors from different models are incompatible, and the need to rebuild chunks after changing chunk size via knowledge_reindex. No contradiction between description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences, each carrying important operational information. It front-loads the primary create/update distinction, then adds the critical constraints. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, 100% schema coverage, an output schema absent, and annotation hints present, the description is reasonably complete. It tells the agent the key conditional behavior, the vector-service requirement, the empty-base restriction, and the reindex follow-up. A minor gap: it doesn't explain what happens regarding the `active` flag or defaults, but those are covered by the schema. The open-world hint and no required parameters align with the flexible create-or-update nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover 100% of parameters, so the baseline is 3. The description adds value by explaining the crucial conditional behavior of `base` (omit to create, specify to update), which is not fully captured by the parameter description alone, and by relating `provider` to the vector-service requirement and `chunk_size` to the reindex action. However, it doesn't describe each parameter individually; the schema does that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: with no `base` parameter it creates a knowledge base, with `base` it modifies its settings. This distinguishes it from sibling knowledge tools like knowledge_list, knowledge_reindex, knowledge_search, knowledge_delete, and knowledge_add_document. The verb is explicit ('создаёт', 'меняет') and the resource (base of knowledge) is named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use it without `base` (create) versus with `base` (configure), and it references the sibling `knowledge_reindex` for the case when chunk_size is changed. It also gives conditions: provider can be changed or removed only on an empty base, and the AI-vector-service connection requirement for search. This is clear enough for an agent to select this tool and avoid mistakes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_searchПроверить поиск по базеARead-onlyIdempotent
Показывает, какие фрагменты база подставит модели в ответ на такой вопрос. Так проверяют, что материалы разобраны и порог близости выбран верно. Если база выключена или векторы не считаются, ответ будет пустым без ошибки.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | База знаний: название или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| limit | No | Сколько фрагментов вернуть. По умолчанию 4. | |
| question | Yes | Вопрос, как его задал бы человек. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only, open-world, idempotent, and non-destructive annotations, the description adds a crucial behavioral nuance: if the base is disabled or vectors are not computed, the response will be empty without an error. This prevents misinterpretation of empty results and significantly enhances transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first sentence front-loading the core purpose and the second adding both the use case and an important edge-case behavior. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough for a search/debug tool: it explains what is returned, how it is used, and a key failure mode. It does not detail the output structure (e.g., whether fragments include scores or metadata), but given the simple purpose and rich schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all four parameters, including defaults and constraints. The tool description adds no parameter-level details beyond what is in the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Показывает' = shows) and identifies the resource (which fragments the knowledge base will provide to the model for a given question). This clearly distinguishes it from sibling tools like knowledge_list, knowledge_save, or knowledge_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: to verify that materials are parsed and the similarity threshold is correctly chosen. It does not mention alternatives or exclusions, but the intended use case is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_getКарточка публикацииARead-onlyIdempotent
Публикация целиком: описание, состав сценария, история версий и, с параметром case, где в этом деле она уже стоит. С with_graph отдаёт и сам граф — посмотреть узлы до установки.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| item | Yes | Публикация в маркете: название, короткое имя (slug) или идентификатор. | |
| with_graph | No | Показать граф сценария целиком. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint true and destructiveHint false, so the bar is lower. The description adds useful behavioral detail by specifying what the card contains and that with_graph includes the graph itself. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The core content is front-loaded ('Публикация целиком') and every clause contributes useful information about the response or parameter behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with three parameters, the description covers the main contents of the returned card and the optional graph. It is moderately complete, though it does not explicitly state the output format or the default value of with_graph, which is left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have baseline descriptions. The tool description adds value beyond the schema by clarifying that case controls whether the response shows existing usage in a case and that with_graph returns the graph for pre-install inspection, enriching the meaning of these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (публикация) and enumerates exactly what the tool returns: description, script composition, version history, and optional case usage. It stops short of a strong verb and does not explicitly distinguish itself from market_list, but the scope is very clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete use case for with_graph ('посмотреть узлы до установки') and explains the effect of the case parameter. However, it does not mention when to prefer this tool over market_list, market_install, or flows_get, leaving the choice of tool largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_installУстановить из маркетаA
Ставит публикацию боту новым сценарием — рядом с существующими, ничего не заменяя и не включая в работу (для этого flows_publish). Ссылки на чужие подключения из графа снимаются; узлам «Ответ ИИ» передайте provider и knowledge_base, иначе они отвечают пустотой или «из головы». Чего требует сценарий, видно в market_get, поле «нужно». Повторная установка той же публикации даёт ещё одну копию — так обновляют до свежей версии.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| item | Yes | Публикация в маркете: название, короткое имя (slug) или идентификатор. | |
| name | No | Своё название вместо названия публикации. | |
| provider | No | Подключение к ИИ для узлов «Ответ ИИ»: название или идентификатор. | |
| knowledge_base | No | База знаний для узлов «Ответ ИИ»: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses critical behaviors beyond the annotations: foreign connection links are stripped, AI 'Answer' nodes require provider and knowledge_base to avoid empty or off-topic responses, and repeated installation yields an additional copy. These details align with and enrich the annotations (idempotentHint=false, readOnlyHint=false, destructiveHint=false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences long and information-dense, with the core purpose front-loaded and important caveats following. It is slightly longer than strictly necessary, but every sentence contributes operational value, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (six flat parameters, two required, no output schema), the description covers key behavioral caveats and points to market_get for requirement checks. It does not describe the return value, but that is not critical for correct invocation, especially in absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters. The description adds little parameter-specific meaning beyond contextualizing provider and knowledge_base for AI nodes, which is useful but not essential given the schema's clarity. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Ставит публикацию боту новым сценарием' (installs a publication to the bot as a new scenario). It also explicitly differentiates itself from flows_publish by stating this action does not enable the scenario in work, which makes the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives direct routing guidance: use flows_publish when you want the scenario enabled, and use market_get to check required fields. It also explains that reinstalling the same publication creates a fresh copy, which is the intended update path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_likeЛайк публикацииA
Поставить или снять лайк публикации от своего имени.
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Публикация в маркете: название, короткое имя (slug) или идентификатор. | |
| liked | No | true — поставить (по умолчанию), false — снять. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint false). The description adds context that the like is toggled on behalf of the authenticated user and can be both set and removed, but it does not disclose potential side effects or response behavior. No contradiction with the annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence with no filler or redundant context. The core action and the acting identity are front-loaded, making it instantly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two simple parameters and no output schema, the description plus schema provides enough to invoke the tool correctly. The 'from one's own name' nuance adds useful context, though return-value/error behavior is not described — a minor gap given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters with 100% coverage, so the description does not need to repeat them. The description adds no parameter-specific meaning beyond naming the target publication, keeping it at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Поставить или снять лайк публикации от своего имени' states a specific action (set or remove a like) on a specific resource (a marketplace publication). This clearly distinguishes it from sibling marketplace tools such as market_publish or market_update, which do not involve liking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool instead of alternatives, nor does it name exclusions. However, the action is self-evident — an agent can infer it should be used when the user wants to like or unlike a publication. The phrase 'от своего имени' offers a light hint that the operation is performed under the user's own identity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_listМаркет сценариевARead-onlyIdempotent
Каталог готовых сценариев: от проекта и опубликованные другими делами. Поиск по названию и описанию, отбор по разделу, платформе, источнику и потребности в ИИ или базе знаний. С параметром case у каждой публикации видно, стоит ли она уже в этом деле и не отстала ли от свежей версии. Установка — market_install.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| mine | No | Только публикации этого дела — то, что выложили сами. | |
| sort | No | popular — по установкам (по умолчанию), new — свежие, likes — по лайкам. | |
| limit | No | Сколько записей вернуть, максимум 100. По умолчанию 30. | |
| query | No | Что искать в названии и описании. | |
| offset | No | Сколько записей пропустить. | |
| source | No | project — от проекта operbots, community — опубликованные делами. | |
| category | No | Раздел маркета. | |
| needs_ai | No | Есть ли в сценарии узлы с ИИ. | |
| platform | No | Только сценарии, годные для этой платформы. | |
| needs_knowledge | No | Нужна ли сценарию база знаний. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds real behavioral value: it reveals that with the case parameter each publication shows whether it is already installed in that case and whether it is behind the current version, and it discloses that the catalog mixes project and community sources — context the annotations and schema do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences cover an 11-parameter tool efficiently, with the core purpose front-loaded in the first sentence. The middle sentence summarizing search/filter capabilities partially duplicates what the schema already documents, and the final sentence packs both the case behavior and the market_install pointer, but there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter tool with no output schema, the description answers the key operational questions: what the catalog contains, what filters exist, how the case parameter changes results, and which sibling handles installation. The main gap is that with no output schema present, the return-value shape of a listed publication is not described, though the annotations fully cover the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description groups the filter parameters (category, platform, source, needs_ai, needs_knowledge) into a capability summary and, more usefully, explains the case parameter's effect on results (install status and version freshness), which goes beyond the schema's identity-focused description of case. For the remaining parameters the schema already carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Каталог готовых сценариев' (catalog of ready-made scripts), clearly identifying the resource and the listing function, and states the catalog spans project and community publications. It names market_install as the installation path, distinguishing this read/catalog tool from that sibling, though the operating verb is implied ('каталог') rather than explicit and no distinction is drawn against other market_* siblings such as market_get or market_like.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing clause 'Установка — market_install' explicitly routes installation intent to a named alternative, which is a genuine usage signal. However, no guidance is given for the other market_* siblings (market_get for fetching a single publication, market_like, market_publish, market_update, etc.), and when-not conditions beyond installation are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_publishВыложить сценарий в маркетA
Публикует сценарий дела в маркете: карточку и граф текущей редакции увидят все пользователи панели и смогут поставить себе. Ссылки на подключения и базы знаний снимаются, а вот текст в настройках узлов — адреса, подписи, ключи, вписанные руками, — уходит как есть: проверьте граф через flows_get. Название дела на карточке не показывается, пока не разрешить show_origin. Нужно право market.publish. Правки после публикации — market_release (новая версия) и market_update (карточка).
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий: название или идентификатор. | |
| title | Yes | Название публикации. | |
| summary | Yes | Одна строка о том, что делает сценарий. | |
| category | No | Раздел маркета. По умолчанию other. | |
| description | No | Подробное описание. | |
| show_origin | No | Подписать карточку названием дела. По умолчанию нет — оно может быть именем клиента. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond annotations: links to connections and knowledge bases are stripped, manually entered addresses/keys are published as-is, the case name is hidden unless show_origin is set, and the result is visible to all panel users. No contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, each earning its place: visibility scope, data sanitization warning, privacy caveat, permission and follow-up tools. No filler or redundant restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 8 parameters, no output schema, and sparse annotations, the description covers pre-flight checks, side effects, privacy concerns, permission requirements, and the post-publication update path. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, which sets the baseline at 3. The description adds value by clarifying show_origin semantics (case name hidden until enabled) and implicitly tying flow to the current revision's graph. Other parameters are fully documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: publishes a case scenario to the market, making the card and graph visible to all users and installable. It also differentiates itself from sibling market tools by explicitly naming market_release and market_update for post-publish edits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use guidance: warns to verify the graph via flows_get before publishing due to unsanitized node text, states the required market.publish permission, and directs edits after publication to market_release and market_update. This clearly positions the tool relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_releaseВыпустить новую версиюA
Обновляет граф публикации до текущей редакции сценария и поднимает номер версии. Уже установленные копии у других не меняются — у них появится пометка, что доступна свежая версия. Если граф с прошлой версии не менялся, панель откажет.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий, который выложен в маркет: название или идентификатор. | |
| comment | Yes | Что изменилось в этой версии. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: existing installed copies of other users are not changed and only receive an update-available marker. It also discloses that the operation will be refused if the graph has not changed, which is valuable non-obvious behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the primary action, and every sentence adds useful information about effects or constraints. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no output schema, the description covers the main outcome, side effects on installed copies, and a key failure condition. It could add explicit prerequisites or return behavior, but the provided details are sufficient for correct invocation in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter documentation coverage is 100%, so the schema already fully documents bot, case, flow, and comment. The description adds no extra parameter-level meaning, which is acceptable given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it updates the publication graph to the current scenario revision and bumps the version number. It is clearly about releasing a new version rather than installing or deleting, though it does not explicitly name sibling tools to differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied: call this when you want to ship a new version of a previously published scenario. It does not explicitly state when to prefer this over market_publish or market_update, but it does mention a refusal condition when nothing changed, which gives some when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_unpublishСнять публикациюADestructive
Убирает публикацию из маркета вместе с историей версий, лайками и счётчиком установок; вернуть их нельзя — повторная публикация начнётся с версии 1. Уже установленные копии у других дел остаются. Сам сценарий в деле не трогается.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий, который выложен в маркет: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides substantial behavioral context beyond the destructiveHint annotation: it discloses irreversibility, reset of version history, loss of likes and install counters, persistence of already installed copies, and that the flow itself is not removed. This is exactly the kind of detail an agent needs before invoking a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each adding distinct value: the core action and destructive scope, the irreversibility and version reset, then the non-affected elements. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive nature and the absence of an output schema, the description covers all essential decision-making information: what is lost, what cannot be undone, what remains, and what is untouched. An agent can predict the operation's effects without needing external context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters already documented. The description reinforces that 'flow' refers to the marketplace-published scenario but does not add meaningful detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: removing a publication from the marketplace. It goes beyond a tautology by specifying what is removed — history, likes, install counter — and clearly differentiates the action from siblings like market_publish and market_release.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies use when you need to permanently remove a marketplace publication, and it explains the consequences. However, it does not explicitly contrast with sibling tools such as market_release or market_update, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_updateПравить карточку публикацииA
Меняет карточку публикации — название, описание, раздел, подпись делом. Граф не трогает: для него market_release.
| Name | Required | Description | Default |
|---|---|---|---|
| bot | Yes | Бот: название, @username или идентификатор. | |
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| flow | Yes | Сценарий, который выложен в маркет: название или идентификатор. | |
| title | No | Название публикации. | |
| summary | No | Одна строка о сценарии. | |
| category | No | Раздел маркета. | |
| description | No | Подробное описание. | |
| show_origin | No | Показывать ли название дела на карточке. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate that this is a mutating, non-idempotent, non-destructive operation. The description adds a useful behavioral boundary: it does not touch the graph, and market_release is for that. However, it does not disclose side effects, permission requirements, or whether the update is partial or full replacement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the action and fields, then adds the crucial sibling distinction. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter update tool with a fully documented schema and no output schema, this description provides enough selection context: what is edited, what is not touched, and which sibling to use instead. It could mention return behavior or update semantics, but nothing essential for correct tool selection is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description paraphrases a few fields (title, description, category, show_origin) but adds no new semantic detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Меняет карточку публикации' (changes the publication card) and enumerates the affected fields (название, описание, раздел, подпись делом). It also explicitly distinguishes itself from market_release, so an agent can tell this tool apart from its closest sibling without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear when-not-to-use signal: for graph changes it points to market_release instead. It does not discuss broader alternatives like market_publish or mention prerequisites, but the core routing between update and release is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_listУчастники, роли и приглашенияARead-onlyIdempotent
Кто состоит в деле, с какой ролью и какими итоговыми правами; какие роли заведены в деле и какие ссылки-приглашения действуют. Разделы, на которые не хватает прав, помечаются как недоступные.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| with_permissions | No | Показывать полный список прав каждого участника. По умолчанию нет. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds a useful behavioral detail: sections lacking permissions are marked as unavailable. This goes beyond the annotations and helps the agent understand partial access scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, the first listing the three output categories (members, roles, invitations), the second adding a single limitation note. Every word earns its place, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with full annotations, the description is nearly complete. It covers the primary output categories and a key permission-related behavior. Minor omissions like pagination or exact return format are not critical given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (case, with_permissions) are fully documented in the schema. The description's phrase 'with what final rights' overlaps with the with_permissions parameter but does not add new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a read operation for case members, roles, and invitation links, enumerating the specific data returned. It distinguishes itself from mutation siblings like members_save, roles_delete, and invites_create by focusing on listing current state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read-only query context via its listing content and the readOnly annotations. However, it does not explicitly state when to use this tool over alternatives or provide exclusion criteria. The sibling set and annotations make the context clear, but the description alone lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_removeИсключить участникаADestructive
Убирает человека из дела. Он теряет доступ ко всем ботам, сценариям и переписке дела. Владельца исключить нельзя.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| member | Yes | Кого исключить: почта, имя или идентификатор участия. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the destructiveHint annotation by detailing the exact consequences: the removed person loses access to all bots, scenarios, and case correspondence. It also discloses the owner limitation, which is important behavioral information not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, with the primary action stated first and the consequences/constraints in the second. It is concise, well-structured, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains the purpose, consequences, and a key restriction. Given the simple tool with only two parameters and no output schema, it provides sufficient context for selection and invocation. It omits error handling details, but those are not essential for a user deciding to use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for both parameters (case and member), and the tool description does not add any additional parameter-specific details. With 100% schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: removing a person from a case. It uses a specific verb ('убирает') and resource ('человека из дела'), and the context about losing access distinguishes it from other member-related tools like members_list or members_save.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context on when to use the tool (to revoke a person's access to a case) and includes a critical restriction (the owner cannot be excluded). However, it does not explicitly mention alternatives like members_save, so it lacks direct when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_saveДобавить участника или изменить его праваA
Без параметра member добавляет в дело уже зарегистрированного человека по почте. С параметром member меняет его роль и точечные права поверх роли. Если человек ещё не зарегистрирован, создайте ссылку-приглашение через invites_create.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| note | No | Служебная пометка об участнике. | |
| role | No | Роль: название, короткое имя или идентификатор. Готовые: owner, admin, builder, operator, observer. По умолчанию при добавлении назначается «оператор». | |
| No | Почта того, кого добавляем в дело. | ||
| member | No | Кого менять: почта, имя или идентификатор участия. Не указывайте для добавления. | |
| extra_permissions | No | Права поверх роли. Заменяет прежний список целиком. | |
| revoked_permissions | No | Права, отбираемые у участника вопреки роли. Заменяет прежний список целиком. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutating, non-idempotent operation. The description adds useful behavioral context by describing the two operational modes and the precondition that the person must already be registered. It does not disclose every side effect, but the annotations lower the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler. The primary behavior is front-loaded, the parameter-dependent mode is explained, and the alternative routing is provided efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 optional parameters and no output schema, the description covers the core decision logic and points to the correct sibling for the unregistered case. It does not repeat what the rich schema already documents, so enough context is provided for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds semantic value beyond the schema by explaining the conditional relationship between member and email/role, making it clear that member selects an existing participant while email identifies the person being added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action and resource: adding an already registered person to a case or changing an existing member's role/permissions. It clearly distinguishes the two modes via presence of the member parameter and names the related sibling invites_create for the unregistered case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use the tool: without member for adding, with member for modifying. It also gives a direct when-not and alternative: if the person is not registered, use invites_create instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operbots_catalogСправочники панелиARead-onlyIdempotent
Что можно использовать при сборке: платформы с их пределами, виды узлов сценария с полным составом их настроек, разделы маркета, виды ИИ-сервисов с нужными ключами и каталог прав. Готовые сценарии ищите в маркете: market_list и market_install. Смотрите node_kinds перед тем, как собирать или править сценарий: config каждого узла описан именно там — и передавайте platform: сами узлы у платформ одни и те же, а варианты в их настройках разные (у MAX нет разметки MarkdownV2 и голосового среди вложений).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Показать подробно только один вид: например action.ai или openai. | |
| what | Yes | Какой справочник показать. | |
| platform | No | Для node_kinds: под какую платформу отобрать варианты настроек. Без него придёт полный набор, и сценарий можно собрать с вариантом, которого у платформы бота нет. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already fully cover the safety profile (readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavioral context: nodes are shared across platforms while settings variants differ ('сами узлы у платформ одни и те же, а варианты в их настройках разные'), with a concrete example (MAX lacks MarkdownV2 and voice attachments), plus the fact that each node's config is documented in node_kinds. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with zero filler: content scope first, then alternative routing, then the critical platform caveat. Every clause earns its place, and the most actionable guidance (check node_kinds, pass platform) is positioned prominently rather than buried at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only catalog tool with 3 parameters and no output schema, the description covers the catalog contents, when to use it, when not to (market tools for ready scripts), and a key filtering pitfall. The only gap is the lack of a concrete return-shape description per catalog type, though hints like 'полным составом их настроек' and 'с нужными ключами' partly compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (what, kind, platform) are already documented in the input schema. The description reinforces the platform parameter's purpose with the MAX example and mentions config-per-node, but it adds no new parameter-level semantics beyond what the schema states, keeping it at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what the catalog provides — 'платформы с их пределами, виды узлов сценария с полным составом их настроек, разделы маркета, виды ИИ-сервисов с нужными ключами и каталог прав' — making the resource scope explicit and concrete. It also differentiates the tool from siblings by explicitly directing ready-script needs to market_list and market_install, so an agent can tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is present: 'Смотрите node_kinds перед тем, как собирать или править сценарий' tells the agent to consult this tool before assembling or editing any script. It also names the alternative for ready-made scripts ('Готовые сценарии ищите в маркете: market_list и market_install') and instructs the agent to pass platform to avoid selecting settings variants unsupported by the target platform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operbots_loginПодключиться к панелиA
Открывает окно для адреса панели и токена доступа. Токен выпускается в самой панели: аккаунт → Интеграции → «Выпустить токен», и показывается там один раз. Вводит его человек, в переписку он не попадает. Вызывайте, когда другие инструменты сообщают, что доступ не настроен или токен больше не действует.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Адрес панели, если он известен. Иначе его спросят в окне. | |
| switch_account | No | Подключиться заново, даже если доступ уже настроен. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by explaining the interactive flow: a window opens, a human enters the token, and the token never appears in correspondence. Annotations do not contradict this, and the added context about human involvement and token handling is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the first sentence states exactly what the tool does, followed by essential token-handling and usage guidance. No fluff or unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose, triggering context, and a key security/behavioral detail about token privacy. With no output schema, it might have said what the tool returns on success/failure, but the entry flow is well clarified and enough for this auth setup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (url and switch_account), with 100% coverage. The tool description doesn't add extra parameter-level detail, so the baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool opens a window for entering a panel URL and access token. It distinguishes itself from siblings (e.g., operbots_logout, bots_reveal_token) by focusing specifically on initial auth setup and re-authentication when access is missing/expired.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to invoke the tool: when other tools report that access is not configured or the token is no longer valid. It does not contrast it with all alternatives, but this is sufficient guidance for the primary use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operbots_logoutЗабыть доступ на этой машинеADestructive
Стирает сохранённый токен с этой машины. Сам токен при этом продолжает действовать — чтобы он перестал работать везде, отзовите его в панели: аккаунт → Интеграции.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the token is not revoked server-side, a key behavior beyond the annotations. It clarifies that the action is local and non-reversible through this tool, significantly aiding user expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two-sentence description is concise and front-loaded, stating the core action first and adding essential nuance in the second sentence without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, output-less tool, the description fully covers functionality, side effects, and the path to full revocation. It leaves no critical questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline of 4 applies as there are no parameter details to elaborate on, and the description need not compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool erases a saved token locally, using the verb 'erase' and specifying the resource ('saved token') and scope ('on this machine'). It also distinguishes itself by noting the token remains valid, setting it apart from revocation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage when the user wants to log out on this machine only, and explicitly directs to the panel for full revocation. While it doesn't name sibling tools, the alternative path is clearly outlined, providing adequate when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replies_deleteУдалить заготовку ответаADestructive
Убирает заготовку из списка. Отправленные по ней сообщения остаются в переписке — исчезает только сама заготовка.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| reply | Yes | Заготовка: название или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the tool as destructive and non-read-only, and the description adds the crucial behavioral nuance: only the template is removed, while previously sent messages remain unaffected. This is exactly the kind of contextual detail an agent needs beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no redundancy. The primary effect is stated first, followed by an important clarifying side-effect boundary. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with a required reply parameter and an optional case parameter, the description plus schema fully covers what the tool does, what is affected, and what remains. No output schema is needed for this operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with full descriptions, so the description does not need to repeat them. It adds no hidden semantics beyond the schema, which is acceptable given the 100% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Убирает') with a clear resource ('заготовку из списка') and adds a scoping detail: sent messages remain, only the template itself disappears. This clearly distinguishes it from other delete-like siblings such as cases_delete or dialogs_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended use clear: it removes a reply template without deleting the messages sent using it. It does not explicitly name alternatives or exclusion conditions, but the context and sibling naming make the appropriate selection evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replies_listЗаготовки ответовARead-onlyIdempotent
Заготовленные ответы оператора: приветствие, реквизиты, «уточню и вернусь». Порядок — по частоте вставки, нужное каждый день сверху. Отправить заготовку в разговор: dialogs_reply reply=«название».
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavior beyond those: replies are ordered by insertion frequency with the most frequently used at the top, and it explains the relationship to dialogs_reply. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences accomplish purpose, ordering behavior, and cross-tool routing with no filler. The most important information is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with one optional, fully documented parameter and no output schema, the description is complete: it states what the list contains, how it is ordered, and how to send a listed reply elsewhere. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the optional 'case' parameter, including default behavior when it is omitted. The description itself does not add further parameter detail, so with 100% schema description coverage the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies replies_list as listing operator canned responses ('Заготовленные ответы оператора') with concrete examples. It is easily distinguished from siblings like replies_save, replies_delete, and dialogs_reply by naming the action and cross-referencing the send operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description communicates when to use this tool (to view pre-prepared operator replies) and even points to the alternative for sending a reply: dialogs_reply reply=«название». It does not explicitly state exclusion conditions versus replies_save/replies_delete, but the listing purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replies_saveСохранить заготовку ответаA
Без параметра reply заводит новую заготовку, с ним — правит существующую. Название нужно, чтобы заготовку было чем позвать; без него панель обойдётся, но в списке она станет безымянной.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| text | No | Текст ответа. 4096 — грубая верхняя граница, а не предел платформы: свой предел у каждой, см. operbots_catalog what=platforms. | |
| reply | No | Какую заготовку править: название или идентификатор. Не указывайте для новой. | |
| title | No | Название заготовки. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only indicate non-read-only and non-idempotent behavior, so the description carries the burden of explaining side effects. It discloses that the tool branches between create and update semantics and explains what happens if title is omitted, which adds useful behavioral detail beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences deliver the core behavior and the most important parameter nuance without wasted words. The create/edit distinction is front-loaded, and the title guidance is succinctly explained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with full schema parameter documentation, covers the essential decisions: whether to create or edit, how to identify the template, and what happens if title is missing. There is no output schema and no mention of return values, but for a simple save operation this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters with descriptions, so the baseline is 3. The tool description adds extra meaning by explaining that the title is needed to invoke the template later and that omitting it results in an unnamed list entry, and by tying the reply parameter to the create/edit distinction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's core behavior: without the reply parameter it creates a new reply template, and with it edits an existing one. It names the resource (заготовка ответа) and distinguishes the two operational modes, which differentiates it from siblings like replies_list and replies_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use each mode: omit reply to create a new template, provide reply to edit an existing one. It does not explicitly name alternative tools or exclusion conditions, but the context is clear enough for the agent to choose the correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roles_deleteУдалить рольADestructive
Удаляет роль дела. Готовые роли удалить нельзя, и роль с участниками — тоже: сначала переведите людей на другую роль.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| role | Yes | Роль: название, короткое имя или идентификатор. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with destructiveHint=true, the description adds critical behavioral context: pre-made roles cannot be deleted, and roles with participants must be emptied first. This goes beyond the annotation to disclose failure conditions and required preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences: the first states the action, the second lists restrictions and a prerequisite. Every word earns its place, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two well-documented parameters, no output schema, and existing annotations, this description is complete. It covers purpose, restrictions, and a necessary precondition, giving the agent everything needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with clear descriptions for both parameters (case and role). The tool description does not add any parameter-specific semantics beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Удаляет роль дела' (Deletes a case role). It uses a specific verb and resource, and is distinct from sibling tools like roles_save and cases_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit conditions for when the tool cannot be used (pre-made roles and roles with participants) and instructs a prerequisite action ('first move people to another role'). However, it does not explicitly name alternative tools, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roles_saveСоздать или изменить рольA
Заводит в деле свою роль с нужным набором прав или меняет существующую. Готовые роли (владелец, администратор, конструктор, оператор, наблюдатель) правке не поддаются — укажите copy_of, чтобы сделать копию пресета и настроить её.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| name | No | Название роли. | |
| role | No | Какую роль менять. Не указывайте, чтобы создать новую. | |
| accent | No | Цвет метки роли. | |
| copy_of | No | Скопировать эту роль (обычно готовый пресет), чтобы править копию. | |
| position | No | Порядок в списке ролей. | |
| description | No | Описание роли. | |
| permissions | No | Набор прав. Заменяет прежний целиком, а не дополняет его. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a write operation (readOnlyHint=false, destructiveHint=false). The description adds genuinely useful behavior beyond annotations: preset roles are immutable and require copy_of to be configured. There is no contradiction between the description and the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with purpose front-loaded and the critical preset/copy_of caveat delivered immediately after. There is no filler; every clause earns its place, and the structure leads with the action before the constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 8 optional parameters and no output schema, the description covers the hardest part — preset immutability and the copy_of path — and the schema covers all parameters. However, it does not state what a successful call returns, does not warn about side effects on members already holding the edited role, and gives no hint of required-fields expectations for creation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is individually documented and the baseline is 3. The description adds modest cross-parameter reasoning by linking copy_of to the preset restriction, but the schema already explains 'role' ('Не указывайте, чтобы создать новую') and 'copy_of' ('обычно готовый пресет') — the description contributes little semantic content beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Заводит в деле свою роль с нужным набором прав или меняет существующую' — creates a custom role in a case or modifies an existing one. It also clarifies what the tool is not for by calling out that preset roles (владелец, администратор, конструктор, оператор, наблюдатель) cannot be edited, which separates this from roles_delete and other *_save siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use it to create a custom role or edit an existing one, with an explicit exclusion — 'Готовые роли ... правке не поддаются' — and a prescribed workaround via copy_of. It stops short of a 5 because it never names alternative tools (e.g., roles_delete for removal) and leaves the create-vs-update decision to the schema's 'role' parameter note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sessions_listУстройства с входом в панельARead-onlyIdempotent
Браузеры и другие устройства, где выполнен вход в панель под этой учётной записью. Токены доступа сюда не попадают — их видно в панели, в разделе «Интеграции».
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds valuable context by clarifying that access tokens are not listed and where to find them, which goes beyond what annotations provide. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with only two sentences that each add value. The first sentence introduces the purpose, and the second clarifies an exclusion, both essential for correct usage without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema) and the presence of clear annotations (readOnly, idempotent), the description fully covers what an agent needs to understand the tool's functionality and boundaries. It is complete for this simple case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100%, meaning no parameter info is missing. The description adds no parameter meaning because there are none, but the baseline for 0-parameter tools is 4, as there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool lists browsers/devices logged into the panel under the account, using a specific verb and resource. It differentiates from siblings by explicitly excluding access tokens, which helps distinguish it from tokens-related tools like bots_reveal_token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (to view logged-in devices) but does not explicitly state when not to use it or mention alternatives. It provides context about what is not included (access tokens), but lacks direction on when to use other tools for token management.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sessions_revokeЗавершить вход на устройствеADestructive
Завершает сессию по идентификатору из sessions_list — устройство выкинет из панели. На токены доступа не влияет.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Идентификатор сессии из sessions_list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false. The description adds valuable context that the device is kicked out of the panel and that access tokens remain unaffected, going beyond the annotation flags without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with clear front-loading: the action and source are stated first, followed by a critical behavioral note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, annotations covering destructive behavior, and an explicit note about token impact, the description fully covers the essential context. No output schema is needed for this simple revoke action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description already explains the session_id source. The tool description merely repeats the same information, adding no new semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ends a session by ID from sessions_list, using specific verb 'Завершает' and resource 'сессию'. It distinguishes from siblings like sessions_list (which lists sessions) and account_update, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the prerequisite (get ID from sessions_list) and a key usage nuance (does not affect access tokens). However, it doesn't explicitly mention when NOT to use this tool or alternative termination methods, though the context makes it obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks_cancelОтменить отложенное действиеADestructive
Снимает запланированное действие: бот не отправит то, что собирался.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| task_id | Yes | Идентификатор действия из tasks_list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations by explaining the consequence: 'the bot will not send what it was going to.' The annotations already mark the operation as destructive, so the description contributes additional semantic detail about the effect, though it does not cover edge cases or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the verb 'Снимает' (removes). It is compact with no filler, every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description combined with the schema and annotations provides sufficient information for an agent to invoke it. It lacks information about error cases (e.g., task not found) but that is not critical for a basic cancellation tool. The description fully explains the core action and its effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description itself makes no mention of the parameters, but the input schema provides complete descriptions for both 'case' (default/fallback behavior) and 'task_id' (identifier from tasks_list). Since schema_coverage is 100%, the description is not required to compensate, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool 'removes a scheduled action: the bot will not send what it was going to' (Снимает запланированное действие). The title 'Cancel delayed action' aligns perfectly. This is distinct from tasks_list and other sibling tools, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, or conditions under which it should not be used. The usage is implied from the purpose, but no explicit context or exclusions are given. Therefore it falls at the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks_listОтложенные действияARead-onlyIdempotent
Что запланировано в деле: «написать через три дня», «напомнить, если не ответил». Показывает и выполненные, и отменённые: выполненные задачи не удаляются, а порядок — по сроку с самых ранних, так что без status ответ занимает давняя история. Что ещё предстоит, спрашивайте с status=pending: отбор делает панель. Больше 300 записей за раз панель не отдаёт, и общего их числа не сообщает.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Дело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели. | |
| limit | No | Сколько записей вернуть, максимум 300. По умолчанию 100. | |
| status | No | Оставить только задачи в этом состоянии. Отбирает панель, в самом запросе. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds substantial behavior beyond them: completed tasks are retained and shown, ordering is by earliest deadline, no status means the response is dominated by old history, the panel performs filtering rather than the request, outputs cap at 300 records, and the total count is not disclosed. This is exactly the kind of context that prevents mis-calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph where every sentence earns its place: examples, retention behavior, ordering, filter advice, and response cap. It is not bullet-structured and slightly overlaps the schema's limit maximum, but nothing is padded and the most important caveat (no status → old history) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple optional-parameter list tool with annotations covering the safety profile, the description explains the key call-shaping behaviors: ordering, inclusion of done/cancelled records, the 300-record ceiling, and the lack of total-count reporting. The only gap is that no output schema exists and the description does not sketch the record fields returned per task, so an agent cannot fully predict response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the consequence of omitting status (you get old history) and by tying the 300-record cap to the limit parameter semantics, which helps the agent reason about pagination. It reinforces but does not duplicate the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with concrete examples of what is listed — «написать через три дня», «напомнить, если не ответил» — and states the resource (scheduled tasks in a case). The verb «Показывает» plus the scope makes it clearly a read-only listing tool, and its domain is distinguishable from the only same-domain sibling, tasks_cancel, by being a list rather than a mutation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit in-tool guidance: ask for upcoming items with status=pending because the panel filters, and warns that omitting status returns stale history. It does not explicitly name alternative tools or state when-not-to-use conditions, so it falls short of full exclusion-based guidance, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whoamiКто я в панелиARead-onlyIdempotent
С какой учётной записью работает сервер, к какой панели подключён и какие дела доступны с перечнем прав в каждом. Полезно вызвать первым: дальше можно обращаться к делам по названию.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is covered. The description adds useful context by detailing what information is exposed (account, panel, cases with rights), setting expectations beyond the bare 'whoami' name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences: the first directly states the tool's output, and the second offers practical advice on ordering. No redundant or irrelevant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only tool, the description fully explains the returned content (account, panel, cases with permissions) and how it fits into an agent's workflow. Without an output schema, this level of detail is both necessary and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. Per the guidelines, the baseline for zero parameters is 4, and the description appropriately does not attempt to describe nonexistent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns the current account, connected panel, and accessible cases with their permissions. This is a specific and unambiguous statement of purpose. It distinguishes itself from sibling tools by focusing on the current session context rather than listing resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to call this tool first and mentions that afterwards cases can be referenced by name, providing clear when-to-use guidance. It does not explicitly mention alternatives or when not to use it, but the strong recommendation to invoke it first is valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
20 tool updates
v0.1.16- Changed
bots_commands_apply2 fields changed- changed
Input schema / properties / commands / items / properties / description / descriptionPrevious value: -"Пояснение в меню Telegram."New value: +"Пояснение в меню бота." - changed
Input schema / properties / sync / descriptionPrevious value: -"Сразу отправить меню в Telegram. По умолчанию да."New value: +"Сразу отправить меню платформе. По умолчанию да."
- Changed
bots_save3 fields changed- changed
Input schema / properties / mode / descriptionPrevious value: -"polling — панель сама забирает обновления; webhook — Telegram шлёт их на панель (нужен публичный адрес по https)."New value: +"polling — панель сама забирает обновления; webhook — платформа шлёт их на панель (нужен публичный адрес по https)." - added
Input schema / properties / platformAdded value: +{ + "description": "Куда подключаем нового бота. По умолчанию telegram. У подключённого не меняется.", + "enum": [ + "telegram", + "max" + ], + "type": "string" +} - changed
Input schema / properties / token / descriptionPrevious value: -"Токен от @BotFather вида 1234567890:AA… Обязателен при подключении."New value: +"Токен бота. Обязателен при подключении. Вид у каждой платформы свой: у Telegram 1234567890:AA… от @BotFather, у MAX — длинная строка без двоеточия из кабинета разработчика. Точный вид и где его брать — operbots_catalog what=platforms."
- Changed
broadcasts_preview2 fields changed- changed
Input schema / properties / language / descriptionPrevious value: -"Язык собеседника, как его сообщает Telegram: ru, en."New value: +"Язык собеседника, как его сообщает платформа: ru, en. Сообщает не всякая." - changed
Input schema / properties / parse_mode / descriptionPrevious value: -"HTML — разметка Telegram. Пусто — обычный текст. По умолчанию пусто."New value: +"HTML — разметка сообщения. Пусто — обычный текст. По умолчанию пусто."
- Changed
broadcasts_save2 fields changed- changed
Input schema / properties / language / descriptionPrevious value: -"Язык собеседника, как его сообщает Telegram: ru, en."New value: +"Язык собеседника, как его сообщает платформа: ru, en. Сообщает не всякая." - changed
Input schema / properties / parse_mode / descriptionPrevious value: -"HTML — разметка Telegram. Пусто — обычный текст."New value: +"HTML — разметка сообщения. Пусто — обычный текст."
- Added
dialogs_delete_message - Added
dialogs_edit_message - Changed
dialogs_reply2 fields changed- added
Input schema / properties / reply_toAdded value: +{ + "description": "Ответить цитатой: id сообщения из dialogs_history. Служебные записи и уже удалённые сообщения цитировать нельзя — у собеседника их нет.", + "type": "string" +} - changed
Input schema / properties / text / descriptionPrevious value: -"Текст сообщения."New value: +"Текст сообщения. 4096 — грубая верхняя граница на хранение, а не предел платформы: у Telegram он 4096, у MAX 3999, и с вложением у обеих свой предел подписи. Точные числа — operbots_catalog what=platforms; сверх своего предела панель откажет с указанием платформы."
- Changed
flows_save5 fields changed- changed
Input schema / properties / copy_of / descriptionPrevious value: -"Скопировать существующий сценарий вместо создания пустого."New value: +"Скопировать существующий сценарий вместо создания пустого. Название копии — в name; без него будет «… — копия»." - removed
Input schema / properties / knowledge_baseRemoved value: -{ - "description": "База знаний для узлов «Ответ ИИ» из заготовки: название или идентификатор. Без неё консультант отвечает «из головы». Учитывается только при создании из заготовки.", - "type": "string" -} - changed
Input schema / properties / nodes / items / properties / kind / enumPrevious value: -[ - "trigger.command", - "trigger.text", - "trigger.callback", - "trigger.media", - "trigger.event", - "trigger.fallback", - "action.message", - "action.ai", - "action.condition", - "action.switch", - "action.edit", - "action.delete", - "action.set_variable", - "action.marks", - "action.delay", - "action.request", - "action.handoff", - "action.notify", - "action.jump", - "action.menu", - "action.wait", - "action.validate", - "action.media", - "action.schedule", - "action.subscription", - "action.report", - "action.attempts", - "action.reset", - "action.compute", - "action.hours", - "action.parse_date", - "action.format_date", - "action.schedule_at", - "flow.split", - "flow.merge" -]New value: +[ + "trigger.command", + "trigger.text", + "trigger.callback", + "trigger.media", + "trigger.event", + "trigger.fallback", + "action.message", + "action.ai", + "action.condition", + "action.switch", + "action.edit", + "action.delete", + "action.set_variable", + "action.marks", + "action.delay", + "action.request", + "action.handoff", + "action.notify", + "action.jump", + "action.menu", + "action.wait", + "action.validate", + "action.media", + "action.schedule", + "action.subscription", + "action.report", + "action.attempts", + "action.reset", + "action.compute", + "action.keyboard", + "action.form", + "action.contact", + "action.poll", + "action.hours", + "action.parse_date", + "action.format_date", + "action.schedule_at", + "flow.split", + "flow.merge", + "flow.end" +] - removed
Input schema / properties / providerRemoved value: -{ - "description": "Подключение к ИИ для узлов «Ответ ИИ» из заготовки: название или идентификатор. Учитывается только при создании из заготовки.", - "type": "string" -} - removed
Input schema / properties / templateRemoved value: -{ - "description": "Заготовка стартового графа. Учитывается только при создании и без nodes.", - "enum": [ - "blank", - "ai_consultant", - "faq_menu", - "lead_form", - "booking", - "support_desk", - "onboarding" - ], - "type": "string" -}
- Added
market_get - Added
market_install - Added
market_like - Added
market_list - Added
market_publish - Added
market_release - Added
market_unpublish - Added
market_update - Changed
members_save2 fields changed- changed
Input schema / properties / extra_permissions / items / enumPrevious value: -[ - "case.view", - "case.edit", - "case.delete", - "case.transfer", - "member.view", - "member.invite", - "member.edit", - "member.remove", - "role.view", - "role.manage", - "bot.view", - "bot.create", - "bot.edit", - "bot.delete", - "bot.control", - "bot.token_reveal", - "flow.view", - "flow.edit", - "flow.publish", - "flow.delete", - "chat.view", - "chat.reply", - "chat.takeover", - "chat.broadcast", - "chat.delete", - "ai.view", - "ai.manage", - "knowledge.view", - "knowledge.edit", - "audit.view" -]New value: +[ + "case.view", + "case.edit", + "case.delete", + "case.transfer", + "member.view", + "member.invite", + "member.edit", + "member.remove", + "role.view", + "role.manage", + "bot.view", + "bot.create", + "bot.edit", + "bot.delete", + "bot.control", + "bot.token_reveal", + "flow.view", + "flow.edit", + "flow.publish", + "flow.delete", + "market.publish", + "chat.view", + "chat.reply", + "chat.takeover", + "chat.broadcast", + "chat.delete", + "ai.view", + "ai.manage", + "knowledge.view", + "knowledge.edit", + "audit.view" +] - changed
Input schema / properties / revoked_permissions / items / enumPrevious value: -[ - "case.view", - "case.edit", - "case.delete", - "case.transfer", - "member.view", - "member.invite", - "member.edit", - "member.remove", - "role.view", - "role.manage", - "bot.view", - "bot.create", - "bot.edit", - "bot.delete", - "bot.control", - "bot.token_reveal", - "flow.view", - "flow.edit", - "flow.publish", - "flow.delete", - "chat.view", - "chat.reply", - "chat.takeover", - "chat.broadcast", - "chat.delete", - "ai.view", - "ai.manage", - "knowledge.view", - "knowledge.edit", - "audit.view" -]New value: +[ + "case.view", + "case.edit", + "case.delete", + "case.transfer", + "member.view", + "member.invite", + "member.edit", + "member.remove", + "role.view", + "role.manage", + "bot.view", + "bot.create", + "bot.edit", + "bot.delete", + "bot.control", + "bot.token_reveal", + "flow.view", + "flow.edit", + "flow.publish", + "flow.delete", + "market.publish", + "chat.view", + "chat.reply", + "chat.takeover", + "chat.broadcast", + "chat.delete", + "ai.view", + "ai.manage", + "knowledge.view", + "knowledge.edit", + "audit.view" +]
- Changed
operbots_catalog2 fields changed- added
Input schema / properties / platformAdded value: +{ + "description": "Для node_kinds: под какую платформу отобрать варианты настроек. Без него придёт полный набор, и сценарий можно собрать с вариантом, которого у платформы бота нет.", + "enum": [ + "telegram", + "max" + ], + "type": "string" +} - changed
Input schema / properties / what / enumPrevious value: -[ - "node_kinds", - "flow_templates", - "ai_kinds", - "permissions" -]New value: +[ + "platforms", + "node_kinds", + "market_categories", + "ai_kinds", + "permissions" +]
- Changed
replies_save1 field changed- changed
Input schema / properties / text / descriptionPrevious value: -"Текст ответа."New value: +"Текст ответа. 4096 — грубая верхняя граница, а не предел платформы: свой предел у каждой, см. operbots_catalog what=platforms."
- Changed
roles_save1 field changed- changed
Input schema / properties / permissions / items / enumPrevious value: -[ - "case.view", - "case.edit", - "case.delete", - "case.transfer", - "member.view", - "member.invite", - "member.edit", - "member.remove", - "role.view", - "role.manage", - "bot.view", - "bot.create", - "bot.edit", - "bot.delete", - "bot.control", - "bot.token_reveal", - "flow.view", - "flow.edit", - "flow.publish", - "flow.delete", - "chat.view", - "chat.reply", - "chat.takeover", - "chat.broadcast", - "chat.delete", - "ai.view", - "ai.manage", - "knowledge.view", - "knowledge.edit", - "audit.view" -]New value: +[ + "case.view", + "case.edit", + "case.delete", + "case.transfer", + "member.view", + "member.invite", + "member.edit", + "member.remove", + "role.view", + "role.manage", + "bot.view", + "bot.create", + "bot.edit", + "bot.delete", + "bot.control", + "bot.token_reveal", + "flow.view", + "flow.edit", + "flow.publish", + "flow.delete", + "market.publish", + "chat.view", + "chat.reply", + "chat.takeover", + "chat.broadcast", + "chat.delete", + "ai.view", + "ai.manage", + "knowledge.view", + "knowledge.edit", + "audit.view" +]
20 tool updates
v0.1.14- Changed
account_update1 field changed- added
Input schema / properties / birth_dateAdded value: +{ + "description": "Дата рождения в виде ГГГГ-ММ-ДД. Без неё профиль считается незаполненным.", + "type": "string" +}
- Changed
audit_list1 field changed- added
Input schema / properties / offsetAdded value: +{ + "description": "Сколько записей пропустить.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
- Added
bots_journal - Changed
bots_save2 fields changed- changed
Input schema / properties / ai_provider / descriptionPrevious value: -"Подключение к ИИ-сервису: название или идентификатор."New value: +"Подключение к ИИ-сервису: название или идентификатор. null — отвязать сервис от бота, ничего взамен не назначая." - changed
Input schema / properties / ai_provider / typePrevious value: -"string"New value: +[ + "string", + "null" +]
- Added
broadcasts_cancel - Added
broadcasts_list - Added
broadcasts_preview - Added
broadcasts_save - Added
broadcasts_start - Added
dialogs_export - Changed
dialogs_reply2 fields changed- added
Input schema / properties / replyAdded value: +{ + "description": "Отправить заготовленный ответ: его название или идентификатор из replies_list. Вместо text, а не вместе с ним.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "dialog", - "text" -]New value: +[ + "dialog" +]
- Changed
dialogs_update1 field changed- removed
Input schema / properties / blockedRemoved value: -{ - "description": "Заблокировать собеседника.", - "type": "boolean" -}
- Changed
flows_save3 fields changed- changed
Input schema / properties / edges / items / properties / out / descriptionPrevious value: -"Выход узла-источника, если их несколько: например «да» или «нет»."New value: +"Выход узла-источника, если их несколько. Названия латиницей и зависят от вида узла: у условия true и false, у запроса ok и error, у меню — номера кнопок. Полный перечень — в operbots_catalog what=node_kinds, поле «выходы». По умолчанию out." - added
Input schema / properties / knowledge_baseAdded value: +{ + "description": "База знаний для узлов «Ответ ИИ» из заготовки: название или идентификатор. Без неё консультант отвечает «из головы». Учитывается только при создании из заготовки.", + "type": "string" +} - added
Input schema / properties / providerAdded value: +{ + "description": "Подключение к ИИ для узлов «Ответ ИИ» из заготовки: название или идентификатор. Учитывается только при создании из заготовки.", + "type": "string" +}
- Changed
knowledge_save2 fields changed- changed
Input schema / properties / provider / descriptionPrevious value: -"Подключение к ИИ-сервису для векторов: название или идентификатор."New value: +"Подключение к ИИ-сервису для векторов: название или идентификатор. null — отвязать сервис от базы; после этого поиск не работает, пока не выбран новый." - changed
Input schema / properties / provider / typePrevious value: -"string"New value: +[ + "string", + "null" +]
- Changed
members_save2 fields changed- changed
Input schema / properties / extra_permissions / items / enumPrevious value: -[ - "case.view", - "case.edit", - "case.delete", - "case.transfer", - "member.view", - "member.invite", - "member.edit", - "member.remove", - "role.view", - "role.manage", - "bot.view", - "bot.create", - "bot.edit", - "bot.delete", - "bot.control", - "bot.token_reveal", - "flow.view", - "flow.edit", - "flow.publish", - "flow.delete", - "chat.view", - "chat.reply", - "chat.takeover", - "chat.delete", - "ai.view", - "ai.manage", - "audit.view" -]New value: +[ + "case.view", + "case.edit", + "case.delete", + "case.transfer", + "member.view", + "member.invite", + "member.edit", + "member.remove", + "role.view", + "role.manage", + "bot.view", + "bot.create", + "bot.edit", + "bot.delete", + "bot.control", + "bot.token_reveal", + "flow.view", + "flow.edit", + "flow.publish", + "flow.delete", + "chat.view", + "chat.reply", + "chat.takeover", + "chat.broadcast", + "chat.delete", + "ai.view", + "ai.manage", + "knowledge.view", + "knowledge.edit", + "audit.view" +] - changed
Input schema / properties / revoked_permissions / items / enumPrevious value: -[ - "case.view", - "case.edit", - "case.delete", - "case.transfer", - "member.view", - "member.invite", - "member.edit", - "member.remove", - "role.view", - "role.manage", - "bot.view", - "bot.create", - "bot.edit", - "bot.delete", - "bot.control", - "bot.token_reveal", - "flow.view", - "flow.edit", - "flow.publish", - "flow.delete", - "chat.view", - "chat.reply", - "chat.takeover", - "chat.delete", - "ai.view", - "ai.manage", - "audit.view" -]New value: +[ + "case.view", + "case.edit", + "case.delete", + "case.transfer", + "member.view", + "member.invite", + "member.edit", + "member.remove", + "role.view", + "role.manage", + "bot.view", + "bot.create", + "bot.edit", + "bot.delete", + "bot.control", + "bot.token_reveal", + "flow.view", + "flow.edit", + "flow.publish", + "flow.delete", + "chat.view", + "chat.reply", + "chat.takeover", + "chat.broadcast", + "chat.delete", + "ai.view", + "ai.manage", + "knowledge.view", + "knowledge.edit", + "audit.view" +]
- Added
replies_delete - Added
replies_list - Added
replies_save - Changed
roles_save1 field changed- changed
Input schema / properties / permissions / items / enumPrevious value: -[ - "case.view", - "case.edit", - "case.delete", - "case.transfer", - "member.view", - "member.invite", - "member.edit", - "member.remove", - "role.view", - "role.manage", - "bot.view", - "bot.create", - "bot.edit", - "bot.delete", - "bot.control", - "bot.token_reveal", - "flow.view", - "flow.edit", - "flow.publish", - "flow.delete", - "chat.view", - "chat.reply", - "chat.takeover", - "chat.delete", - "ai.view", - "ai.manage", - "audit.view" -]New value: +[ + "case.view", + "case.edit", + "case.delete", + "case.transfer", + "member.view", + "member.invite", + "member.edit", + "member.remove", + "role.view", + "role.manage", + "bot.view", + "bot.create", + "bot.edit", + "bot.delete", + "bot.control", + "bot.token_reveal", + "flow.view", + "flow.edit", + "flow.publish", + "flow.delete", + "chat.view", + "chat.reply", + "chat.takeover", + "chat.broadcast", + "chat.delete", + "ai.view", + "ai.manage", + "knowledge.view", + "knowledge.edit", + "audit.view" +]
- Changed
tasks_list1 field changed- changed
Input schema / properties / status / descriptionPrevious value: -"Оставить только задачи в этом состоянии."New value: +"Оставить только задачи в этом состоянии. Отбирает панель, в самом запросе."
14 tool updates
v0.1.13- Added
audit_list - Added
bots_webhook_check - Changed
cases_get1 field changed- added
Input schema / properties / daysAdded value: +{ + "anyOf": [ + { + "const": 7, + "type": "number" + }, + { + "const": 14, + "type": "number" + }, + { + "const": 30, + "type": "number" + } + ], + "description": "За сколько дней считать переписку: 7, 14 или 30. По умолчанию 7." +}
- Added
dialogs_reset_stage - Added
flows_export - Added
flows_import - Changed
flows_list2 fields changed- changed
Input schema / properties / bot / descriptionPrevious value: -"Бот: название, @username или идентификатор."New value: +"Бот: название, @username или идентификатор. Без него — все боты дела." - removed
Input schema / requiredRemoved value: -[ - "bot" -]
- Changed
flows_save2 fields changed- changed
Input schema / properties / nodes / items / properties / kind / enumPrevious value: -[ - "trigger.command", - "trigger.text", - "trigger.callback", - "trigger.event", - "trigger.fallback", - "action.message", - "action.ai", - "action.condition", - "action.set_variable", - "action.delay", - "action.request", - "action.handoff", - "action.notify", - "action.jump", - "action.menu", - "action.wait", - "action.validate", - "action.media", - "action.schedule", - "flow.split", - "flow.merge" -]New value: +[ + "trigger.command", + "trigger.text", + "trigger.callback", + "trigger.media", + "trigger.event", + "trigger.fallback", + "action.message", + "action.ai", + "action.condition", + "action.switch", + "action.edit", + "action.delete", + "action.set_variable", + "action.marks", + "action.delay", + "action.request", + "action.handoff", + "action.notify", + "action.jump", + "action.menu", + "action.wait", + "action.validate", + "action.media", + "action.schedule", + "action.subscription", + "action.report", + "action.attempts", + "action.reset", + "action.compute", + "action.hours", + "action.parse_date", + "action.format_date", + "action.schedule_at", + "flow.split", + "flow.merge" +] - changed
Input schema / properties / template / enumPrevious value: -[ - "blank", - "ai_consultant", - "faq_menu", - "lead_form", - "support_desk", - "onboarding" -]New value: +[ + "blank", + "ai_consultant", + "faq_menu", + "lead_form", + "booking", + "support_desk", + "onboarding" +]
- Changed
flows_simulate1 field changed- added
Input schema / properties / variablesAdded value: +{ + "additionalProperties": {}, + "description": "Переменные разговора на момент прогона: {\"город\": \"Москва\"}.", + "propertyNames": { + "type": "string" + }, + "type": "object" +}
- Changed
knowledge_delete1 field changed- changed
Input schema / properties / document / descriptionPrevious value: -"Идентификатор материала. Без него удалится вся база."New value: +"Материал: название или идентификатор. Без него удалится вся база."
- Added
knowledge_document - Added
knowledge_document_update - Changed
knowledge_reindex1 field changed- changed
Input schema / properties / document / descriptionPrevious value: -"Идентификатор одного материала."New value: +"Один материал: название или идентификатор."
- Changed
operbots_login2 fields changed- changed
Input schema / properties / switch_account / descriptionPrevious value: -"Войти под другой учётной записью, даже если вход уже выполнен."New value: +"Подключиться заново, даже если доступ уже настроен." - changed
Input schema / properties / url / descriptionPrevious value: -"Адрес панели, если он известен. Иначе его спросят в окне входа."New value: +"Адрес панели, если он известен. Иначе его спросят в окне."
55 tool updates
v0.1.1- First observed
account_update - First observed
ai_delete - First observed
ai_list - First observed
ai_save - First observed
ai_test - First observed
bots_commands_apply - First observed
bots_control - First observed
bots_delete - First observed
bots_get - First observed
bots_list - First observed
bots_reveal_token - First observed
bots_save - First observed
bots_variables_set - First observed
bots_webhook_rotate - First observed
case_transfer - First observed
cases_delete - First observed
cases_get - First observed
cases_leave - First observed
cases_list - First observed
cases_save - First observed
dialogs_delete - First observed
dialogs_get - First observed
dialogs_history - First observed
dialogs_list - First observed
dialogs_reply - First observed
dialogs_update - First observed
flows_delete - First observed
flows_get - First observed
flows_list - First observed
flows_publish - First observed
flows_restore - First observed
flows_save - First observed
flows_simulate - First observed
flows_versions - First observed
invites_create - First observed
invites_revoke - First observed
knowledge_add_document - First observed
knowledge_delete - First observed
knowledge_list - First observed
knowledge_reindex - First observed
knowledge_save - First observed
knowledge_search - First observed
members_list - First observed
members_remove - First observed
members_save - First observed
operbots_catalog - First observed
operbots_login - First observed
operbots_logout - First observed
roles_delete - First observed
roles_save - First observed
sessions_list - First observed
sessions_revoke - First observed
tasks_cancel - First observed
tasks_list - First observed
whoami
TDQS
Every tool has a clear, distinct purpose tied to a specific resource and action. Even within the same resource, tools like flows_save, flows_publish, and flows_simulate are clearly differentiated.
Most tools follow a consistent resource_verb pattern (cases_list, flows_get, dialogs_reply). Minor deviations include the operbots_ prefix for a few server-level tools and the standalone whoami, but these are relatively isolated and do not cause confusion.
With 55 tools, the server is on the heavy side. While the breadth may be justified by the complexity of the platform, it exceeds the typical range and risks overwhelming the agent.
The toolset covers CRUD operations for most resources, including cases, bots, flows, dialogs, knowledge bases, and AI services. Notable gaps include the lack of explicit task creation/update tools and the inability to update knowledge documents without duplicating them.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseAqualityCmaintenanceThis MCP server enables AI assistants to interact with a BT Panel server through natural language, allowing users to query logs, manage websites, and monitor system status without manual panel login.98110MIT
- FlicenseAqualityDmaintenanceAn MCP server for interacting with Telegram bots and channels using the Telegraf library. It allows AI agents to send messages, manage channels, forward content, and intelligently respond to Telegram conversations.5408-
- AlicenseNot gradedqualityAmaintenanceMCP server with persistent memory, voice understanding, multi-thread orchestration, and remote control via Telegram for AI assistants.2,2995MIT
- FlicenseBqualityBmaintenanceA specialized MCP server that allows AI coding assistants to send direct messages via your personal Telegram account.1-
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