Skip to main content
Glama

beget-mcp

MCP-сервер для управления сервисами хостера Beget из AI-агентов.

Построен на FastMCP и покрывает весь Beget REST API — 73 инструмента в 10 разделах.

Model Context Protocol (MCP) — открытый стандарт для подключения AI-моделей к внешним сервисам.

Быстрый старт

Из PyPI, без установки в систему:

claude mcp add beget -s user \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  -- uvx beget-mcp

Контейнером (образ по умолчанию поднимает SSE — локальному клиенту нужен stdio):

docker run -i --rm \
  -e MCP_TRANSPORT=stdio \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  ghcr.io/badigit/beget-mcp:latest

Из исходников:

pip install -e .

claude mcp add beget -s user \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  -- python -m mcp_beget

Сервер публикуется в MCP Registry под именем io.github.badigit/beget-mcp. Страница проекта — https://badigit.github.io/beget-mcp/.

Related MCP server: Plesk MCP Server

Что умеет

Раздел

Инструменты

Примеры операций

Сайты

8

создание, удаление, привязка доменов, заморозка файлов

Домены

13

управление, поддомены, PHP-версии, директивы, проверка доступности

DNS

8

A, CNAME, MX, TXT — безопасный merge; частичное обновление через dns_patch_record; dns_verify сверяет факт у авторитативного NS

MySQL

6

базы, доступы с хостов, пароли

FTP

4

аккаунты, домашние каталоги

Cron

7

задачи, расписание, активация, email-отчёты

Бэкапы

9

просмотр содержимого, откат, выгрузка файлов и БД

Почта

12

ящики, пароли, спам-фильтр, пересылка, catch-all, one-shot-настройка Яндекс 360 / Mail.ru

Статистика

4

нагрузка по сайтам и БД — сводная и детальная

Аккаунт

2

тариф, баланс, SSH-доступ

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

Файл

О чём

docs/api-coverage.md

покрытие методов Beget API

docs/beget-api-gotchas.md

грабли API: ошибка в success-конверте и прочее

docs/dns-facts-vs-intent.md

DNS: несозданный поддомен, catch-all зоны, задержка распространения

docs/new-app-deploy-chain.md

цепочка вызовов для нового приложения на shared-хостинге

Релиз и деплой

  • push в main = выкатка на боевой хост. .github/workflows/deploy.yml дёргает на VPS forced-command deploy, который пересобирает контейнер из /opt/beget-mcp. Отдельного ручного шага нет — правка в main уезжает на прод сама.

  • тег vX.Y.Z = публикация пакетов. publish-mcp.yml гонит тесты и заливает PyPI (trusted publishing), GHCR и MCP Registry — всё по OIDC, без секретов. Версия обязана совпадать в pyproject.toml, server.json и теге: workflow сверяет их до заливки, потому что версию на PyPI не перезалить.

Переменные окружения

Переменная

Назначение

BEGET_API_LOGIN

Логин Beget

BEGET_API_PASSWORD

Пароль Beget

Архитектура

src/mcp_beget/
├── app.py       — экземпляр FastMCP
├── config.py    — конфигурация (dataclass + валидация)
├── client.py    — HTTP-клиент с переиспользованием сессии
├── errors.py    — типизированные исключения (Auth / API)
├── server.py    — точка входа, инициализация, логирование
└── tools/       — инструменты, сгруппированные по разделам API

Требования

  • Python >= 3.11

  • mcp[cli]

  • requests

  • python-dotenv

Contributing

Issues и pull requests приветствуются. Если нашли баг или хотите предложить улучшение — создайте issue.

Лицензия

MIT


Нет аккаунта на Beget? Зарегистрируйтесь по ссылке — вы получите хостинг, а автор проекта небольшой бонус.

Available Tools

73 tools
account_infoB
Read-only

Сведения об аккаунте: баланс, тариф, ресурсы, сервер.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds no behavior beyond that—no auth requirements, rate limits, or freshness/staleness characteristics—and what it does list overlaps with the existing output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the key content categories front-loaded. No filler, no repetition, and nothing extraneous for a zero-argument tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and an output schema present, the description need not explain return values, and the annotation set covers safety. Still, it offers nothing about the account context (whose account, what 'server' means, whether it reflects live or cached state), which for a monitoring/inventory tool leaves a small but real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There are no arguments whose semantics could be misread, and the description does not need to explain any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (account) and enumerates exactly what it surfaces: balance, tariff/plan, resources, and server. It is not a tautology and distinguishes itself from the many sibling tools that operate on domains, mail, MySQL, and backups by being the only account-wide informational read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus alternatives, nor any prerequisites or context. The description only names the content returned; an agent must infer that this is the 'any time you need account-level facts' tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_download_fileA

Выгрузить файлы из бэкапа в корневую директорию аккаунта.

Args: paths: Список путей для скачивания backup_id: ID бэкапа (не указан = текущая копия)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYes
backup_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the write nature is covered structurally. The description adds the useful side effect that files land in the account root directory, but says nothing about overwriting existing files, required permissions, or what happens when paths collide — a meaningful gap for a write tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences plus a compact Args block; the destination and action are front-loaded. Slight redundancy in restating parameter names that the schema already lists, but no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value explanation is unnecessary, and the description supplies the action, the destination, both parameter meanings, and the backup_id default. The only missing element is overwrite behavior, which is minor given the explicit non-destructive annotation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, and it does document both parameters: paths as a list of paths to download and backup_id with the non-obvious semantic that null means the current backup. That default meaning is not derivable from the schema's bare 'default: null'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource ('Выгрузить файлы из бэкапа' – download files out of a backup) and adds the destination ('в корневую директорию аккаунта'), which is genuinely informative. However, it never distinguishes itself from the close siblings backup_restore_file and backup_files_list, so an agent could still pick the wrong one from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus backup_restore_file, backup_files_list, or backup_download_mysql. The only contextual hint is the inline note that omitting backup_id means the current copy, which describes a default rather than a usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_download_mysqlB

Выгрузить дамп MySQL из бэкапа в корневую директорию аккаунта.

Args: bases: Список имён баз данных backup_id: ID бэкапа (не указан = текущая копия)

ParametersJSON Schema
NameRequiredDescriptionDefault
basesYes
backup_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, and the description is consistent with the non-read-only flag by stating that a dump is written to the account root directory. It adds the destination location beyond the annotations, but omits overwrite behavior, permissions needed, and file-naming/size behavior for a write-to-disk operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action, followed by a compact structured Args block. Every element earns its place, with no redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the destination directory is covered. However, for a tool that writes a dump to disk, the description leaves gaps around permissions, overwrite behavior, and how the resulting file is named or located.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, and it does document both params: 'bases' as a list of database names and 'backup_id' as the backup ID with the default meaning 'current copy'. This compensates for the coverage gap adequately, though it adds no detail on name format or how a dump is scoped across multiple bases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (выгрузить/download), resource (MySQL dump from a backup), and destination (account root directory), which lets an agent distinguish it from siblings like backup_download_file and backup_restore_mysql. It is clear but does not explicitly name those siblings to reinforce the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as backup_download_file (files) or backup_restore_mysql (restore rather than dump). The only contextual hint is the parameter note about backup_id defaulting to the current copy, which is parameter-level, not tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_file_listA
Read-only

Содержимое файлового бэкапа (файлы и каталоги).

Args: backup_id: ID бэкапа (не указан = текущая копия) path: Путь от корня директории (пусто = корень)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
backup_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the agent knows this is a safe read operation. The description adds the scoping behavior (default backup_id, path from root), which is useful. However, it does not disclose return format, pagination, or errors. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded: one sentence states the purpose, followed by a concise Args section explaining the two parameters. It is well-structured and contains no filler, though the Russian line 'Содержимое файлового бэкапа' could be more specific about the list nature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that annotations cover read-only safety, an output schema exists (so return values need not be described), and the description explains both parameters and their defaults, the definition is fairly complete for a simple listing tool. The main gap is lack of sibling differentiation from backup_files_list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does so by explaining the meaning and default behavior of both parameters: backup_id (not specified = current copy) and path (empty = root). This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool name backup_file_list and description clearly indicate it lists the contents of a file backup (files and directories). This is a clear verb+resource, but the description does not distinguish it from the similar sibling backup_files_list, which appears to be an alternate/duplicate tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by explaining that backup_id defaults to the current backup and path defaults to the root. However, it does not explicitly say when to use this tool versus backup_files_list or other backup-related siblings. No when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_files_listC
Read-only

Доступные файловые резервные копии.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile fully. The description contributes nothing beyond that - no note on scope, freshness of backups, or result volume - so it adds no behavioral value over the structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no waste, which satisfies conciseness, but it is terse to the point of under-specification rather than being efficiently front-loaded with useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, and with zero params there is little else to cover. However, the existence of a confusingly similar sibling ('backup_file_list') means the definition should disambiguate scope and does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to document; baseline 4 applies. Schema description coverage is 100% and the empty object schema is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Доступные файловые резервные копии' (available file backups) conveys the resource being returned, and the '_list' name implies enumeration, but it is a noun phrase rather than a verb+resource statement. Crucially, it does not distinguish this tool from the near-identical sibling 'backup_file_list', so an agent cannot tell the two apart from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives, and no prerequisites. Given that a sibling named 'backup_file_list' exists, the absence of any routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_logB
Read-only

Журнал операций восстановления и скачивания бэкапов.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the useful behavioral fact that the log records restore and download events specifically, but says nothing about ordering, retention, or scope of the entries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the key noun (log of restore/download operations) is front-loaded. It is arguably too terse for the ambiguity it leaves, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and there are no parameters to document. What remains missing is scope — whether the log covers file backups, MySQL backups, or both, and whether it is account-scoped — which matters given the parallel backup_files_* and backup_mysql_* sibling families.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly implies a full unfiltered log rather than a targeted lookup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource — a log of backup restore and download operations — which distinguishes it from the action siblings (backup_restore_file, backup_download_file) and the inventory siblings (backup_files_list, backup_mysql_list). It is clear what the tool returns, though it does not say whether it spans both file and MySQL backups, which the sibling names suggest are separate domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of prerequisites (e.g. must a backup exist first, is it scoped to the current account), and no explicit routing away from the backup_* action tools. The agent must infer usage purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_mysql_db_listB
Read-only

Базы данных внутри резервной копии.

Args: backup_id: ID бэкапа (не указан = текущая копия)

ParametersJSON Schema
NameRequiredDescriptionDefault
backup_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds one behavioral detail beyond annotations: omitting backup_id defaults to the current backup. However, it does not describe authentication needs, rate limits, or any other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loads the resource, followed by a compact Args block. Every part serves a purpose, though the 'Args:' formatting is slightly verbose for a single parameter. There is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple list operation, one parameter, and the presence of an output schema, the description covers the essential information: what is returned (databases inside a backup) and the parameter default. It omits explicit usage guidance relative to siblings, but that is the only notable gap for an otherwise complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter. It does by explaining that backup_id is the backup ID and that omitting it uses the current backup, adding meaning beyond the schema's type and default null. The explanation is complete for this simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource clearly: 'Базы данных внутри резервной копии' (Databases inside a backup). This tells the agent what the tool returns, but it is a noun phrase lacking an explicit verb and does not differentiate from sibling tools like backup_mysql_list or backup_files_list, which might 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only mentions a parameter default: 'backup_id: ID бэкапа (не указан = текущая копия)'. It provides no guidance on when to use this tool versus alternatives such as backup_mysql_list, backup_files_list, or backup_restore_mysql. There are no when-to-use or when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_mysql_listC
Read-only

Доступные резервные копии баз MySQL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds no behavioral context beyond the resource — nothing about scope (all databases vs. a specific one), freshness of backups, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no padding and the resource front-loaded. It is efficient, though the absence of a verb makes it slightly less informative than it could be at the same length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, for a listing tool whose main risk is confusion with 'backup_mysql_db_list' and 'backup_file_list', the description should at least state what set of backups it returns — that gap is not filled by the schema or annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies; there is nothing in the schema for the description to clarify or compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('резервные копии баз MySQL' — MySQL database backups) but has no verb, essentially restating the tool name. It gives no way to tell it apart from the closely related sibling 'backup_mysql_db_list', which an agent could easily confuse with it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool, no prerequisites, and no mention of the overlapping 'backup_mysql_db_list' or companion tools like 'backup_restore_mysql'/'backup_download_mysql'. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_restore_fileB
Destructive

Откатить файлы из резервной копии.

Args: backup_id: ID бэкапа (получить через backup_files_list) paths: Список путей для восстановления

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYes
backup_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds nothing behavioral beyond that: it never says existing files are overwritten, whether the operation is reversible, or whether it requires stopped services or elevated permissions — all material for a destructive restore.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded: the action statement comes first, then a compact Args block. Nothing is padded, though the Args formatting is a docstring artifact rather than description prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and annotations carry the destructive/closed-world profile. What is missing is the operational context a destructive restore needs — overwrite behavior, path semantics, and reversibility — leaving the definition only minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden. It does document both params and gives a valuable sourcing hint for backup_id, but 'paths' is only restated ('список путей для восстановления') with no clarification of path format (absolute vs. relative to a site root), which is critical for a restore operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Откатить файлы из резервной копии'), which is enough to separate it from backup_restore_mysql by resource type. It does not explicitly name the MySQL sibling or any other alternative, so sibling differentiation stays implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a useful prerequisite pointer — backup_id must be obtained via backup_files_list — which is genuine usage context. However, there is no when-to-use vs when-not guidance and no mention of the conditions under which restoring is appropriate or dangerous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_restore_mysqlA
Destructive

Откатить базу MySQL из резервной копии.

Args: backup_id: ID бэкапа (получить через backup_mysql_list) databases: Список имён баз для восстановления

ParametersJSON Schema
NameRequiredDescriptionDefault
backup_idYes
databasesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the agent knows this mutates and destroys data. The description adds that it is a 'rollback' (implying existing data is overwritten), but does not state irreversibility, required permissions, or what happens to pre-existing databases, so it only modestly exceeds the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action in one sentence, followed by a tight Args block. No filler or redundancy; every line contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the safety profile. The description covers purpose and both parameters adequately; the only minor gap is behavioral detail on how existing data is affected by the rollback.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description carries the burden and documents both required parameters: backup_id is explained and its source tool (backup_mysql_list) is named, and databases is defined as the list of database names to restore. It could add more (e.g., what happens when a database does not already exist), but it meaningfully compensates for the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Откатить' = restore/rollback) and resource ('базу MySQL из резервной копии'), making clear it restores a MySQL database from a backup. This cleanly distinguishes it from the sibling backup_restore_file (files vs MySQL databases).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb, and the description helpfully routes the agent to backup_mysql_list for obtaining the backup_id, which is a useful pointer. However, it gives no explicit when-to-use/when-not guidance and does not warn that this is an overwriting operation versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_addB

Зарегистрировать новую cron-задачу.

Args: minutes: Минуты (0-59, * или */N) hours: Часы (0-23, * или */N) days: Дни месяца (1-31, * или */N) months: Месяцы (1-12, * или */N) weekdays: Дни недели (0-7, 0 и 7 = воскресенье) command: Команда для выполнения

ParametersJSON Schema
NameRequiredDescriptionDefault
daysYes
hoursYes
monthsYes
commandYes
minutesYes
weekdaysYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds no behavioral context beyond creation (no duplicate handling, permissions, or side effects), but with annotations carrying the safety bar, a baseline 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in a single line, followed by a compact per-argument list. The docstring format is slightly verbose but each line maps to a required parameter and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and all six required parameters are documented. The remaining gap is the absence of when-to-use guidance relative to the cron_* siblings, but for a create-with-explicit-args tool the definition is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, and it does so well: it documents every one of the six parameters with valid ranges (0-59, 0-23, 1-31, 1-12, 0-7) and supported wildcard syntax ('*' or '*/N'). This is meaningfully more than the bare schema titles provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The Russian description states a specific verb and resource ('Зарегистрировать новую cron-задачу' = register a new cron task), which is clearly distinct from siblings like cron_edit, cron_delete, and cron_toggle. It does not explicitly name those siblings, but the 'new/add' semantics differentiate it well enough for selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus cron_edit or cron_toggle, nor any mention of prerequisites or conditions. The agent is left to infer that this is the creation path from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_deleteB
Destructive

Убрать cron-задачу.

Args: task_id: ID задачи

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, readOnlyHint=false, openWorldHint=false, so the agent knows this is a destructive, non-read-only local action. The description adds only the Russian phrase 'remove the cron task' plus a basic arg explanation. It does not detail permissions, irreversibility, or side-effects beyond what annotations already convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loads the action. It includes arg information, though the formatting is terse and could be more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is an output schema, so return values need not be described. However, for a destructive action with one parameter at 0% schema coverage, the description should provide more context on what 'task_id' represents and confirm the destructive consequence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description should compensate. It provides only 'task_id: ID задачи', which gives a minimal Russian label but no additional format or source details beyond the property name in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The Russian phrase 'Убрать cron-задачу' states a specific verb and resource (remove a cron task). It clearly identifies the operation, though it doesn't explicitly differentiate itself from siblings like cron_edit or cron_toggle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for deleting a cron job but offers no guidance on when to use it versus alternatives. With siblings such as cron_toggle and cron_edit, a user might need clarity on permanent deletion as opposed to toggling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_editA

Изменить параметры cron-задачи. Указывайте только обновляемые поля.

Args: task_id: ID задачи minutes: Минуты (0-59, * или */N) hours: Часы (0-23, * или */N) days: Дни месяца (1-31, * или */N) months: Месяцы (1-12, * или */N) weekdays: Дни недели (0-7) command: Команда для выполнения

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
hoursNo
monthsNo
commandNo
minutesNo
task_idYes
weekdaysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the partial-update semantic (only changed fields are supplied, implying the rest are preserved), which is genuine behavioral context, but it says nothing about permissions, error handling, or what changes if a field is left out.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the operation statement, followed by a compact Args block that earns its length given the zero schema coverage. No filler, though the Args list is somewhat mechanical rather than integrated prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with 0% schema coverage and no output explanation needed (output schema exists). The parameter documentation compensates well, and partial-update semantics are stated; only auth requirements and failure behavior are absent, which are minor omissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and largely meets it: it documents all seven parameters with meaningful ranges and accepted syntax (minutes 0-59, hours 0-23, days 1-31, months 1-12, weekdays 0-7, plus '*'/'*/N' notation). task_id is described only minimally as "ID задачи", which keeps this from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ("Изменить параметры cron-задачи" = modify cron-task parameters), which is unambiguous. It does not explicitly contrast with siblings like cron_add/cron_delete/cron_toggle, but the name and verb make the distinction clear enough in practice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Указывайте только обновляемые поля" tells the agent this is a partial update and that unspecified fields should be omitted, which is useful invocation guidance. However, there is no when-to-use/when-not guidance and no explicit reference to alternative tools such as cron_add or cron_toggle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_get_emailB
Read-only

Адрес уведомлений о выполнении cron-задач.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the subject matter (the notification address for cron jobs) but no further behavioral context; with annotations doing the heavy lifting, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, appropriately sized for a simple getter. It is terse to the point of being sparse, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 0-parameter getter with an output schema, the description is nearly sufficient, but it omits any reference to the paired cron_set_email tool, which is the one piece of routing information an agent would benefit from here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource precisely — the notification email address used for cron task execution — so an agent understands what is retrieved. It is clear but does not differentiate itself from the sibling cron_set_email, which is the natural counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives such as cron_set_email, and no preconditions. The agent is left to infer that this is a read counterpart to the setter purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_listC
Read-only

Все cron-задачи аккаунта.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that: no note about output size, account scoping limits, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler and the scope stated up front. It is terse rather than padded, though minimalism is acceptable for a zero-parameter read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and there are no parameters to document. However, the description omits any routing hint to the closely related cron_* siblings, which is the main remaining gap for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. It correctly implies the listing is implicitly scoped to the account.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource (all cron jobs belonging to the account), but it lacks an explicit verb and largely restates the tool name cron_list. With 0 parameters there is nothing more to state, yet it does not differentiate itself from siblings such as cron_get_email, which also concerns cron data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this instead of the other cron_* tools (cron_get_email, cron_add, cron_edit, cron_toggle). The agent must infer that this is the enumeration entry point purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_set_emailA

Назначить email для отчётов cron. Пустая строка отключает уведомления.

Args: email: Email-адрес или пустая строка для отключения

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, covering the safety profile. The description adds the disable-via-empty-string semantics, which is genuine behavioral context, but omits auth requirements or what changes to existing config occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded, with the core action and the disable behavior stated first. The Args block restates the parameter but stays efficient; no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. For a single-parameter setter, purpose, parameter meaning, and the special empty-string case are all covered, leaving only minor gaps like permissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the schema only names the field 'Email', so the description must carry the load. It does: it defines the parameter as an email address and explains that an empty string disables notifications, adding real meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: setting the report email for cron jobs, with the read counterpart cron_get_email nearby. It is clear what the tool does, though it doesn't explicitly contrast itself against siblings like cron_get_email or cron_edit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the empty-string behavior, which tells the agent one valid interaction pattern, but there is no explicit when-to-use, when-not-to-use, or routing to alternatives. Adequate but leaves context to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cron_toggleA

Переключить активность cron-задачи.

Args: task_id: ID задачи (полученный из cron_list) is_hidden: 1 = выключить (скрыть), 0 = включить

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
is_hiddenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, so the mutation/non-destructive profile is covered. The description adds the concrete semantics of the toggle (1=disable/hide, 0=enable), which is genuinely useful. It does not state that the operation is reversible or whether it requires elevated permissions, so a 3 fits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded action statement followed by a compact args block; no filler sentences. The docstring-style formatting is slightly verbose but every line carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. For a two-parameter mutation, the description covers the action, the parameter origins, and value semantics. The only gap is the subtle conflation of 'disabled' with 'hidden', which could confuse an agent about side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry the parameter burden, and it does: task_id is documented as coming from cron_list and is_hidden is given explicit value semantics (1=off/hide, 0=on). This meaningfully exceeds the bare 'integer' schema entries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line gives a specific verb+resource pair: toggling the active state of a cron task. It clearly distinguishes the tool from cron_list, cron_add, cron_delete, and cron_edit by naming the distinct action (activity toggle). It stops short of a 5 because it does not contrast itself with cron_edit, which could plausibly also change task state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (after obtaining a task_id from cron_list), which is a useful prerequisite hint. However, it gives no explicit when-not guidance or alternative — e.g. whether changing other fields should go through cron_edit instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_getA
Read-only

DNS-записи FQDN плюс фактический ответ авторитативного NS.

В Beget поддомен — отдельная сущность со своим getData. Если прямой запрос вернул METHOD_FAILED, функция пробует родительскую зону и возвращает её records с пометкой (актуально для DKIM типа mail._domainkey.site.ru, которые иногда хранятся на уровне родителя).

ВАЖНО: отсутствие записи в зоне НЕ означает, что имя не резолвится. У зоны бывает catch-all на shared-хостинг Beget, невидимый для dns/getData: имя отвечает чужим адресом, хотя в выдаче API его нет. Поле effective — фактический ответ авторитативного NS зоны, запрошенный напрямую по UDP мимо кеша резолвера. Расхождение «в зоне нет, а отвечает» видно сразу.

Args: fqdn: Имя домена (site.ru или sub.site.ru) check_effective: Спросить авторитативный NS (по умолчанию да)

ParametersJSON Schema
NameRequiredDescriptionDefault
fqdnYes
check_effectiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/destructive annotations, it discloses substantive behavior: fallback to the parent zone on METHOD_FAILED, the invisible shared-hosting catch-all, and that the `effective` field is fetched by direct UDP query bypassing the resolver cache. One caveat: that explicit external UDP querying sits awkwardly against openWorldHint=false, which slightly tempers confidence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, followed by behavioral caveats and then a labeled Args block. It is lengthy for a two-parameter tool, but each sentence (fallback logic, catch-all trap, effective field) adds real interpretive value rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-parameter tool with an output schema and safety annotations already covering the risk profile, the description supplies the missing interpretive layer: how to read absence-of-record, where subdomain data lives, and what `effective` means. An agent can call and interpret it correctly without external clarification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning, and it does: fqdn is documented with valid forms (site.ru or sub.site.ru) and check_effective is explained as 'ask the authoritative NS (default yes)'. This fully compensates for the empty schema descriptions, though the per-parameter notes remain terse.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a concrete verb+resource: it returns the FQDN's DNS records plus the authoritative NS response. It is clearly distinguishable from the dns_set_* / dns_patch_record siblings, which are writes. However, it never explicitly contrasts with dns_verify, the other read-style DNS sibling, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (inspecting a name's records) and gives scenario guidance for edge cases (METHOD_FAILED fallback, DKIM at parent level, catch-all). It does not state when to prefer this over dns_verify or when to run it before a dns_set_* mutation, so usage is only implied rather than explicitly routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_patch_recordA
Destructive

Частично изменить записи одного типа (add/remove/replace).

Внутри: getData → merge → changeRecords. Прочие типы в зоне не затрагиваются. Удобно для многозначных TXT (SPF + DKIM + verification) и нескольких MX.

  • add — JSON-массив записей для добавления к существующим

  • remove — JSON-массив записей для удаления (match по полям кроме ttl)

  • replace — JSON-массив для полной замены массива этого типа (если задан, add и remove игнорируются)

Примеры: type="TXT", add='[{"txtdata":"google-site-verification=abc"}]' — добавить к существующим TXT-записям type="TXT", remove='[{"txtdata":"v=spf1 include:old.example"}]' — снять старую SPF type="MX", replace='[{"exchange":"mx.yandex.net","preference":10}]' — заменить весь массив MX одной записью

Args: fqdn: Имя домена type: Тип записи (A, AAAA, MX, TXT, CNAME, NS) add: JSON-массив для добавления remove: JSON-массив для удаления replace: JSON-массив для полной замены этого типа force: Продолжить при наличии CAA/SRV

ParametersJSON Schema
NameRequiredDescriptionDefault
addNo[]
fqdnYes
typeYes
forceNo
removeNo[]
replaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and non-readOnly, and the description adds real context beyond that: it explains the merge pipeline, that other record types are untouched, and documents the force flag as 'continue despite CAA/SRV presence'. It doesn't spell out auth or rate-limit behavior, but for a destructive mutation the disclosed mechanics are substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose and internal pipeline, then structured bullets and examples. Efficient given the complexity, though the three examples are a bit redundant with the bullets.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The JSON-array formats, match/precedence semantics, force flag and multi-value use cases are all covered, which is what an agent needs to call this tool correctly. Output schema exists, so the description needn't explain return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry the burden — and it does. Each of add/remove/replace is documented with format (JSON array), matching rules (match by fields except ttl), and precedence, plus fqdn/type/force defined, with worked examples. This fully compensates for the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb+resource+scope: partial modification of records of a single type, with the internal pipeline getData → merge → changeRecords. It distinguishes itself from siblings like dns_set_a/dns_set_txt/dns_set_records by framing this as a partial (add/remove/replace) operation rather than a full overwrite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage conditions ('Удобно для многозначных TXT и нескольких MX') and semantics for add/remove/replace including the preemption rule (if replace is set, add and remove are ignored). It doesn't explicitly compare against sibling tools like dns_set_a or dns_set_records, so a 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_set_aA
Destructive

Задать A-запись (IPv4) для FQDN.

Безопасно: делает getData → merge → changeRecords. Прочие записи (MX, TXT, CNAME, NS) в зоне сохраняются. Прежние A-записи заменяются на переданную.

TTL: Beget управляет TTL на уровне зоны (типичный минимум 600 сек) и может игнорировать значение в запросе. Параметр оставлен для совместимости.

Если в зоне есть CAA/SRV — вернёт ошибку (changeRecords их затирает). Передайте force=True, чтобы продолжить и потерять их.

Args: fqdn: Имя домена address: IPv4-адрес (203.0.113.1) ttl: TTL в секундах (может быть проигнорирован; по умолчанию 600) force: Продолжить при наличии CAA/SRV (они будут удалены)

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNo
fqdnYes
forceNo
addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavioral detail beyond the annotations: the getData → merge → changeRecords flow, preservation of other record types, replacement of prior A records, TTL being managed/ignored by Beget, and the destructive CAA/SRV deletion under force=True. This fully discloses side effects and matches the destructiveHint=true annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, then adds safety notes, TTL caveats, the CAA/SRV warning, and an Args section. Every sentence adds necessary information for a destructive DNS mutation with undocumented schema parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description need not explain return values, and it covers the mutation behavior, parameter semantics, and error conditions thoroughly. An agent has everything required to invoke the tool correctly and safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the full semantic burden, and it does: fqdn is the domain name, address is an IPv4 address with example, ttl may be ignored and defaults to 600, and force continues despite CAA/SRV deletion. All four parameters receive meaningful clarification.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: setting an A record (IPv4) for an FQDN. This clearly distinguishes it from sibling DNS tools such as dns_set_cname, dns_set_txt, and dns_set_mx without needing to name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when the tool is usable and when a risky override is required, including the CAA/SRV error condition and the force=True escape hatch. It does not explicitly compare against alternative tools like dns_set_records or dns_patch_record, so it falls short of full alternative routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_set_cnameA
Destructive

Задать CNAME-запись для поддомена.

Безопасно мерджится с существующими записями. ВАЖНО: у Beget set_type у зоны при CNAME становится эксклюзивным (A/MX/TXT при этом не работают). Используйте CNAME только на поддоменах, где у вас нет других записей.

Args: fqdn: Имя поддомена (www.site.ru) cname: Каноническое имя (site.ru — автоматически без trailing dot) ttl: TTL в секундах (см. dns_set_a) force: Продолжить при наличии CAA/SRV

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNo
fqdnYes
cnameYes
forceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=true). It discloses that records are safely merged, that setting a CNAME makes the zone set_type exclusive and breaks A/MX/TXT, and that force is needed when CAA/SRV exist — exactly the destructive side effects an agent must know before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then the critical warning, then Args — a sensible ordering. The prose is dense and non-redundant, though the Args block is somewhat verbose relative to a 4-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with an output schema present, the description supplies everything needed: purpose, exclusivity warning, merge behavior, and per-parameter meaning including the force precondition. Return values are correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the Args block carries the full burden and documents all four parameters: fqdn (subdomain form), cname (trailing-dot handling), ttl (delegated to dns_set_a), and force (CAA/SRV continuation). TTL being deflected to another tool leaves one semantic partially unstated, preventing a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Задать CNAME-запись для поддомена'), which unambiguously separates it from the sibling record-setters (dns_set_a, dns_set_txt, dns_set_mx, dns_patch_record) by record type. An agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-not guidance: 'Используйте CNAME только на поддоменах, где у вас нет других записей', plus the exclusivity caveat that A/MX/TXT stop working. It references dns_set_a for TTL semantics, but does not name an alternative tool or fallback path if the subdomain already has records.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_set_mxA
Destructive

Задать MX-запись (почтовый сервер) домена.

Заменяет все MX-записи одной. Прочие типы записей в зоне сохраняются. Для нескольких MX за один вызов — используйте dns_set_records.

Args: fqdn: Имя домена exchange: Имя сервера (mx.yandex.net — trailing dot снимается автоматически) preference: Приоритет (меньше = выше) ttl: TTL в секундах (см. dns_set_a) force: Продолжить при наличии CAA/SRV

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNo
fqdnYes
forceNo
exchangeYes
preferenceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations declare destructiveHint=true, and the description earns credit by spelling out exactly what is destroyed ('replaces all MX records with one') and what survives ('other record types in the zone are preserved'). It also discloses implicit normalization ('trailing dot removed automatically') and the force-override condition (CAA/SRV), adding real behavior 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and its side effect, then the alternative, then a compact Args block. Every line adds information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter destructive DNS mutation with an output schema present, the description covers purpose, destruction semantics, alternative, and all parameters. Residual gaps are minor: it does not clarify whether preference must be unique or what exactly happens when force is false and CAA/SRV exist.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must carry all five parameters and largely does: fqdn (domain), exchange (with trailing-dot note), preference (lower = higher priority), ttl (TTL seconds, deferred to dns_set_a), and force (continue when CAA/SRV present). The ttl entry deferring to another tool and the terse force explanation leave minor ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Задать MX-запись / set MX record') plus the exact effect ('Заменяет все MX-записи одной') and what is preserved. It also names the sibling dns_set_records as the tool not to use for multiple MX, so an agent can tell them apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to dns_set_records 'для нескольких MX за один вызов', which is a concrete alternative and selection condition. It does not state when-not-to-use (e.g., non-MX zones) or prerequisites like required domain ownership, leaving those to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_set_recordsA
Destructive

Задать несколько типов DNS-записей одним вызовом.

По умолчанию — безопасный merge: типы, отсутствующие в records, сохраняются. replace_all=True — полная замена зоны (как делает голый dns/changeRecords): ВСЕ записи, кроме переданных, будут удалены.

Args: fqdn: Имя домена records: JSON с записями, например: {"A": [{"address": "1.2.3.4"}], "MX": [{"exchange": "mx.yandex.net", "preference": 10}]} replace_all: True — полная замена зоны; по умолчанию False (merge) force: Продолжить при наличии CAA/SRV (будут удалены)

ParametersJSON Schema
NameRequiredDescriptionDefault
fqdnYes
forceNo
recordsYes
replace_allNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, but the description adds the exact destruction semantics that annotations cannot express: default merge preserves types not passed, replace_all deletes ALL non-passed records, and force deletes CAA/SRV records. This is precisely the extra context an agent needs before an irreversible write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The safety-relevant default is front-loaded, and the Args block is scannable. There is minor redundancy (replace_all and its merge default are stated in both the body and the Args list), but the example JSON earns its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and all four params plus the destructive modes are covered. The one subtle ambiguity is whether types that ARE passed are fully replaced at the record level or merged record-by-record under the default mode.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries the full burden, and it does: it documents fqdn, records (with a concrete JSON example showing address/exchange/preference shapes), replace_all's default and meaning, and force's effect. No parameter is left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (set several DNS record types in one call) and implies the batching advantage over the single-type siblings (dns_set_a, dns_set_mx, etc.). It never names those siblings explicitly, so the differentiation is left to inference rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly explains the two operating modes (default safe merge vs replace_all full replacement) and when the destructive path applies, which is real usage guidance. However it gives no explicit routing versus the sibling tools that set one record type at a time, nor any prerequisite/permission guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_set_txtA
Destructive

Задать TXT-запись (SPF, верификация, DKIM и пр.).

Заменяет все TXT-записи одной. Если нужно добавить к существующим (верификация

  • SPF, например) — используйте dns_patch_record с add=...

Прочие записи (A/MX/CNAME/NS) сохраняются.

Args: fqdn: Имя домена txtdata: Содержимое TXT-записи (v=spf1 redirect=_spf.yandex.net) ttl: TTL в секундах (см. dns_set_a) force: Продолжить при наличии CAA/SRV

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNo
fqdnYes
forceNo
txtdataYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds real value beyond them by specifying the destruction scope (all TXT records replaced, not appended) and what is preserved (A/MX/CNAME/NS), plus the force behavior around CAA/SRV. It does not discuss permissions or rate limits, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the operation and its replacement semantics, then the alternative, then a compact Args block. Every sentence earns its place; the ttl cross-reference is the one slightly wasteful note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the safety profile. Given a destructive DNS mutation, the description supplies the needed context (destructive scope, preserved record types, the append alternative, force semantics), leaving only minor gaps like permissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameter burden, and it does: it documents all four args with meaning, including an example value for txtdata and an explanation of force (proceed when CAA/SRV present). The only weakness is ttl, which defers to 'см. dns_set_a' rather than defining the value inline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (set a TXT record) and immediately clarifies the core semantic: it replaces all TXT records with one. The use cases (SPF, verification, DKIM) are named, and it is clearly distinguishable from dns_patch_record, which it explicitly contrasts with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use dns_patch_record with add=... when appending to existing TXT records (e.g. verification + SPF) rather than this replacement tool. This is a named alternative plus the condition that selects it, so nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_verifyA
Read-only

Подтвердить факт у авторитативного NS зоны: отдаётся ли значение миру.

success от dns_set_* означает «принято панелью», а dns_get подтверждает ровно это — он читает тот же источник, куда писал. Авторитативный NS может отдавать старое значение ещё несколько минут. Запуск certbot в этом окне сжигает попытку и приближает лимит Let's Encrypt на домен.

Тул опрашивает авторитативные NS зоны напрямую по UDP (мимо кеша любого резолвера) до совпадения с expect или до дедлайна.

Вручную сверять надо nslookup, а НЕ Resolve-DnsName -Server: флаг -Server не обходит клиентский кеш Windows и отдаёт устаревшее значение.

Args: fqdn: Имя, которое проверяем expect: Ожидаемое значение (IP для A, имя для CNAME/MX). Пусто — просто вернуть текущий ответ NS одним запросом, без ожидания type: Тип записи (A, AAAA, CNAME, MX, TXT, NS) timeout: Сколько секунд ждать совпадения (по умолчанию 120)

ParametersJSON Schema
NameRequiredDescriptionDefault
fqdnYes
typeNoA
expectNo
timeoutNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), and the description adds real behavior the annotations cannot convey: direct UDP polling of authoritative servers, bypassing any resolver cache, looping until expect matches or a deadline fires, and the propagation-window consequence for certbot. It does not discuss query volume/rate limits or the failure/timeout result shape, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then routing rationale, mechanism, and parameter notes in that order; no sentence is pure padding. The closing nslookup/Resolve-DnsName tip is aimed more at a human operator and slightly dilutes the agent-facing payload, keeping this just under a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be re-explained; the description instead supplies everything an agent needs to call it correctly — mechanism (authoritative UDP, cache-bypassing), blocking/polling semantics, timeout behavior, empty-expect single-shot mode, and the operational reason to verify at all. Complete for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (titles only), so the description must compensate and does: fqdn, expect (semantics spelled out — IP for A, name for CNAME/MX; empty means return the current single-shot answer without waiting), type (enumerates A, AAAA, CNAME, MX, TXT, NS), and timeout (seconds to wait for a match, default 120). All four parameters gain meaning absent from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line gives a concrete verb+resource+scope: confirm from the zone's authoritative NS whether the value is actually served to the world. It is immediately distinguishable from dns_get (reads the panel's own source) and dns_set_* (writes to the panel), so an agent can route correctly without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when this must be used instead of trusting dns_get: 'success from dns_set_* means accepted by the panel, and dns_get confirms exactly that — it reads the same source where it wrote.' It further names the concrete failure mode (running certbot during propagation burns a Let's Encrypt attempt) and even prescribes the manual alternative (nslookup, not Resolve-DnsName -Server).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_addA

Зарегистрировать виртуальный домен (без покупки).

Args: hostname: Имя домена (например: example.com) zone_id: ID доменной зоны (1 = .ru). Получить список: domain_zones

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idNo
hostnameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful 'no purchase / virtual domain' context but does not disclose prerequisites (e.g., whether the domain must not already exist) or any auth/side-effect details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded one-line purpose followed by a compact Args block; every line earns its place with no redundancy. Appropriately sized for a two-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and annotations cover the safety profile. Still, a mutation tool benefits from stating preconditions or effects of registration, which are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden, and it does well: hostname is illustrated with 'example.com' and zone_id is explained with a concrete default ('1 = .ru') plus a pointer to domain_zones for the full list. This compensates meaningfully for the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('register'/'зарегистрировать') and resource ('virtual domain'), and the parenthetical 'without purchase' scopes it away from a purchase flow. An agent can distinguish it from siblings like domain_delete, domain_list, or domain_check_to_register without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb and the 'without purchase' qualifier, and it helpfully points to the domain_zones sibling for retrieving a zone_id. However, it gives no explicit when-to-use/when-not guidance and does not state alternatives for the registration action itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_add_directivesB

Задать PHP-директивы для домена.

Args: full_fqdn: Полное имя домена directives: JSON-массив директив, например: [{"name": "max_execution_time", "value": "60"}]

ParametersJSON Schema
NameRequiredDescriptionDefault
full_fqdnYes
directivesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not say whether existing directives are overwritten or merged, whether the change is immediately applied, or what permissions are required for this mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-line purpose is front-loaded and the args list is tight with no filler. Structure is clean, though the example is inline and could be marginally more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and both parameters are covered. However, for a mutation tool with no usage guidance and no disclosure of overwrite semantics, the definition is adequate but leaves real gaps an agent would want filled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries the burden and does so well: full_fqdn is defined as the full domain name and directives is defined as a JSON array with a concrete example object. The example is especially valuable because the schema types directives as a plain string. It does not enumerate allowed directive names or value formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Set PHP directives for domain'. The verb 'set/задать' is distinct from the read sibling domain_get_directives and the delete sibling domain_remove_directives, so the agent can differentiate by operation. It does not explicitly name those siblings, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus the closely related domain_get_directives and domain_remove_directives, nor any prerequisites (does the domain already need to exist, does it merge or replace). Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_add_subdomainA

Создать поддомен на базе существующего домена.

subdomain — ТОЛЬКО префикс (blog), без родителя. Родитель задаётся через domain_id (см. domain_list). Полный FQDN (blog.site.ru) будет отклонён.

ВНИМАНИЕ: Beget не создаёт пустую сущность. Сразу после создания у поддомена появляются собственные записи — A на shared-хостинг Beget плюс MX и TXT(SPF) на beget.com. Имя начинает резолвиться на shared-хостинг ДО вашей A-записи, а MX и SPF переживают dns_set_a (тот мерджит зону) и остаются молча. Ответ тула показывает фактически созданные записи в поле records.

Args: subdomain: Имя поддомена (например: blog) domain_id: ID родительского домена

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYes
subdomainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare it is a non-read-only, non-destructive mutation; the description adds substantial hidden behavior: Beget auto-creates A/MX/TXT(SPF) records, the name resolves to shared hosting before any user A-record, and MX/SPF silently survive dns_set_a. This is exactly the kind of side-effect disclosure an agent cannot get from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then the input constraint, then the critical side-effect warning — a logical progression. The warning paragraph is long but every clause carries load-bearing information about records that would otherwise surprise the caller.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool, the safety profile is covered by annotations, the output schema covers return values (and the description even flags the records field), and both parameters are fully explained. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: it specifies that subdomain is a prefix only (blog, not blog.site.ru), that the value will be rejected otherwise, and that domain_id carries the parent with a pointer to domain_list. Both parameters gain meaning beyond their bare schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (create a subdomain) and scopes it precisely: the subdomain must be a bare prefix, not an FQDN. It distinguishes itself from domain_add (creates domains) and domain_subdomains (lists them) by naming the parent-vs-child relationship.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Requires an existing parent and points to domain_list for resolving domain_id, giving clear usage context. It stops short of naming alternatives or exclusions, but there is no competing sibling that creates subdomains, so the guidance is nearly complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_change_phpB

Переключить версию PHP для домена.

Args: full_fqdn: Полное имя домена (например: site.ru) php_version: Версия PHP (например: 8.1, 8.2, 8.3)

ParametersJSON Schema
NameRequiredDescriptionDefault
full_fqdnYes
php_versionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered, but the description adds nothing further: it never says what the change affects, whether the site is restarted, what permissions are needed, or whether the change is reversible. Given the lower bar set by annotations, this is still a notable gap for a 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose sentence is front-loaded and the two argument lines are tight and example-driven, with no filler. The Args block is slightly boilerplate-heavy but earns its place given the 0% schema coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and both parameters are documented. What is missing for a domain-mutating tool is permissions/eligibility context and how it differs from domain_php_version, leaving it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden, and it does so for both required parameters: full_fqdn is explained with a concrete example ('site.ru') and php_version with accepted formats ('8.1, 8.2, 8.3'). It stops short of stating whether the version must be pre-installed or whether the value is validated, but the format guidance is real added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource ('Переключить версию PHP для домена'), which is unambiguous on its own. It does not, however, distinguish this mutating tool from the sibling domain_php_version or explain how the two relate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g. that the domain must already be added), and no reference to alternatives such as domain_php_version. The agent must infer the usage context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_check_to_registerB
Read-only

Проверка доступности домена для покупки.

Args: hostname: Имя домена (например: example) zone_id: ID доменной зоны period: Период регистрации в годах (по умолчанию 1)

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo
zone_idYes
hostnameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the no-side-effect profile is covered by structured data. The description adds only that this is an availability check for purchase, and is consistent with the annotations (no contradiction), but says nothing about whether zone_id must come from domain_zones or how the result should be interpreted before registering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence of purpose followed by a compact Args list; nothing is padded. It is appropriately sized for a three-parameter tool, though the Args block is the only content beyond the first line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the parameters are documented. However, for a check that gates a purchase, the description omits the relationship to domain_add/domain_zones and any note on what a positive vs. negative result implies. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden — and it does: it explains hostname as the domain name (with an example), zone_id as the domain zone ID, and period as the registration period in years with a default of 1. This meaningfully compensates for the bare schema, though it does not clarify where zone_id values come from.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource: checking whether a domain is available for purchase/registration. That is distinguishable from write-oriented siblings like domain_add and read-oriented domain_list. It does not explicitly name or contrast with any sibling, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intent (pre-purchase availability check) implies its usage, but the description never states when to call this instead of domain_add, domain_list, or domain_zones, nor that it should precede a registration call. No prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_deleteC
Destructive

Убрать домен из аккаунта.

Args: domain_id: ID домена

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=false, so the safety profile is covered structurally. The description adds only the scope phrase 'из аккаунта' and says nothing about irreversible consequences (removal of associated sites, mail, DNS records) or whether confirmation is required – the context an agent most needs for a destructive call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is front-loaded and terse, which is good, but the 'Args:' block adds nothing that the schema does not already show. It is short without being wasteful, but also without earning its structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. Still, for a destructive, non-readOnly operation on an account domain, the definition omits idempotency, side effects, and any recovery guidance, leaving the definition under-specified for its risk level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single parameter, so the description carries the burden. 'domain_id: ID домена' merely restates the parameter name; it does not say whether this is a domain name string vs. numeric ID, nor how the ID is obtained (via domain_list). This leaves real ambiguity for a required identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Убрать домен из аккаунта' – remove domain from account), which is clear on its own. However it gives no differentiation from close siblings such as domain_delete_subdomain or site_unlink_domain, so an agent must infer the distinction from the names alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives (e.g., domain_delete_subdomain for subdomains vs. this tool for a top-level domain). The agent is left to infer scope purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_delete_subdomainC
Destructive

Убрать поддомен.

Args: subdomain_id: ID поддомена

ParametersJSON Schema
NameRequiredDescriptionDefault
subdomain_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive write operation. The description adds nothing beyond that — no warnings about data loss, no mention of irreversible consequences, no side effects. With annotations covering the safety profile, a 2 reflects minimal added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one verb phrase plus an Args section). It is not verbose, but the Args section merely repeats the parameter name in Russian, which borders on tautology. The structure is minimal but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a destructive operation with one required parameter at 0% schema coverage, and an output schema present, the description should at least explain how to obtain subdomain_id, whether deletion cascades to related resources (e.g., DNS records, sites), and any prerequisites. It provides none of this, leaving significant gaps 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.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only says 'subdomain_id: ID поддомена', which restates the parameter name without adding format, source, or how to obtain the ID. This is inadequate for a required parameter with zero schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource in Russian: 'Убрать поддомен' (remove a subdomain). This is specific and distinguishable from siblings like domain_delete (removes a whole domain) and domain_add_subdomain. However, it doesn't explicitly name the alternative or scope in English, and the tool name itself already conveys this.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as domain_delete or domain_remove_directives. The description does not state prerequisites, such as whether the subdomain must be empty or have no active sites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_get_directivesC
Read-only

Пользовательские PHP-директивы домена.

Args: full_fqdn: Полное имя домена (например: site.ru)

ParametersJSON Schema
NameRequiredDescriptionDefault
full_fqdnYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing behavioral — no indication of what the directives payload looks like, whether it can be empty, or any account/permission context — so it contributes no value 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short lines with zero padding, and the resource statement is front-loaded. The Args block is mildly boilerplate but carries the only parameter format hint available, so it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and this is a simple single-parameter read tool. Still, with zero schema coverage and no usage guidance, the definition is only minimally viable — an agent could call it but has no picture of expected output shape or failure conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (the single property has only a title, no description), so the description must compensate. It does partly: it labels full_fqdn as the full domain name and supplies a concrete example (site.ru), which is genuinely useful formatting guidance. It still omits any mention that the FQDN must already exist in the account, so this is only a partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource precisely (custom PHP directives of a domain), which distinguishes it from siblings like domain_add_directives and domain_remove_directives, but it contains no verb at all — it is essentially a noun phrase restating the tool name. An agent can infer retrieval from the name, not the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites, and no reference to the closely related siblings domain_add_directives/domain_remove_directives. The agent is left to infer that this is the read counterpart based solely on the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_listB
Read-only

Все домены, привязанные к аккаунту.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds nothing beyond that — no note on whether results are paginated, cached, or include suspended domains. With annotations carrying the load, the description's lack of any extra behavioral context keeps this low.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no wasted words, delivering the core scope up front. It is terse to the point of being minimal, but nothing is padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details are not the description's responsibility, and a no-parameter read-only list is intrinsically simple. Still, the complete absence of usage context or sibling differentiation leaves a gap for a tool sitting among many similarly named domain operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify and the baseline is 4. Schema coverage is 100% on an empty object, which matches the description's implication that no filtering input is accepted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource ('all domains') and the scope ('linked to the account'), so an agent knows this returns the account's domain list without any parameters. However, it does not distinguish itself from close siblings such as domain_zones, domain_subdomains, or domain_check_to_register, which an agent could easily confuse with a plain domain listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives, and no indication of when this is preferable to domain_zones or domain_subdomains. The agent must infer usage entirely from the name and from sibling naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_php_versionB
Read-only

Текущая версия PHP на домене.

Args: full_fqdn: Полное имя домена (например: site.ru)

ParametersJSON Schema
NameRequiredDescriptionDefault
full_fqdnYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds no behavioral context beyond the purpose, such as authentication requirements, rate limits, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two lines, front-loading the purpose and then listing the single argument with its meaning. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with an output schema and complete safety annotations, the description covers purpose and parameter meaning. The missing usage guidance versus siblings is a minor gap but not critical for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides the parameter name full_fqdn, its meaning 'Полное имя домена', and an example 'site.ru', giving adequate semantics for the single required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns the current PHP version for a domain, a specific read operation. It implicitly distinguishes itself from the sibling domain_change_php, which mutates the PHP version, though it does not name the sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like domain_change_php. The description only states what it does, leaving the agent to infer that this is for checking, not changing, the PHP version.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_remove_directivesB
Destructive

Снять PHP-директивы с домена.

Args: full_fqdn: Полное имя домена directives: JSON-массив директив, например: [{"name": "max_execution_time", "value": "60"}]

ParametersJSON Schema
NameRequiredDescriptionDefault
full_fqdnYes
directivesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds nothing behavioral beyond that: it does not say whether removal is immediate or reversible, whether the directives must already exist, or whether a restart/reload is needed for the change to take effect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose sentence is front-loaded and the Args block is compact and directly useful for constructing the call. Slightly boilerplate docstring formatting, but no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and both parameters are documented. However, for a destructive two-parameter mutation tool there is no guidance on prerequisites, permission requirements, or the effect on the domain after removal, leaving the definition minimally viable rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description meaningfully compensates: full_fqdn is described as the full domain name, and directives is clarified as a JSON array despite the schema typing it as a plain string, complete with the example [{"name": "max_execution_time", "value": "60"}]. This resolves genuine ambiguity the schema alone would create.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 PHP directives from a domain. The verb 'remove' (Снять) naturally contrasts with the sibling tools domain_add_directives and domain_get_directives, so an agent can route correctly, though the description never names those alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no mention of the closely related domain_add_directives / domain_get_directives siblings. Only the operation itself is implied; the agent must infer that this tool is for deleting previously set directives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_subdomainsA
Read-only

Все поддомены аккаунта.

Beget не отдаёт здесь www-алиасы, которые сам создаёт к поддомену (www.sub.site.ru к sub.site.ru): их нет ни в этом списке, ни в dns/getData. Записи такого имени смотреть через dns_get — он уходит на фолбэк к родительской зоне.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: an entire class of records (auto-created www-aliases) is silently excluded from this list and also absent from dns/getData — a gotcha an agent would otherwise misread as 'no such subdomain exists'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in one line, followed by the caveat and the fallback route. Every sentence carries information, though the parenthetical example (www.sub.site.ru → sub.site.ru) is slightly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. For a no-parameter read tool, the description supplies the one non-obvious fact (www-alias exclusion plus the dns_get fallback) that an agent cannot derive from schema or annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline of 4 applies. There are no argument semantics to clarify, and the description correctly spends its budget on behavior instead of invented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific resource and scope — all subdomains of the account — which implicitly separates it from domain_list (top-level domains) and domain_zones. It does not explicitly name a sibling, so it falls just 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete usage boundary: www-aliases are NOT returned here, and records for such names must be fetched via dns_get. That is explicit routing for an edge case, though it offers no general 'use this when…' framing versus other listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_zonesB
Read-only

Доступные доменные зоны (.ru, .com и пр.).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds only example suffixes, with no note on whether the list is static or account-dependent, no pagination or auth context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded with the key noun, with no wasted wording. It is a fragment rather than a sentence, which slightly weakens structure but keeps it maximally terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter read-only tool with an output schema, the definition is minimally viable, but it omits whether the returned zones are a fixed reference set and how they relate to sibling domain tools, leaving an agent with just enough to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4; the schema fully covers the (empty) argument set and the description has no parameter semantics to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (available domain zones) with concrete examples (.ru, .com), which distinguishes it reasonably from siblings like domain_list (the user's own domains) or domain_check_to_register. It lacks an explicit verb, but the intent of a reference lookup is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this tool, when not to, or which sibling to prefer for related tasks (e.g. domain_list, domain_check_to_register). The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ftp_addB

Добавить FTP-аккаунт. Итоговый логин: login_suffix.

Args: suffix: Суффикс логина homedir: Домашняя директория (например: site.ru/public_html) password: Пароль FTP

ParametersJSON Schema
NameRequiredDescriptionDefault
suffixYes
homedirYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the agent already knows this is a bounded write with no destructive side effects. The description adds the notable detail that the resulting login is derived from a suffix (i.e., a prefix is appended), but it does not disclose whether the password is returned, whether the account is immediately active, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, followed by a compact three-line argument list with no filler. The 'password: Пароль FTP' line is near-tautological with the parameter name, but overall the structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter create tool with an output schema (return values need not be explained), the description covers the essentials but omits how the login is actually formed, whether the domain must pre-exist, and any failure/duplicate behavior. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and property titles are bare ('Suffix', 'Homedir', 'Password'), so the description carries the full burden. It labels each parameter and, crucially, gives a concrete homedir example ('site.ru/public_html'), which meaningfully clarifies format beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Добавить FTP-аккаунт' (add an FTP account), which distinguishes it from siblings ftp_list, ftp_delete, and ftp_change_password. The follow-up 'Итоговый логин: login_suffix' hints at the login-composition behavior, though it names a parameter (login_suffix) that does not exist in the schema, introducing mild confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the FTP siblings, no prerequisites (e.g., the domain must exist first), and no mention of what happens if an account already exists. Usage is only implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ftp_change_passwordC

Сменить пароль FTP-аккаунта.

Args: suffix: Суффикс логина FTP password: Новый пароль

ParametersJSON Schema
NameRequiredDescriptionDefault
suffixYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the agent knows this is a non-destructive write scoped to the account. The description adds nothing beyond that: it does not say whether existing FTP sessions are invalidated, whether the change is immediately effective, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded: the purpose is the first phrase, followed by a compact Args block. Nothing is wasted, though the boilerplate 'Args:' formatting adds little for an already self-evident parameter list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the operation is low-complexity with only two required params. Still, for a credential-mutating tool with 0% schema coverage, the description omits the meaning/preconditions of 'suffix' beyond a restatement and any note about effect on active sessions or required permissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full param burden; it partially compensates by clarifying that 'suffix' means the FTP login suffix and 'password' is the new password. That resolves the main ambiguity, but there is no format, length, or character-set guidance and no explanation of how to obtain the correct suffix.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Сменить пароль FTP-аккаунта' – change FTP account password), which is unambiguous and unique among the siblings (ftp_add, ftp_delete, ftp_list all do different things). It does not, however, explicitly contrast itself with those siblings or point to related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to use this tool versus alternatives, nor any prerequisite such as 'the FTP account must already exist' or 'use ftp_add first to create one'. The name/description implies the intent, but usage is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ftp_deleteC
Destructive

Убрать FTP-аккаунт.

Args: suffix: Суффикс логина FTP

ParametersJSON Schema
NameRequiredDescriptionDefault
suffixYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive write. The description only restates that by saying 'убрать аккаунт' and adds nothing about whether hosted files are also removed, whether the action is reversible, or what permissions are required — no value 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and resource, followed by a compact Args block; there is no filler. It is perhaps over-terse for a destructive operation, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and annotations cover the safety profile. Still, for a destructive single-parameter mutation with 0% schema coverage, the definition omits the account identifier format and the blast radius of the deletion, leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameter load. 'Суффикс логина FTP' does explain what the bare 'suffix' field means, which is genuine compensation, but it is thin — it does not clarify the suffix relative to the full account name or give an example format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Убрать FTP-аккаунт' / remove an FTP account), which is unambiguous and clearly distinguishable from siblings like ftp_add, ftp_list and ftp_change_password. It does not, however, explicitly contrast itself with any sibling, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no named alternative. The agent must infer from the name alone that this is the teardown counterpart to ftp_add.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ftp_listC
Read-only

Все FTP-аккаунты на хостинге.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds nothing beyond that — no scope note (e.g., which hosting/account context), no pagination or rate-limit remark. It is not contradictory, but it contributes zero 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short clause with no filler, front-loaded and easy to parse. It is terse to the point of under-specification, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and with zero parameters the schema side is trivially complete. Still, for a listing tool the description omits any scope or usage context, leaving the definition at minimum viability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. The description correctly implies an unfiltered full listing rather than a lookup by name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The fragment 'Все FTP-аккаунты на хостинге' names the resource (FTP accounts) and implies a full listing, so an agent can infer it returns the account list. However, it contains no verb and no explicit statement that it lists rather than manages accounts; the 'list' semantics come mostly from the tool name, not the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisite note, and no reference to sibling tools such as ftp_add, ftp_delete, or ftp_change_password. The agent must infer from the name alone that this is the read path and the others are the mutating paths.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_change_passwordB

Сменить пароль почтового ящика.

Args: domain: Домен (например: site.ru) mailbox: Имя ящика (часть до @) password: Новый пароль

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds minimal behavioral context beyond what annotations provide — it doesn't mention permission requirements, reversibility, or side effects. A 3 is appropriate given the annotations carry the safety burden but the description adds little.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then lists parameters concisely. Every sentence earns its place, though the Args section is somewhat redundant with the schema property names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values. Given the annotations cover safety and the description documents all parameters, it is reasonably complete for a simple mutation tool. It could still mention when to use it versus mail_change_settings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It documents all three parameters (domain, mailbox, password) with clarifying detail — for example, explaining that mailbox is the part before '@' and giving a domain example. This meaningfully fills the gap left by the bare schema, though it could be more precise about password requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Сменить пароль почтового ящика' — change mailbox password), which is clear and distinct from siblings like mail_change_settings or mysql_change_password. It lacks explicit sibling differentiation, so it falls short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description does not mention prerequisites, nor how it differs from mail_change_settings, leaving usage context entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_change_settingsB

Настройки почтового ящика: спам-фильтр и пересылка.

Args: domain: Домен mailbox: Имя ящика spam_filter_status: 1 = включить спам-фильтр, 0 = выключить (-1 = не менять) spam_filter: Уровень фильтрации (-1 = не менять) forward_mail_status: no_forward / forward / forward_and_delete (пусто = не менять)

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes
spam_filterNo
spam_filter_statusNo
forward_mail_statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-destructive, closed-world mutation. The description usefully adds the '-1 = do not change' convention for the defaults, which tells the agent that omitted optional fields leave settings untouched. It does not describe permissions, reversibility, or side effects beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then a compact per-argument list with no wasted filler. The args block is somewhat duplicative of the named schema fields, but necessary since schema coverage is 0%.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. All five parameters are addressed and the required domain/mailbox pair is identifiable, leaving only sibling routing as a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full parameter burden, and it does so well: it maps spam_filter_status (1/0/-1), spam_filter (-1 = no change), and forward_mail_status (no_forward/forward/forward_and_delete) to concrete meanings. domain and mailbox are only trivially glossed, keeping it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening states a clear verb+resource: modifying mailbox settings, specifically the spam filter and forwarding. It does not, however, distinguish this tool from siblings such as mail_forward_add, mail_forward_delete, or mail_set_domain_mail, which overlap in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the dedicated forwarding tools (mail_forward_add/delete) that are siblings, nor any prerequisites or exclusions. The agent must infer context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_clear_domain_mailC

Отключить catch-all для домена.

Args: domain: Домен

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations state readOnlyHint=false, destructiveHint=false, openWorldHint=false, which is roughly consistent with a reversible config change. However, the description adds nothing beyond the verb: it does not say whether existing forwarded mail is affected, whether the change is immediate, or what confirmation is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-sentence purpose is front-loaded and free of padding; the Args block is boilerplate but brief. Slightly larger than the idea requires but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with a single undocumented parameter and no useful annotation detail, the description leaves real gaps: no effect on existing catch-all mail, no permissions note, no mention of the inverse operation. An output schema exists, so return values need not be explained, but input behavior still is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the only parameter is a bare string titled 'Domain'. The description's 'domain: Домен' merely restates the parameter name and adds no format, FQDN, or validation guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: disabling catch-all for a domain. It is distinguishable from the counterpart mail_set_domain_mail, though it does not name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to use this versus mail_set_domain_mail or mail_change_settings, and no prerequisites or warnings are given. Usage must be inferred from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_createC

Добавить почтовый ящик.

Args: domain: Домен (например: site.ru) mailbox: Имя ящика (часть до @) password: Пароль

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is carried structurally. The description adds nothing beyond that: it never says what happens if the mailbox already exists, whether quotas or provider-specific limits apply, or that the password cannot be retrieved afterward.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded: the purpose is stated before the Args block, and each parameter line is one sentence. No wasted prose, though the Args section is somewhat boilerplate for parameters whose names are already self-describing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the safety profile. What is missing is creation-specific behavior such as duplicate-mailbox handling and quota limits, which matters for a mutating mailbox-provisioning tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it partially does: it clarifies that mailbox is only the local part before "@" and gives a domain example (site.ru). However, password carries no format or strength requirements, and the domain/mailbox relationship (must the domain already exist?) is left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Concrete verb+resource ("Добавить почтовый ящик" / add a mailbox) is immediately clear and distinguishes the tool from mail_delete, mail_change_password, and mail_change_settings in the sibling set. It stops short of explicitly naming which sibling to prefer for related operations, so it lands at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives even though several mail_* siblings exist. The agent must infer the entire usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_deleteC
Destructive

Убрать почтовый ящик.

Args: domain: Домен mailbox: Имя ящика (часть до @)

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, which matches the 'remove' wording. Beyond that the description adds nothing: it does not say whether deletion is irreversible, whether mail data/aliases are purged, or what confirmation is required for 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded, which is appropriate, but the Args block essentially duplicates the schema property titles and the whole thing is terse to the point of under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations carry the safety profile. However, for a destructive delete with both parameters undocumented in the schema, the description leaves out any consequence or permission context an agent would want.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the parameter burden. It clarifies that 'mailbox' is the part before the @, which is genuinely useful, but 'domain' is only labeled 'Домен', adding no real meaning over the schema title. Partial compensation for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The single phrase 'Убрать почтовый ящик' names a specific verb (remove) and resource (mailbox), so an agent knows exactly what operation it performs. It does not explicitly distinguish itself from siblings like mail_change_password, but the destructive remove semantics against mail_create/mail_list is clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives (e.g., mail_clear_domain_mail) and no mention of prerequisites such as the mailbox existing or the deletion being permanent. The description only restates the operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_forward_addB

Включить пересылку на указанный адрес.

Args: domain: Домен mailbox: Имя ящика forward_mailbox: Email для пересылки

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes
forward_mailboxYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, openWorldHint=false, destructiveHint=false, so the safety profile is structured. The description adds no extra behavioral context such as idempotency, limits on number of forwards, or whether enabling a forward affects mail delivery. With annotations covering the safety basics, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main sentence is front-loaded and concise; the Args block is a minimal restatement of parameters. No wasted prose, though the Args section adds little value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But for a mutation tool with no usage guidelines and thin parameter semantics, the description leaves the agent without enough context about side effects (e.g., overwriting existing forwards, effect on mail routing). Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description only repeats the parameter names with short labels (Домен, Имя ящика, Email для пересылки). It does not clarify formats (e.g., whether domain includes scheme, whether forward_mailbox can be external). For a 3-param tool with zero schema coverage, the description should compensate, and it barely does.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action ('Включить пересылку' = enable forwarding) on a specific resource (an email address), so the verb+resource are clear. It is not tautological. However, it does not distinguish itself from siblings like mail_forward_delete and mail_forward_list beyond the obvious 'add' semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any prerequisites (e.g., whether the mailbox must already exist, or whether duplicate forwards are allowed). The reader must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_forward_deleteB

Снять пересылку на указанный адрес.

Args: domain: Домен mailbox: Имя ящика forward_mailbox: Email для удаления из пересылки

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes
forward_mailboxYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is largely covered by structured fields. The description adds that a single forward entry is being removed (not the mailbox itself), which is useful, but it says nothing about idempotency, required permissions, or behavior when the address is not present. No contradiction with annotations, though destructiveHint=false versus a removal operation is worth noting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded single-sentence purpose followed by parameter notes; nothing is wasted. The Args block is somewhat redundant with the schema, but it is short.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the annotation set covers the safety profile. What is missing for a three-parameter mutation tool is any statement of preconditions (a forward must already exist), error behavior, or scope of the change — leaving the definition minimally viable rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does so only partially: domain and mailbox glosses merely restate the schema titles ('Domain', 'Mailbox'), while 'Email для удаления из пересылки' does clarify what forward_mailbox means. The format of forward_mailbox (full email vs local part) remains unspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 forward for a given mailbox address — so an agent can distinguish it from mail_forward_add and mail_forward_list. It does not, however, name those siblings explicitly, so the differentiation is inferred from tool names rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus mail_forward_add, mail_forward_list, or mail_change_settings. The agent must infer that this is the removal counterpart to mail_forward_add purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_forward_listC
Read-only

Адреса пересылки для ящика.

Args: domain: Домен mailbox: Имя ящика

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
mailboxYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. However, the description adds no behavioral context of its own: no mention of permissions, pagination, empty-result behavior, or what constitutes an entry beyond what the annotations already say.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the purpose before the Args block, with zero filler. It is terse rather than padded, though the brevity borders on under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the read-only safety profile. For a two-parameter read tool that is minimally adequate, but with 0% parameter coverage and no format guidance, the description leaves real gaps an agent must guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden for the two parameters. It only restates 'domain: Домен' and 'mailbox: Имя ящика', giving no expected format (e.g. whether domain includes a scheme, whether mailbox is a local part or a full address, or whether an alias is accepted), so it fails to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Адреса пересылки для ящика' (forwarding addresses for a mailbox) clearly names the resource being retrieved, and the name mail_forward_list supplies the list verb. It is unambiguous on its own, but it does not differentiate itself from sibling tools such as mail_forward_add/mail_forward_delete or explain the scope of the listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus mail_forward_add, mail_forward_delete, or mail_forward_list's relation to mail_change_settings. The agent must infer usage purely from the tool name, and no prerequisites 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.

mail_listB
Read-only

Почтовые ящики на указанном домене.

Args: domain: Домен (например: site.ru)

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the description doesn't need to establish safety. The description adds the domain-scoping constraint, which is useful context, but doesn't cover return format, pagination, or behavior when the domain has no mailboxes. With annotations carrying the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded, with the resource and domain scope stated before the parameter note. No wasted sentences, though the description is arguably under-specified rather than concise in a positive way.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 an output schema, the essentials (resource, required domain parameter with example) are present. Still missing which mailbox attributes are returned or how results are ordered, but the output schema likely covers return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and only the description documents the single parameter, including a concrete format example ('сайт.ru'), which compensates for the missing schema description. There's only one parameter, so there's limited additional semantic depth to provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource ('почтовые ящики', mailbox list) and a domain scope, which roughly implies a listing operation. However, it uses a noun phrase without an explicit verb like 'list', and doesn't distinguish itself from siblings such as mail_create or mail_delete in the mail_* family. Purpose is inferable but weakly specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus related mail tools (mail_create, mail_delete, mail_forward_list) or domain tools. An agent must infer usage from the name alone, with no conditions or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_set_domain_mailC

Назначить catch-all ящик для домена.

Args: domain: Домен domain_mailbox: Имя ящика, на который будет приходить вся почта домена

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
domain_mailboxYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the agent knows this is a non-destructive write. The description adds little beyond that: it doesn't say whether it overwrites an existing catch-all, what happens on failure, or that it requires the domain to exist. Minimal behavioral context for a 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-line purpose is front-loaded and efficient, but the Args block merely repeats parameter names, adding length without value. Adequate but not tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, for a two-parameter mutation with 0% schema coverage and minimal annotations, the description is too thin: it doesn't explain parameter meaning, side effects, or prerequisites. Gaps remain an agent would need to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so both parameters are undocumented in the schema. The description only restates the parameter names in Russian ('domain: Домен', 'domain_mailbox: Имя ящика...') without adding format, constraints, or examples. This does not compensate for the 0% coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: setting a catch-all mailbox for a domain. The Russian description ('Назначить catch-all ящик для домена') clearly identifies the operation and distinguishes it from siblings like mail_create or mail_clear_domain_mail. Not a perfect 5 because it assumes the agent understands 'catch-all' semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance or alternatives named. The agent must infer this is the right tool versus mail_clear_domain_mail (to remove) or mail_create (to make a specific mailbox). No conditions, prerequisites, or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_setup_mailruA
Destructive

Прописать MX и SPF для Mail.ru для бизнеса одним вызовом.

Ставит:

  • MX: emx.mail.ru, preference 10

  • TXT SPF: v=spf1 redirect=_spf.mail.ru (прочие TXT сохраняются)

DKIM настраивается в панели Mail.ru для бизнеса — ключ кладётся на mailru._domainkey.<домен>.

Не трогает A-записи, NS и прочие TXT. Если в зоне есть CAA/SRV — потребует force=True.

Args: fqdn: Имя домена force: Продолжить при наличии CAA/SRV

ParametersJSON Schema
NameRequiredDescriptionDefault
fqdnYes
forceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false. The description adds substantial value beyond annotations: it specifies exactly which records are set (MX and TXT SPF with exact values), what is preserved (other TXT records are kept), what is not touched (A records, NS, other TXT), and the special requirement that CAA/SRV records necessitate force=True. This goes well beyond the binary annotation flags, though it doesn't discuss permissions or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured block that front-loads the core action (setting MX and SPF) followed by details on values, preservation, and side effects. It is reasonably sized for a DNS mutation tool, though the DKIM note is somewhat tangential since it describes a manual step not performed by this tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description need not explain return values. It adequately covers what the tool does, which records are modified, what is preserved, and the force parameter's purpose. It lacks explicit usage guidelines and full parameter semantics, but for a destructive DNS operation with clear annotations, it provides enough context to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the parameters fqdn and force have no formal descriptions. The description does mention fqdn (domain name) and force (continue when CAA/SRV exist), which adds meaning beyond the bare schema titles. However, the description only partially compensates for the zero coverage — it doesn't explain the fqdn format or edge cases for force. The provided info is useful but insufficient for full parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and verb: it sets MX and SPF records for Mail.ru for business in one call. It clearly contrasts with siblings like dns_set_mx or dns_set_txt by being a bundled setup, and the sibling mail_setup_yandex suggests a parallel purpose, but the description does not explicitly differentiate itself from all other DNS/mail setup tools. The inclusion of exact MX and SPF values makes the tool's unique bundling clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied (for setting up Mail.ru business email), but there is no explicit when-to-use or when-not-to-use guidance. The tool doesn't state prerequisites like domain ownership verification or that it should be used instead of individual dns_set_mx and dns_set_txt calls. It also doesn't mention alternatives such as mail_set_domain_mail or mail_setup_yandex.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mail_setup_yandexA
Destructive

Прописать MX и SPF для Яндекс 360 одним вызовом.

Ставит:

  • MX: mx.yandex.net, preference 10 (заменяет существующие MX)

  • TXT SPF: v=spf1 redirect=_spf.yandex.net (заменяет существующую SPF, прочие TXT — DKIM, верификации — сохраняются)

DKIM Яндекс настраивается отдельно (Я.Почта для домена → DKIM), там выдаётся ключ для mail._domainkey.<домен>. После получения ключа — dns_set_txt на соответствующий поддомен (либо сначала domain_add_subdomain).

Не трогает A-записи, NS и прочие TXT. Если в зоне есть CAA/SRV — потребует force=True (они будут удалены).

Args: fqdn: Имя домена (site.ru) force: Продолжить при наличии CAA/SRV

ParametersJSON Schema
NameRequiredDescriptionDefault
fqdnYes
forceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructiveHint/readOnlyHint annotations by disclosing exactly what is replaced (MX, SPF), what is preserved (other TXT, A, NS), and the destructive consequence of force with CAA/SRV. This is the kind of irreversibility detail annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the one-line purpose, then structures the record details, DKIM note, and safety warning as distinct blocks. Slightly verbose in the DKIM section, but every block carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description fully covers behavior, side effects, precondition, and follow-up flow. Nothing needed to invoke this mutation correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry both params, and it does: fqdn is glossed as the domain name (site.ru) and force is tied to the CAA/SRV precondition. The glosses are correct but terse for a fully undocumented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: sets MX and SPF for Yandex 360 in a single call. Explicitly enumerates the exact records (mx.yandex.net preference 10; v=spf1 redirect=_spf.yandex.net), which distinguishes it cleanly from the granular dns_set_mx / dns_set_txt siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the multi-step DKIM workflow and points to dns_set_txt / domain_add_subdomain for the follow-up, and warns that CAA/SRV zones require force=True. It does not name mail_setup_mailru as the alternative for the Mail.ru case, leaving one routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mysql_addC

Добавить базу MySQL. Итоговое имя: login_suffix.

Args: suffix: Суффикс имени БД password: Пароль для доступа к БД

ParametersJSON Schema
NameRequiredDescriptionDefault
suffixYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-not-destructive nature is covered. The description adds the useful naming convention (final DB name = login_suffix) but says nothing about side effects, required permissions, or whether a DB user is auto-created alongside the database.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short, front-loaded, and well organized with a title line followed by an Args list. Every line carries information; only minor value is lost by not compressing the parameter notes further.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. For a creation tool with two required parameters, the description leaves out usage conditions and the side effect of database/user creation, making it only minimally sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load, and it does explain both parameters briefly: suffix is the DB name portion and password is the DB access password. The composition rule 'login_suffix' adds real meaning, but format constraints (allowed characters, length) remain undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Добавить базу MySQL' = add a MySQL database), which clearly separates it from mysql_list, mysql_delete, and mysql_add_access. The naming rule (login_suffix) further distinguishes it, though it does not explicitly name a sibling it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus mysql_add_access, mysql_change_password, or mysql_list. There are no prerequisites or exclusions stated, leaving the agent to infer the entire usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mysql_add_accessB

Открыть доступ к базе MySQL с указанного хоста.

Args: suffix: Суффикс имени БД access: Откуда разрешить доступ (IP, домен, localhost или * для всех) password: Пароль (минимум 6 символов)

ParametersJSON Schema
NameRequiredDescriptionDefault
accessYes
suffixYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, indicating a non-read, non-destructive, closed-world mutation. The description adds no behavioral context: it doesn't state whether existing access is overwritten or appended, whether the DB must already exist, or any rate limits. With annotations already covering the safety profile, the description remains very thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence followed by a concise args list. It is front-loaded and wastes no words, though the args section is somewhat clipped and could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with an output schema present (which handles return values), the description covers the basic purpose and parameter hints. However, it lacks prerequisites (DB existence), interaction with existing access rules, and any permissions required. Given annotations cover safety, this is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does provide brief semantics for all three parameters: suffix (DB name suffix), access (allowed host/IP/domain/localhost or *), and password (min 6 characters). This is helpful but minimal; it doesn't explain format expectations, wildcard behavior in detail, or how suffix maps to actual DB name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Открыть доступ к базе MySQL' — open access to a MySQL database) and specifies the scope (from a given host). It is distinguishable from siblings like mysql_add (creates DB), mysql_drop_access (removes access), and mysql_change_password. However, it does not explicitly name the sibling it complements or contrasts with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied but not stated: the tool is for granting access to a MySQL DB from a host. There is no explicit when-to-use, when-not-to-use, or alternative tool guidance (e.g., 'use mysql_drop_access to revoke'). The agent must infer the context from the name and sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mysql_change_passwordB

Сменить пароль к базе MySQL.

Args: suffix: Суффикс имени БД password: Новый пароль access: Хост доступа (по умолчанию localhost)

ParametersJSON Schema
NameRequiredDescriptionDefault
accessNolocalhost
suffixYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description's marginal burden is lower. However, the description adds nothing behavioral: it does not warn that the previous password becomes invalid immediately, note any authentication/permission requirement, or clarify the scope of the change. It only restates the argument list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, followed by a compact Args block; every line earns its place. The loss is minor (the Args list is a schema echo), but there is no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool mutates credentials, has a full output schema and annotations, and 3 parameters at 0% schema coverage. The description documents the parameters but omits any usage context or behavioral consequence of the change, leaving the definition only minimally complete for a security-relevant mutation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the semantics, and it does document all three parameters in one line each, including the default for 'access' (localhost). It loses a point for not clarifying what 'suffix' refers to (a DB name suffix vs. full name) or the expected password format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Сменить пароль к базе MySQL'), so the agent knows exactly what operation occurs. It does not distinguish itself from siblings like mysql_add_access, mysql_drop_access, or the parallel ftp_change_password/mail_change_password tools, which is the only thing keeping it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as mysql_add_access or mysql_delete, nor any prerequisites (e.g. that the DB/suffix must already exist). The agent must infer the trigger condition entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mysql_deleteC
Destructive

Убрать базу данных MySQL.

Args: suffix: Суффикс имени БД

ParametersJSON Schema
NameRequiredDescriptionDefault
suffixYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=false, so the safety profile is covered. The description adds nothing beyond this – no warning about permanence, data loss, or required permissions – so it contributes little 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the core action, with the arg note kept brief. The 'Args:' block largely restates the schema, but there is no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a destructive, single-parameter tool the description still omits permissions, side effects, and when to invoke it. It is insufficient for correct invocation given the operation's risk.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does marginally by clarifying the single parameter is a suffix of the DB name ('Суффикс имени БД'). It does not explain the format, the implied prefix, or validation constraints, so it only partially compensates for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Убрать базу данных MySQL' = remove the MySQL database), so the core action is unambiguous. However, it does not differentiate from similar siblings like mysql_drop_access or site_delete, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus alternatives (mysql_list, mysql_add, mysql_drop_access) or on preconditions. For a destructive operation this omission is notable, and no exclusions or context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mysql_drop_accessB

Отозвать доступ к базе MySQL с указанного хоста.

Args: suffix: Суффикс имени БД access: Хост доступа для удаления (IP, домен, localhost или *)

ParametersJSON Schema
NameRequiredDescriptionDefault
accessYes
suffixYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=false, yet revoking access is inherently a destructive modification. The description does not disclose whether the revocation is reversible, what permissions are required, or what happens to existing connections. With no explanation, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with two short sentences and parameter explanations in the Args section. No unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool modifies access control, annotations are sparse and the description lacks critical details: required permissions, whether revoking access drops active connections, and success/failure behavior. An output schema exists but does not cover these operational aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds brief meaning: 'suffix' as the database name suffix and 'access' as the host to remove (including examples like IP, domain, localhost, or *). This clarifies the format of 'access' but the parameter semantics remain somewhat ambiguous without schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: revoke MySQL database access from a specified host. It clearly distinguishes itself from siblings like mysql_add_access or mysql_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it removes an existing access entry, but does not explicitly state when to use it versus alternatives like mysql_delete or mysql_change_password. No prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mysql_listC
Read-only

Все базы данных MySQL на аккаунте.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is fully covered by structured data. The description adds only the account-scoping constraint. No auth requirements, rate limits, or return-shape context are provided, but with annotations covering the behavior, baseline is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short phrase with zero waste and the resource front-loaded. However, it's arguably too terse — it lacks any actionable context (when to call, relation to siblings), so it is efficient but under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values needn't be explained. But with 53 sibling tools and no usage guidance, the description is incomplete for helping an agent select this tool versus backup_mysql_list or stat_db_list_load. It is minimally adequate but leaves a clear selection gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so per rubric the baseline is 4. There are no parameters to document, and the schema description coverage is 100%. No additional parameter meaning is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'All MySQL databases on the account' — a specific resource (MySQL databases) with scope (on the account). This distinguishes it from a generic 'list' but doesn't explicitly differentiate from sibling 'backup_mysql_list' beyond the implicit read-only listing. The verb 'list' is implied rather than stated, keeping it at vague-but-adequate clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no alternatives named, no exclusions. The description only identifies what is returned, not when an agent should call this tool versus other mysql_* tools. This is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_addA

Зарегистрировать сайт. В файловой системе появится каталог name/public_html.

Args: name: Имя сайта (латиницей)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal this is a non-read-only, non-destructive, non-open-world operation. The description adds valuable behavioral context beyond that by disclosing the side effect that a directory name/public_html will be created in the filesystem, which the annotations do 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are front-loaded with the core action and side effect, with zero waste. The Args block is slightly verbose for a single parameter but remains efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter registration tool with an output schema (so return values needn't be explained) and annotations covering the safety profile, the description is largely complete. It discloses the filesystem side effect and the parameter constraint; only usage/alternatives guidance is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the param burden. It documents the single 'name' parameter as the site name '(латиницей)' (in Latin characters), adding a meaningful constraint not present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Зарегистрировать сайт' / register a site), which clearly distinguishes it from siblings like site_delete, site_list, and site_freeze. It is clear but does not explicitly name a sibling alternative, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as site_link_domain or domain_add, nor any stated prerequisites. Usage is only implied by the tool name and the side-effect description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_deleteB
Destructive

Убрать сайт из аккаунта.

Args: site_id: ID сайта (получить через site_list)

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered elsewhere. The description adds nothing about what is actually destroyed (files, databases, DNS records?) or whether the action is reversible, which for a destructive tool is a meaningful omission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short lines, action first, then the parameter directive. No waste. The 'Args:' formatting is boilerplate-ish for a single-field tool but harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations carry the safety/read-only signals. Still, for a destructive removal tool the description should say what removal affects and whether it can be undone, which it does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameter burden, and it does: it names site_id and tells the agent to obtain it via site_list. It does not restate the integer type, but the acquisition path is the more valuable information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: remove a site from the account ('Убрать сайт из аккаунта'). This is clear enough to distinguish from domain_delete/site_freeze, though it never names those siblings or clarifies what 'removing' entails versus freezing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It points the agent to site_list as the source of site_id, which is a useful procedural hint. It gives no guidance on when to use this over site_freeze, site_unfreeze, or site_unlink_domain, so usage is only partially implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_freezeB

Блокировка изменений файлов сайта. Активируется в течение 5-10 минут.

Args: site_id: ID сайта excluded_paths: Пути-исключения, где изменения останутся разрешены

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYes
excluded_pathsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false). The description adds genuinely useful non-obvious behavior: the 5-10 minute activation latency. It does not, however, state that the freeze is reversible via site_unfreeze, nor that it affects site availability, so the behavioral picture is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action in one short sentence, followed by the latency caveat and a compact Args block. No wasted prose, though the Args block restates the schema instead of only adding missing semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description covers both parameters plus the activation delay. The gap is lifecycle context — that this is reversible and how it affects the site — which is material for a state-changing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden. It documents both parameters: site_id (trivially) and excluded_paths as 'paths where changes remain allowed', which is more informative than the bare schema title 'Excluded Paths'. It still does not specify path format (absolute vs relative, glob support).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Блокировка изменений файлов сайта') that an agent can distinguish from other site operations. However, it never names or contrasts itself with its natural siblings site_unfreeze and site_is_frozen, so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or prerequisite guidance is given. The existence of site_unfreeze and site_is_frozen in the sibling list means an agent must guess how this tool relates to the freeze/unfreeze lifecycle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_is_frozenC
Read-only

Статус блокировки файлов сайта.

Args: site_id: ID сайта

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered externally. The description adds nothing beyond that — no note on what 'frozen' means operationally, whose files are checked, or whether an unfrozen/unknown state is possible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loads the purpose in the first line. The 'Args:' docstring block is redundant padding that duplicates the schema, but the overall size is appropriate for a trivial query tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required. For a single-parameter read tool the definition is minimally viable, but the lack of any usage context or clarification of what 'frozen' means leaves an agent with gaps when deciding between this and the freeze/unfreeze siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden for the single parameter. It merely restates the parameter name as 'ID сайта', offering no format, range, or lookup guidance (e.g., whether it is a site_list identifier).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Статус блокировки файлов сайта' identifies the resource (site file freeze status) but leaves the verb implicit and the scope ambiguous — it is unclear whether it returns a boolean, a state list, or file-level detail. It is distinguishable from siblings site_freeze/site_unfreeze as a read-only counterpart, but only by inference rather than by explicit statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to call this versus site_freeze/site_unfreeze or any other sibling, and no prerequisites or preconditions are given. The agent must infer usage entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_listA
Read-only

Все сайты аккаунта и связанные с ними домены.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description contributes one extra behavioral fact — that related domains are returned alongside sites — but says nothing about ordering, volume, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the resource and its scope with no filler. Nothing could be trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no arguments, rich annotations, and a dedicated output schema, the description need not explain return values or safety. The one remaining gap is that it does not say how this listing relates to the stats siblings, but the core contract is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which is the baseline case for a full score. There is no parameter surface for the description to clarify or obscure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: all sites belonging to the account, plus their associated domains. An agent can tell this is the account-wide site listing. It does not, however, distinguish itself from the similarly-named stat_site_list_load sibling, which also concerns site listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is given; usage is only implied by the tool name and the 'all sites' phrasing. For an argument-free read-only enumeration this is largely self-evident, but nothing steers the agent away from the stats-oriented siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_unfreezeB

Снять блокировку изменений файлов сайта. Активируется в течение 5-10 минут.

Args: site_id: ID сайта

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds valuable context about activation latency (5-10 minutes) that isn't in annotations. No annotation contradictions. The annotations declare it's not read-only and not destructive, which is consistent with smoothing a state change.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: one sentence for purpose and one for timing, plus the arg. No waste, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists so return values needn't be described. However, for a state-changing operation, the description is thin on prerequisites (e.g., must the site be frozen first?), permissions, or what specifically gets unfrozen. Latency note helps but more behavioral context would improve it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (site_id) with 0% schema description coverage. The description repeats 'site_id: ID сайта' from the schema title but adds no semantic depth about format, validation, or how to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (unfreeze file changes) on a specific resource (site). The sibling tool site_freeze exists, implying the inverse, but the description doesn't explicitly name the counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (to make changes when the site is frozen), but doesn't explicitly state when to use versus checking site_is_frozen first or what conditions trigger freezing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stat_db_list_loadA
Read-only

Средняя нагрузка по всем базам данных за месяц.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a safe read-only, closed-world operation, so the bar is lower. The description adds the important scoping facts of 'average' and 'over a month', which go beyond the annotations, but says nothing about pagination, result ordering, or rate behavior for a statistics endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence that is front-loaded and wastes no words. It is appropriately sized for a zero-parameter stats tool, though the language mismatch with all sibling tools slightly hurts immediate parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema present and full annotation coverage, the description need not explain return values. It communicates scope and aggregation sufficiently; naming the per-database sibling would complete it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description correctly implies the fixed scope (all databases, one month) so the agent understands no arguments are needed and why.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description ('Average load across all databases over a month') states a specific metric and scope, distinguishing it from siblings like stat_db_load (likely per-database). However, it is written in Russian while the tool name and every sibling are English/Latin, and it does not explicitly name stat_db_load as the per-database alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a monthly, per-database-list aggregation but gives no explicit when-to-use or when-not-to-use guidance. It neither points to stat_db_load for a single database nor states any preconditions, leaving the agent to infer selection from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stat_db_loadC
Read-only

Детальная статистика нагрузки БД: CPU, размер, почасовая и посуточная.

Args: db_name: Имя базы данных

ParametersJSON Schema
NameRequiredDescriptionDefault
db_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, covering the safety profile. The description adds no behavioral context beyond that – no time-window behavior, aggregation granularity, rate limits, or result scope is disclosed. With annotations already carrying the safety profile, the bar is lower, but no additional behavioral value is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded: the core purpose is in the first sentence, with a compact Args section after. No filler. Structure is fine, though the Args restatement is redundant at this length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A read-only statistics tool with a complete parameter schema and an output schema (so return values needn't be described). However, it omits the time-window semantics ('почасовая и посуточная' implies time aggregation) and any usage distinction from stat_db_list_load. Just adequate for a simple stats tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single db_name parameter, so the description should compensate. It only labels 'db_name: Имя базы данных' (database name), which is a tautology of the parameter name and adds no format, source, or lookup semantics. With one parameter and no additional meaning, a baseline 3 is mildly generous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and what is measured: 'Детальная статистика нагрузки БД: CPU, размер, почасовая и посуточная' (detailed DB load statistics: CPU, size, hourly and daily). It is distinguishable from siblings like stat_db_list_load or stat_site_load. However, 'время' is not clarified as a filter dimension, which would fully distinguish it from stat_db_list_load.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance. The description doesn't tell the agent when to use stat_db_load versus stat_db_list_load, its closest sibling, despite that distinction being essential. No exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stat_site_list_loadB
Read-only

Средняя нагрузка по всем сайтам за месяц.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds the useful behavioral fact that the value is a monthly average across all sites, but says nothing about aggregation window precision, refresh cadence, or failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the scope front-loaded; nothing is wasted. It is arguably under-specified rather than over-long, so it loses a point only for thinness, not verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value explanation is unnecessary, and no parameters need documenting. The remaining gap is the lack of sibling differentiation and any note on time range semantics, but the definition is largely sufficient for a zero-arg stats endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there are no argument semantics to document; baseline for a parameterless tool is 4. The description correctly implies the tool takes no filtering input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear resource and metric (average load) scoped to all sites over a month, which separates it from the per-site sibling stat_site_load. However, it does not name that sibling explicitly, so the agent must infer the list-vs-single distinction from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus stat_site_load or stat_db_list_load/stat_db_load. The 'all sites' phrasing implies context, but the description never routes the agent or states prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stat_site_loadB
Read-only

Детальная статистика нагрузки сайта (почасовая и посуточная за месяц).

Args: site_id: ID сайта

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds the useful scope detail that data is aggregated hourly and daily over a month, but says nothing about permissions, limits, or performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short statements with the purpose front-loaded; no filler. The Args block is somewhat redundant with the schema but remains compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description does convey the time granularity. Still missing usage context and any indication of how this differs from the other stat_* tools, leaving real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter exists, but schema description coverage is 0%, and the description merely restates 'site_id: ID сайта' without adding format, source, or valid-range information beyond the schema title. It does confirm the required argument, which is mildly helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: load statistics for a site, with the granularity (hourly and daily for a month). However, it does not distinguish itself from close siblings like stat_site_list_load or stat_db_load, so an agent must guess which statistic is which.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no exclusions, and no reference to alternatives such as stat_site_list_load. The agent must infer the context from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggle_sshA

Переключить SSH-доступ для основного или FTP-аккаунта.

Args: status: 1 = включить, 0 = выключить ftplogin: Логин FTP-аккаунта (если пусто — применяется к основному аккаунту)

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes
ftploginNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, giving the safety profile, and the description is consistent with a toggling mutation. It adds the scoping behavior (main vs FTP account) but does not disclose whether existing SSH sessions are affected, whether the change is reversible, or any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded: the core action is in the first sentence and each argument gets one tight line. No filler, though the Args block duplicates the schema structure rather than adding narrative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with an output schema available (so return values need no explanation) and annotations covering the safety profile, the description supplies the key argument semantics and account scoping. Only deeper behavioral details like session impact are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden: it explains that status uses 1=enable/0=disable and that ftplogin empty means the change applies to the main account. This meaningfully compensates for the undocumented schema, with only minor omissions (e.g. accepted ftplogin format).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Переключить SSH-доступ' / toggle SSH access) and scopes it to either the main or FTP account. It is clear and separable from the listed siblings, none of which operate on SSH access, though it does not name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by explaining that an empty ftplogin applies the change to the main account, which helps the agent pick the right target. There is no explicit when-to-use/when-not-to-use guidance or mention of prerequisites such as required permissions.

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.

  1. 73 tool updatesv0.2.0
    • First observedaccount_info
    • First observedbackup_download_file
    • First observedbackup_download_mysql
    • First observedbackup_file_list
    • First observedbackup_files_list
    • First observedbackup_log
    • First observedbackup_mysql_db_list
    • First observedbackup_mysql_list
    • First observedbackup_restore_file
    • First observedbackup_restore_mysql
    • First observedcron_add
    • First observedcron_delete
    • First observedcron_edit
    • First observedcron_get_email
    • First observedcron_list
    • First observedcron_set_email
    • First observedcron_toggle
    • First observeddns_get
    • First observeddns_patch_record
    • First observeddns_set_a
    • First observeddns_set_cname
    • First observeddns_set_mx
    • First observeddns_set_records
    • First observeddns_set_txt
    • First observeddns_verify
    • First observeddomain_add
    • First observeddomain_add_directives
    • First observeddomain_add_subdomain
    • First observeddomain_change_php
    • First observeddomain_check_to_register
    • First observeddomain_delete
    • First observeddomain_delete_subdomain
    • First observeddomain_get_directives
    • First observeddomain_list
    • First observeddomain_php_version
    • First observeddomain_remove_directives
    • First observeddomain_subdomains
    • First observeddomain_zones
    • First observedftp_add
    • First observedftp_change_password
    • First observedftp_delete
    • First observedftp_list
    • First observedmail_change_password
    • First observedmail_change_settings
    • First observedmail_clear_domain_mail
    • First observedmail_create
    • First observedmail_delete
    • First observedmail_forward_add
    • First observedmail_forward_delete
    • First observedmail_forward_list
    • First observedmail_list
    • First observedmail_set_domain_mail
    • First observedmail_setup_mailru
    • First observedmail_setup_yandex
    • First observedmysql_add
    • First observedmysql_add_access
    • First observedmysql_change_password
    • First observedmysql_delete
    • First observedmysql_drop_access
    • First observedmysql_list
    • First observedsite_add
    • First observedsite_delete
    • First observedsite_freeze
    • First observedsite_is_frozen
    • First observedsite_link_domain
    • First observedsite_list
    • First observedsite_unfreeze
    • First observedsite_unlink_domain
    • First observedstat_db_list_load
    • First observedstat_db_load
    • First observedstat_site_list_load
    • First observedstat_site_load
    • First observedtoggle_ssh

TDQS

C2.9/5.0

Scored across 73 tools

Disambiguation3/5

Most resource areas are distinct, but backup tools have confusingly similar names (backup_files_list vs backup_file_list, backup_mysql_list vs backup_mysql_db_list) and DNS offers many overlapping set/patch variants. Descriptions help clarify boundaries, but an agent could still misselect among near-duplicates.

Naming Consistency3/5

All names use snake_case, but the pattern mixes resource_action (domain_delete), verb_resource (toggle_ssh), noun-only (account_info), and inconsistent verbs (add/create/set/change/remove/drop). It remains readable but not predictably uniform.

Tool Count1/5

73 tools far exceeds the typical 3-15 range and the 50+ threshold for extreme mismatch. While the hosting domain is broad, many granular operations could be consolidated without losing functionality.

Completeness4/5

Coverage spans domains, DNS, mail, FTP, MySQL, sites, cron, backups, stats, and account management, giving strong lifecycle support. Gaps include SSL certificate management and direct file-manager operations, but most core hosting workflows are present.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables AI agents to manage server infrastructure through the 1Panel API, including Docker containers, databases, and system monitoring. It provides tools for website management, file operations, and application deployment via natural language commands.
    15
    20 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to manage Plesk hosting environments through a set of standardized tools for security, health monitoring, DNS, email, backups, and service management.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage WHM hosting accounts and server administration tasks including account management, server stats, updates, SSL, backups, and email through a secure API.
    10
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to administrate WHMCS installations through the External API, providing ~50 tools for clients, billing, orders, services, domains, support, and aggregators with safety features and governance.
    26 npm
    2
    ISC