Skip to main content
Glama

Hostkey MCP Server (RU)

MCP-сервер для Hostkey (портал .ru, InvAPI invapi.hostkey.ru). Клиент запускает сервер локально по stdio — из Cursor, VS Code и других MCP-клиентов.

Endpoint

https://invapi.hostkey.ru (зашит в код)

Авторизация

HOSTKEY_API_KEY

Инструменты

132 типизированных + call_api_raw

Сервер даёт модели доступ к аккаунту Hostkey: серверы, каталог и заказ, питание, переустановка ОС, сеть, DNS, снапшоты, IPMI/консоль, ISO, S3, Remote Hands, биллинг и API-ключи.

Для портала .com — отдельный пакет hostkey-mcp-server.

1. Получите API-ключ

InvAPI → управление API-ключами → выпустите ключ.

Лучше отдельный ключ для MCP. Ключ на один сервер ограничивает доступ этим сервером. Для записи DNS нужны права pdns/edit.

Related MCP server: hostman-mcp-server

2. Установка

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "hostkey-mcp-server-ru": {
      "command": "npx",
      "args": ["-y", "hostkey-mcp-server-ru"],
      "env": {
        "HOSTKEY_API_KEY": "your-api-key"
      }
    }
  }
}

VS Code

.vscode/mcp.json:

{
  "mcp.servers": {
    "hostkey-mcp-server-ru": {
      "command": "npx",
      "args": ["-y", "hostkey-mcp-server-ru"],
      "env": {
        "HOSTKEY_API_KEY": "your-api-key"
      }
    }
  }
}

Опционально: HOSTKEY_TOKEN_TTL, HOSTKEY_HTTP_TIMEOUT, HOSTKEY_ALLOW_DESTRUCTIVE (см. .env.example).

Из исходников (Node.js ≥ 20): npm install && npm run build.

3. Подтверждение опасных операций

Все write-вызовы требуют confirm=true. Без него сервер ничего не меняет.

Дополнительно:

  • заказ сервера по умолчанию в dry_run — реальный заказ только после явного согласия;

  • переустановка ОС, PXE и отмена услуг — только при HOSTKEY_ALLOW_DESTRUCTIVE=1;

  • пароли и токены в ответах маскируются.

Долгие операции (деплой, переустановка) возвращают callback-ключ — статус через check_task.

4. Инструменты

Группы (полный список виден клиенту в tools/list):

Группа

Примеры

Серверы

get_servers, get_server, get_power_status

Каталог

list_presets, list_os, list_traffic_plans

Питание и заказ

power_on, power_off, order_server, reinstall_server

PXE

create_reinstall_task → … → clear_pxe_config

Сеть / DNS

порты, PTR, зоны и записи

Снапшоты, ISO, S3

ВМ-снапшоты, образы, бакеты

Remote Hands

тикеты дежурной смене (request_rh_*, rhr_*)

Биллинг

счета, платежи, контакты

Прочее

check_task, call_api_raw

Промпты

Промпт

Зачем

order_server_prompt

заказ сервера по шагам

reinstall_server_prompt

переустановка ОС

troubleshoot_server_prompt

диагностика

Или просто напишите: «покажи мои серверы» / «закажи VPS в NL» — модель выберет нужные инструменты.

Available Tools

132 tools
add_contactA

Добавить дополнительный контакт в аккаунт (whmcs/add_contact). ВНИМАНИЕ: контакт создаётся со случайным email — его нужно поменять в Invapi.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior4/5

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

The critical warning about the contact being created with a random email that must be changed in Invapi is non-obvious and valuable. Annotations already convey that the operation is not read-only and not destructive, and the description adds concrete post-creation behavior beyond those flags.

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 tight sentences with no filler. The warning is front-loaded after the action and earns its place, and the endpoint parenthetical is brief and useful.

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 one-parameter tool with a fully documented schemaaint, the description covers the essential behavioral caveat. The only minor gap is that 'Invapi' is not explained, but the overall context is sufficient for an agent to call the tool correctly.

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

Parameters3/5

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

Schema coverage is 100% and the only parameter, 'confirm', is self-describing in the schema. The description adds no parameter-level semantics, but none are really needed here since the boolean confirm parameter is fully documented.

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 ('Добавить'/'add'), a clear object ('дополнительный контакт в аккаунт'), and even includes the endpoint 'whmcs/add_contact'. This clearly distinguishes it from sibling tools like update_contact and delete_contact without needing to open their schemas.

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

Usage Guidelines3/5

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

The usage context is implied by the verb and resource: it is for adding, not updating or deleting, a contact. However, the description does not explicitly mention alternatives such as update_contact/delete_contact, nor does it say when this tool should be preferred over them.

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

add_dns_domainA

Создать DNS-зону и добавить домен в таблицу доменов (pdns/add_domain). Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesИмя домена, например example.com
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false, so the write nature is covered. The description adds the permission requirement and explicitly mentions the two side effects (creating a zone and adding a domain), which gives some additional behavioral signal. It does not elaborate on atomicity, reversibility, or failures, but for a create operation the disclosed behavior is adequate.

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 extremely concise and clear, with the primary action front-loaded in the first sentence and the permission requirement in the second. There is no redundant text or filler. Every component serves a purpose.

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 a simple two-parameter tool with no output schema and annotations covering the safety profile, the description is sufficient for an agent to understand the operation. It covers the core action, the side effect, and the required rights. It could have explicitly mentioned the confirm parameter, but that is already fully documented in the schema. The only minor gap is the lack of differentiation from add_dns_zone, which is not critical for completing the call.

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 100%, so the schema already documents both parameters (name and confirm). The description does not add extra meaning about parameter formats or the role of 'confirm', beyond what is present in the schema. Since the schema carries the full burden, the baseline of 3 is appropriate.

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 action ('Создать DNS-зону и добавить домен в таблицу доменов') with a clear resource (DNS zone, domain) and even references the backend function (pdns/add_domain). It is understandable and distinguishes the operation from siblings like add_dns_zone or add_dns_record, though it does not explicitly name alternatives. The resource and verb are specific enough to avoid confusion.

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 provides a necessary permission prerequisite ('Требует права pdns/edit'), which gives some usage context. However, it does not provide guidance on when to use this tool instead of related tools such as add_dns_zone or add_dns_subdomain, nor does it give exclusion conditions. The usage context is only implied by the described action.

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

add_dns_recordA

Добавить или изменить DNS-запись в зоне (pdns/add_dns). Требует права pdns/edit. Для SRV-записей заполните proto/priority/weight/port/target. Поля mname/rname в документации отмечены как обязательные для SOA-проверок — при ошибке заполните их.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoTTL в секундах, по умолчанию 3600
nameNoИмя записи, например www
portNoПорт для SRV
typeYesТип записи: A, AAAA, CNAME, MX, TXT, SRV…
zoneYesИмя зоны
mnameNoPrimary NS в SOA-записи
protoNoПротокол для SRV, например tcp
rnameNoEmail администратора в SOA-записи
targetNoЦелевой домен для SRV
weightNoВес для SRV
confirmYesНужно true, чтобы выполнить операцию.
contentYesЗначение записи, например 10.56.121.5
old_nameNoПрежнее имя записи — для переименования
priorityNoПриоритет для SRV/MX
increase_soa_serialNoАвтоинкремент SOA-сериала (по умолчанию true)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark this as a write operation (readOnlyHint=false), and the description adds useful non-obvious context: the required permission and the conditional SRV/SOA field handling. It does not contradict the annotations, and it does not overstate destructive behavior, consistent with destructiveHint=false.

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

Conciseness5/5

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

The description is three short purposeful sentences: operation, permission, and conditional field guidance. It is front-loaded with the core purpose and contains no filler or redundant restatements of the tool name.

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 15-parameter tool, the combination of the description and the 100% schema coverage covers required parameters, permission prerequisites, and the most important conditional fields. The lack of an output schema means return behavior is not described, but the mutation-focused annotations reduce that burden.

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 100%, so the baseline is 3, but the description goes beyond the schema by grouping SRV parameters and flagging mname/rname as practically required for SOA validation. Not every parameter is elaborated, but the schema already provides solid per-parameter explanations.

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 action ('Добавить или изменить DNS-запись в зоне') and identifies the target resource as a DNS record within a zone, clearly distinguishing it from siblings like delete_dns_record, add_dns_domain, or add_dns_subdomain. It also names the internal endpoint pdns/add_dns, making the operation unambiguous.

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?

The description gives practical usage context: it requires pdns/edit rights, explains that SRV records need proto/priority/weight/port/target, and notes that mname/rname may be required for SOA checks. It does not explicitly mention when not to use this tool or point to alternatives, so it stops short of the highest score.

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

add_dns_subdomainA

Добавить сабдомен в таблицу сабдоменов (pdns/add_subdomain). Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesИмя сабдомена
confirmYesНужно true, чтобы выполнить операцию.
domain_idYesID домена из list_dns_domains
server_idYesID сервера

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already indicate a non-read-only, non-destructive operation, and the description does not contradict them. It adds the authorization requirement and the internal endpoint, but it does not disclose side effects, confirmation behavior in prose, or what happens on duplicate names. The added behavioral context is modest but real.

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 sentences with no filler: the action and endpoint come first, and the permission requirement follows. Every word contributes useful 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?

For a simple four-required-parameter mutation with 100% schema coverage and annotations, the description plus schema provide everything needed to call the tool correctly. The permission precondition, which is not available in structured fields, is explicitly included. The absence of an output schema is acceptable here because the request-side behavior is fully specified.

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 100%, so the schema fully documents all four required parameters. The description adds no parameter-level meaning beyond the schema, and no compensation is needed since the schema carries the burden.

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 clearly states the operation: adding a subdomain to the subdomain table, and even names the internal endpoint (pdns/add_subdomain). This is distinct from sibling tools such as add_dns_domain, add_dns_record, and edit_dns_subdomain, so an agent can tell what resource is being added.

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 gives no explicit guidance on when to use this tool instead of alternatives like edit_dns_subdomain or delete_dns_subdomain. The permission requirement 'pdns/edit' is useful context, but it does not help an agent choose between sibling DNS tools or describe preconditions beyond authorization.

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

add_dns_zoneA

Создать DNS-зону на авторитетном сервере PowerDNS (pdns/add_zone). Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
dnsNoSOA-параметры зоны; при пропуске применяются дефолты Hostkey
kindNoТип зоны, по умолчанию Master
nameYesИмя зоны, например example.com
dnssecNoВключить DNSSEC (по умолчанию false)
rrsetsNoИспользовать RRset вместо records (по умолчанию true)
confirmYesНужно true, чтобы выполнить операцию.
mastersNoСписок master-серверов (для Slave)
nameserversNoNS-серверы зоны, по умолчанию ns1.hostkey.com/ns2.hostkey.com

TDQS

A3.5/5.0
Behavior4/5

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

With readOnlyHint=false and destructiveHint=false, the write semantics are already implied by the annotations; the description adds useful context by stating the authorization requirement (pdns/edit) and the backend endpoint. It does not discuss idempotency or duplicate-zone behavior, but the permission and endpoint details add 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.

Conciseness5/5

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

The description is two short sentences with no filler. The action and resource are front-loaded, and the permission requirement is stated separately and clearly.

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 schema is rich and fully covers the parameters, making the tool callable. However, the description omits usage differentiation from sibling DNS tools, output/return behavior, and any caveats about existing zones, leaving the agent to infer selection and side effects from context.

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 100%, so the schema fully documents parameters, including the confirm=true requirement, defaults, and the nested SOA object. The description itself adds no parameter-level detail, so the baseline score of 3 applies.

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

Purpose4/5

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

The description clearly states the action and resource: creating a DNS zone on an authoritative PowerDNS server, and even names the endpoint pdns/add_zone. It does not explicitly distinguish itself from sibling DNS tools like add_dns_domain or add_dns_subdomain, but 'zone' plus 'PowerDNS' provides reasonable differentiation.

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 gives no when-to-use guidance and names no alternatives. It only mentions the required permission pdns/edit, which is a prerequisite rather than a usage condition. An agent cannot tell when to choose this tool over add_dns_domain or add_dns_subdomain.

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

add_ipmi_userC

Создать временного IPMI-пользователя для веб-доступа к IPMI (eq/add_ipmi_user).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

C2.9/5.0
Behavior3/5

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

The description adds some behavioral context beyond the annotations: the user is temporary and intended for web access, which is not captured by readOnlyHint or destructiveHint. However, it does not disclose how the user's temporary nature is realized, whether any existing IPMI users are affected, or what the operation returns.

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 a single short sentence with the core purpose front-loaded. The trailing parenthetical '(eq/add_ipmi_user)' is non-informative noise, and there is no structured guidance beyond the one-liner.

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 mutating operation with a confirm flag and no output schema, the description is thin: it does not explain what the response will contain, how credentials are delivered, whether an existing IPMI user is replaced, or any side effects. An agent could invoke it but would be uncertain about the outcome.

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 100%, with clear descriptions for both 'id' (server ID) and 'confirm' (must be true to execute). The tool description adds no further parameter-level meaning, so the baseline of 3 applies.

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 action ('Создать' = create), resource ('IPMI-пользователя'), and scope ('временного... для веб-доступа' = temporary... for web access), making the tool's core purpose clear. It does not explicitly mention sibling alternatives like remove_ipmi_user, but 'create' and 'temporary' effectively distinguish it from removal 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?

No guidance is given about when to use this tool versus alternatives, what prerequisites exist, or what conditions warrant creating a temporary IPMI user. The agent must infer usage entirely from the action itself.

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

add_iso_imageB

Добавить новый ISO-образ или обновить существующий по имени (iso/add). Требует специального права 'add'.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL образа, если требуется
nameYesИмя образа
confirmYesНужно true, чтобы выполнить операцию.

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=true, so the description is not required to restate those. The description adds useful context: the operation requires the special 'add' permission and can either add a new image or update an existing one by name. However, it does not disclose what happens on update (e.g., whether the existing image is replaced or rejected), or any side effects beyond the permission requirement.

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 two sentences with no filler. It front-loads the core action (add or update ISO image) and then states the permission requirement. It is concise and structured effectively, though it could have added a brief note about the confirm parameter or update behavior without becoming verbose.

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 no output schema and three parameters, the description covers the core action and permission requirement but leaves gaps: it does not explain what the 'confirm' parameter does beyond the schema's 'Нужно true, чтобы выполнить операцию', does not clarify when 'url' is needed, and does not describe the response or error behavior. The openWorldHint annotation suggests the API may have side effects, but the description does not elaborate. This is adequate but not 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 100%, so the schema already documents all three parameters (url, name, confirm). The description adds the meaning of the 'confirm' parameter implicitly by noting the operation requires the 'add' permission, but it does not explain the relationship between 'url' and 'name' (e.g., whether url is required for new images or updates). Baseline 3 is appropriate since the schema carries the parameter documentation burden.

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: 'Добавить новый ISO-образ или обновить существующий по имени' (add a new ISO image or update an existing one by name), and includes the endpoint 'iso/add'. This clearly distinguishes it from sibling tools like upload_iso, mount_iso, unmount_iso, and delete_iso_image, though it does not explicitly name those alternatives.

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 mentioning the required special permission 'add' and the operation's dual add/update behavior, but it does not explicitly state when to use this tool versus alternatives like upload_iso or delete_iso_image. The permission note gives some guidance, but no explicit when/when-not conditions are provided.

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

add_rhr_commentA

Добавить видимое клиенту сообщение в историю заявки (rhr/chat).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID заявки из list_rhr_requests
confirmYesНужно true, чтобы выполнить операцию.
messageYesТекст сообщения

TDQS

A4/5.0
Behavior4/5

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

Annotations already signal that the operation is not read-only and has open-world effects, but the description adds important behavioral context: the message is visible to the client and is recorded in the request history/chat. This clarifies the side effect of the operation beyond what the boolean annotations alone convey.

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 states the action and target without any filler or redundant phrasing. Every word earns its place, and the key behavioral qualifier 'видимое клиенту' appears early.

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 3-parameter mutation, the presence of annotations, and full schema descriptions, the description is largely complete. It could note what the API returns or that the operation requires a valid existing request ID, but the schema already ties the id to list_rhr_requests and requires confirm=true.

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 input schema fully describes all three parameters with 100% coverage, so the baseline is 3. The description adds no additional parameter-level meaning beyond the schema, though it does reinforce that 'message' is the content being added.

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 uses a specific verb ('Добавить') and a specific resource ('видимое клиенту сообщение в историю заявки (rhr/chat)'). This clearly distinguishes the tool from sibling tools like list_rhr_requests, create_rhr_request, and discard_rhr_request, which all operate on the same domain but with different actions.

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 purpose implicitly conveys when to use the tool: when a client-visible message needs to be appended to an RHR request thread. However, it does not explicitly state when not to use it, mention prerequisites, or name alternative sibling tools that might be confused with it.

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

add_static_natA

Создать статический DNAT до IPMI сервера (nat/add_static_nat): публичный IP для доступа к IPMI. Асинхронная операция — статус через check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.8/5.0
Behavior4/5

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

Discloses the key behavioral trait annotations do not capture: the operation is asynchronous and status must be checked via check_task. This is consistent with readOnlyHint=false and gives the agent a concrete post-invocation action. No failure modes or extra side effects are mentioned, but the async note carries the main transparency burden.

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 front-loaded sentences: the first gives purpose, the second the async status flow. The only waste is the parenthesized '(nat/add_static_nat)' which repeats the tool's own name; otherwise every clause 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?

For a 2-parameter tool with a fully documented schema, it covers what, why, and the post-invocation status flow. But with no output schema, the response shape is unstated (e.g., whether it returns a task ID to feed to check_task), and prerequisites such as IPMI being available on the server are left implicit.

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 100% — id is documented as the server ID and confirm as a required true flag — so the baseline of 3 applies. The description adds only contextual color (the IPMI target) rather than new parameter-level meaning.

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 (create) and resource (static DNAT to the IPMI server), plus the concrete outcome: a public IP for IPMI access. The add-vs-remove contrast with siblings like remove_static_nat, clear_static_nat, and drop_nat is easy for an agent to read. The parenthesized API path is mildly tautological but does not muddy the meaning.

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 intended scenario (exposing IPMI through a public IP) is implied by the purpose statement, but the description never says when to use this tool over its NAT-management siblings or gives any exclusions. An agent must infer that 'add' versus 'remove/clear/drop' is the routing cue.

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

apply_creditA

Оплатить инвойс полностью или частично с кредитного баланса (whmcs/apply_credit). ДЕНЬГИ: списывает средства со счёта.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesСумма оплаты в валюте аккаунта
confirmYesНужно true, чтобы выполнить операцию.
invoice_idYesНомер инвойса

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=false, so a write operation is expected. The description adds valuable context beyond that: 'ДЕНЬГИ: списывает средства со счёта' (MONEY: debits funds from the account), which warns the agent that real financial impact occurs. This does not contradict the annotations; it enriches them.

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, front-loaded with the purpose and followed by a financial warning. The structure is efficient, though the second sentence adds some redundancy with 'с кредитного баланса' repeated as 'со счёта', making it slightly less crisp than an ideal one-sentence definition.

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 3-parameter tool with no output schema, the description covers the essential context: what the tool does, the full/partial scope, and the financial side effect. It does not state prerequisites like needing sufficient credit balance, but this is arguably obvious from 'credit balance' and the schema's confirm flag.

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 100%, so all three parameters (amount, confirm, invoice_id) are already documented in the schema. The description adds no additional meaning about the parameters themselves, which is acceptable given the schema's completeness; the baseline of 3 applies.

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 action and resource: 'Оплатить инвойс полностью или частично с кредитного баланса' (pay an invoice fully or partially from the credit balance). This clearly distinguishes it from sibling tools like mass_pay, generate_due_invoice, or get_credit_history, and the parenthetical '(whmcs/apply_credit)' reinforces the underlying operation.

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?

The description gives clear context: the tool is for paying an invoice from credit, either in full or partially. It does not explicitly mention alternatives or exclusions (e.g., 'use mass_pay for multiple invoices'), so it stops short of a 5, but the 'fully or partially' scope provides enough situational guidance.

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

block_ipA

Заблокировать IP-адрес на сервере на уровне сети Hostkey (net/block_ip). Полезно для abuse-запросов.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
confirmYesНужно true, чтобы выполнить операцию.
four_hoursNotrue — блокировка автоматически снимется через 4 часа
descriptionYesПричина блокировки

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already establish the safety profile (readOnlyHint: false, destructiveHint: false), and the description adds useful scope detail by specifying the block happens at the Hostkey network level rather than at the OS level. However, it does not disclose the consequences for traffic to the IP, reversibility via unblock_ip, or the temporary nature of blocking with four_hours, leaving the agent to infer the operational impact.

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 tight sentences with no redundancy: the first states the action and scope, and the second gives the target use case. It is front-loaded and every word 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?

For a potentially impactful network-blocking operation, the description is adequate but thin: it names the scope and use case, while the schema and annotations cover parameters and safety. Missing are the consequences of a block, how to reverse it (unblock_ip), and that four_hours makes it temporary — though these are partly discoverable via the sibling list and schema.

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 100%, with all five parameters already documented (id, ip, description, confirm, four_hours). The tool description itself adds no parameter-level meaning beyond what the schema provides, so it sits at the baseline 3 for high-coverage schemas.

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 ('Заблокировать' — block), the resource (IP address on a server), and the scope ('на уровне сети Hostkey' — at the Hostkey network level), and it names the underlying API method (net/block_ip). This clearly distinguishes it from siblings like unblock_ip (the reverse operation) and port_on/port_off (port-level control).

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?

The description gives a clear use case ('Полезно для abuse-запросов' — useful for abuse requests), which signals to an agent when this tool is the right choice. It offers no explicit exclusions or alternative routing to siblings like unblock_ip or port_off, but the stated scenario provides solid contextual guidance.

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

call_api_rawA
Destructive

Универсальный прямой вызов InvAPI по ресурсу и action, для ресурсов без типизированных инструментов (например: iso — библиотека ISO-образов, s3 — S3 Object Storage, rhr — Remote Hands новой версии; список действий смотрите в документации: https://hostkey.com/documentation/apidocs/). ВСЕГДА требует confirm=true; деструктивные/платные действия дополнительно требуют HOSTKEY_ALLOW_DESTRUCTIVE=1. Предпочитайте типизированные инструменты, если они есть для нужной операции.

ParametersJSON Schema
NameRequiredDescriptionDefault
authNoПодставлять сессионный токен (по умолчанию true)
actionYesДействие ресурса, например: list
paramsNoПараметры вызова объектом; вложенные объекты превращаются в params[...]
confirmYesОбязательное подтверждение. Без confirm=true вызов отклоняется.
resourceYesРесурс InvAPI без .php, например: iso, s3, rhr, eq, net, whmcs

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations, the description discloses the mandatory confirm=true requirement and the additional HOSTKEY_ALLOW_DESTRUCTIVE=1 gate for destructive/paid actions. This is valuable behavioral context for a dangerous raw-call tool and aligns with 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 compact and front-loaded: it states what the tool is, when to use it, the critical safety requirements, and where to find more details. Every sentence earns its place.

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 generic raw-call tool with no output schema, the description is complete enough: it covers purpose, scope, safety gates, examples, and documentation. The openWorldHint and destructiveHint annotations are reinforced rather than contradicted.

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 100%, so the schema already documents all five parameters. The tool description adds useful resource examples and the confirm restriction, but does not add significant parameter-level meaning beyond 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 description states a specific verb and resource pattern: a universal direct call to InvAPI by 'resource' and 'action'. It explicitly scopes the tool to resources without typed instruments (iso, s3, rhr) and names those examples, clearly distinguishing it from the many typed sibling tools.

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?

The description explicitly tells the agent when to use this tool: for resources without typed tools. It also gives a clear exclusion: 'Prefer typed instruments if they exist for the needed operation.' It even links to external documentation for the full action list.

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

check_taskA
Read-only

Проверка статуса асинхронной операции по callback-ключу (eq_callback/check). Многие операции InvAPI (вкл/выкл питания, заказ, переустановка, снапшоты) возвращают {"result":"OK","callback":"<ключ>"}. Передайте этот ключ сюда, чтобы узнать статус: result="Not ready" — операция ещё идёт; result="OK" — завершена успешно (после этого ключ сгорает). Деплой сервера может занимать 10–30 минут.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesCallback-ключ из ответа асинхронной операции

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description reveals important behavior: the callback key is single-use and 'burns' after successful completion, status values are 'Not ready' vs 'OK', and deployment can take 10–30 minutes. This is meaningful context an agent needs for polling 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 compact, front-loaded with the core purpose, and every sentence adds useful detail: callback source, result statuses, key consumption, and timing. No filler or redundancy.

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 single-parameter polling tool with no output schema, the description covers what the tool does, how to call it, what results mean, and the side effect of key consumption. An agent has enough guidance to use it correctly without further documentation.

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 already fully documents the single 'key' parameter with 100% coverage, so the description is not required to add parameter semantics. It does reinforce that the key comes from an async operation, but this is essentially the same information as the schema description.

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 action ('Проверка статуса асинхронной операции') and a clear resource (callback-key). It also explains how this is distinct: it is the companion to operations that return a callback key, so an agent can tell it apart from the many sibling tools.

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 explicitly explains when to use the tool: when an InvAPI operation returns a callback key, pass that key here. It also describes expected result values and that the key is consumed on success corrected. It does not name alternatives because no sibling tool covers async status checks, but the usage context is clear.

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

clear_pxe_configA
Destructive

Шаг 7 PXE-переустановки: удалить PXE-конфиг (eq/clear_pxe). ОБЯЗАТЕЛЬНО после завершения — иначе возможна внезапная переустановка при следующей перезагрузке.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.
hostnameYesИмя хоста сервера

TDQS

A4.2/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. The description adds valuable behavioral context: that failing to run this cleanup can cause an unintended reinstall on reboot, which goes beyond the structured annotation data.

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 a single compact sentence that front-loads the action and step context, then adds the critical warning. Every word earns its place, and it is easy to scan.

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 destructive cleanup tool, the description explains the mandatory timing and the risk of omission. There is no output schema, but the purpose, usage timing, and consequence are all covered. It could mention idempotency or what happens if the config does not exist, but this is not essential.

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 100%, so the parameters id, hostname, and confirm are already fully documented in the schema. The description adds no parameter-level semantics, which is acceptable given the schema carries the burden.

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 names a specific verb ('удалить') and resource ('PXE-конфиг'), and identifies it as Step 7 of a PXE reinstall flow. This clearly distinguishes it from the sibling create_pxe_config and other reinstall-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 Guidelines4/5

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

The description gives clear usage context: it must be run after the reinstall completes, with the consequence of skipping it explicitly stated (sudden reinstall on next reboot). It does not explicitly mention alternatives or when-not-to-use, but the guidance is sufficient.

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

clear_static_natA

Удалить застывшие правила статического NAT-проброса по внутреннему IP (nat/clear_static_nat).

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesВнутренний IP-адрес
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate it's a write operation (readOnlyHint false, destructiveHint false) but do not disclose the specific nature of 'stale' rules or any side effects. The description adds the key contextual notion of 'stale' and the operation type (delete), which is useful. However, it doesn't explain what happens to related resources or whether it's idempotent, but given annotations cover the general safety, a 3 is fair.

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 short, ends with a period, and includes the API path, which is efficient. It front-loads the action and scope without any redundant text. It is appropriately sized for the tool's simplicity.

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 tool with only two parameters and no output schema, the description covers the key behavioral context (deleting stale rules) and includes the API path. It could mention the return or error behavior, but given the tool's simplicity and annotations, it is adequately complete. The only missing aspect is an explicit alternative mention, but it doesn't hinder understanding.

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 100%, so both parameters (ip and confirm) are already documented in the schema. The description does not add extra semantics beyond the schema. The confirm parameter is implied as a confirmation flag, but that is already in the schema. Baseline 3 is appropriate.

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 clearly states the action (delete), the resource (stale static NAT rules), and the criterion (by internal IP). It also includes the API path, which helps distinguish it from sibling tools like remove_static_nat or drop_nat, though it doesn't explicitly name them. The purpose is unambiguous.

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

Usage Guidelines3/5

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

The description implies it is used for cleaning up stale/frozen NAT rules, but does not explicitly state when to use it versus alternatives like remove_static_nat or drop_nat. It could benefit from specifying the condition or trigger for using this tool, but the main intent is reasonably clear.

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

create_addfunds_invoiceA

Создать инвойс на пополнение кредитного баланса (whmcs/create_addfunds). ДЕНЬГИ: создаёт реальный инвойс на указанную сумму.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesСумма пополнения в валюте аккаунта
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate mutation (readOnlyHint=false) and non-destructive intent (destructiveHint=false). The description adds meaningful context beyond annotations by highlighting 'ДЕНЬГИ: создаёт реальный инвойс' (MONEY: creates a real invoice), signaling actual financial liability and external effects, which aligns with openWorldHint=true.

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?

Two short sentences with no filler. The main action is front-loaded, and the critical financial warning is placed prominently as a separate highlighted statement.

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 tool with full schema coverage and no output schema, the description covers the core purpose and a critical behavior (real invoice). It does not describe return values or follow-up steps, but nothing essential for selecting and invoking the tool is missing.

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 coverage is 100% and both parameters already have descriptions: amount in account currency and confirm required to execute. The description adds only the generic 'specified amount' phrasing, so it does not materially extend the schema's parameter 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 specific verb and resource: 'Создать инвойс на пополнение кредитного баланса' (create an invoice for credit balance top-up). The parenthetical 'whmcs/create_addfunds' and the 'real invoice' warning make the operation concrete. It does not explicitly compare with siblings, but the addfunds resource is unique among the listed tools.

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 the tool (when a credit balance top-up invoice is needed) and warns that it is a real-money operation. It does not provide explicit when-to-use/when-not-to-use guidance or contrast with related billing tools such as generate_due_invoice or apply_credit.

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

create_api_keyA

Создать новый API-ключ для аккаунта или конкретного сервера (api_keys/add). Значение ключа будет показано один раз в ответе — сохраните его.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoБелый список IP, например 10.0.0.2, 10.4.6.3/24
nameYesИмя ключа
activeYestrue — ключ активен
confirmYesНужно true, чтобы выполнить операцию.
server_idNoID сервера; если не указан — ключ на весь аккаунт
login_notify_methodYesУведомления о входах по ключу; для per-server ключа используйте none
login_notify_addressNoEmail или webhook URL для уведомлений

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish this as a non-read-only operation, and the description adds a valuable behavioral warning: the key value is shown only once in the response and must be saved. This goes beyond the schema and annotations.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core purpose and followed by the single most important operational warning. No redundant 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 create operation with no output schema, the description covers the essential one-time-display behavior, and the schema documents all required and optional fields. A small gap remains: it does not mention when not to use alternatives, but nothing critical is missing for correct invocation.

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

Parameters3/5

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

The input schema provides 100% parameter coverage, including server_id semantics and the login_notify_method constraint. The description adds little beyond the account-or-server distinction, matching the baseline for fully documented schemas.

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 clearly states the action ('Создать новый API-ключ') and the resource with scope ('для аккаунта или конкретного сервера'), making it immediately distinguishable from sibling tools like list_api_keys, get_api_key, update_api_key, and delete_api_key.

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?

The description gives clear context: create a new API key for an account, or for a server when server_id is relevant. It does not explicitly name alternatives or exclusions, but the creation intent is unambiguous and the sibling CRUD tools are obvious by contrast.

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

create_pxe_configB
Destructive

Шаг 2 PXE-переустановки: создать PXE-конфиг для установки ОС (eq/create_pxe). ДЕСТРУКТИВНО.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
os_idYesID ОС из list_os
confirmYesНужно true, чтобы выполнить операцию.
ssh_keyNoПубличный SSH-ключ
hostnameYesИмя хоста
root_passYesПароль root (мин. 8 символов, заглавная буква, цифра)
reinstall_keyNoМастер-ключ из create_reinstall_task
post_install_scriptNoСкрипт после установки
post_install_callbackNoURL callback после установки

TDQS

B3.1/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true and readOnlyHint=false, and the description merely repeats 'ДЕСТРУКТИВНО' without adding details about what gets overwritten, whether the server will boot into the installer on next PXE boot, or whether the change is reversible. No meaningful behavioral context is added 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?

The description is compact and front-loaded with the core action and workflow step. The parenthetical 'eq/create_pxe' adds minor noise, but the overall structure is efficient and free of filler.

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 destructive, high-stakes operation with 9 parameters and no output schema, the description is too thin. It does not mention preconditions such as needing a reinstall_key from create_reinstall_task, what happens at next boot, how the config can be cleared, or what successful execution returns.

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 coverage is 100%, so parameter descriptions already carry most of the semantic load. The description does not add any parameter-level meaning, interactions, or constraints beyond what the schema provides, which matches the baseline for complete schema coverage.

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 clearly states the action: create a PXE config for OS installation, and places it as step 2 of the PXE reinstall flow. This makes the tool's function easily distinguishable from related operations like clearing a PXE config, though it does not explicitly name alternatives.

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 phrase 'Step 2 PXE-переустановки' provides an implied workflow context: use this after starting a reinstall flow. However, it does not state when to prefer this over related tools like create_reinstall_task or clear_pxe_config, nor does it list exclusions or preconditions.

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

create_reinstall_taskA
Destructive

Шаг 1 PXE-переустановки: создать мастер-ключ переустановки ОС (eq/reinstall). Возвращает reinstall_key, по которому check_task отслеживает стадии установки. ДЕСТРУКТИВНО: часть процесса, затирающего диски сервера.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, but the description adds specificity by noting it wipes server disks, and it discloses the return value (reinstall_key). It reinforces and elaborates on the destructive nature without contradicting 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?

Three sentences with no fluff, front-loaded with the step-1 role, and includes the destructive warning prominently. Every sentence carries essential 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?

The description explains the tool's output (reinstall_key) and its role in the reinstall flow, making it complete for a 2-parameter tool. Minor gap: it does not mention prerequisites or when not to use, but given the simplicity, it is 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 100%, so parameters id and confirm are fully documented in the schema. The description adds no extra parameter details, which matches the baseline of 3 for high schema coverage.

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 clearly states the tool creates a master key for OS reinstall (eq/reinstall), explicitly naming it as Step 1 of PXE reinstall. It distinguishes itself from siblings by mentioning the return key used by check_task, making its role unambiguous.

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?

The description frames the tool as Step 1 of a process and references check_task for tracking, implying the intended sequence. It does not explicitly name alternatives or exclusions, but the step-1 designation provides clear usage context.

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

create_rhr_requestA

Создать заявку на удалённые работы (rhr/add): работы дежурной смены в дата-центре, которые нельзя выполнить удалённо. Опишите работы максимально подробно в comment. Использовать, только если модуль удалённого управления сервером недоступен/не работает.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
commentYesПодробное описание требуемых работ
confirmYesНужно true, чтобы выполнить операцию.
request_typeNoТип работ, если задаётся справочником

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already communicate that this is a non-read-only, non-destructive operation. The description adds no side-effect disclosure such as ticket creation consequences, execution by datacenter staff, or post-submission behavior, but it does not contradict the annotations either.

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 three short, purposeful sentences: purpose, critical comment guidance, and usage condition. It is front-loaded and contains 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 creation request with four schema-documented parameters, the description supplies the needed purpose, when-to-use condition, and content expectations. It does not describe what happens after the request is created, but that is not essential for invoking it correctly.

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 input schema already describes all parameters with 100% coverage. The description only reinforces that the comment should be detailed, which adds no meaning beyond what schema.description already provides.

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 opens with a specific verb and resource: 'Создать заявку на удалённые работы' and clarifies the exact scope as datacenter duty-shift work that cannot be performed remotely. It is distinguishable from sibling request-management tools like list_rhr_requests, add_rhr_comment, and discard_rhr_request because it explicitly frames this as creating a new request via rhr/add.

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?

The final sentence gives an explicit condition: 'Использовать, только если модуль удалённого управления сервером недоступен/не работает.' This tells the agent exactly when this tool should be selected over direct remote management alternatives.

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

create_snapshotA

Создать снапшот виртуальной машины (vm/create_snapshot). Асинхронная операция — статус через check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID виртуальной машины
nameYesИмя снапшота
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, covering the mutation and non-destructive profile. The description adds a key behavioral trait beyond annotations: the operation is asynchronous and requires polling check_task for status. This is valuable context that is not present in the schema or 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?

The description is two short, front-loaded sentences: first the core action, then the asynchronous behavior. There is no filler or redundant information, making it highly concise and well-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?

The description covers the core purpose and the asynchronous nature, but it does not explain what the response contains (e.g., a task_id needed to call check_task), nor any operational prerequisites beyond the schema's confirm parameter. Since there is no output schema, this gap is significant for an agent to correctly chain the async pattern.

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 100%, and each parameter (id, name, confirm) is described in the schema. The tool description itself adds no additional meaning for the parameters, such as format constraints or relationships between them, so it stays at the baseline for full schema coverage.

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 and resource: "Создать снапшот виртуальной машины" (create a snapshot of a virtual machine). It also names the exact endpoint (vm/create_snapshot), and the sibling tools (get_snapshots, remove_snapshot, restore_snapshot) are clearly different operations, making it easy for an agent to distinguish.

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 tells the agent the operation is asynchronous and status should be tracked via check_task, which is useful when-to-use guidance for follow-up. However, it does not explicitly contrast with alternatives like restore_snapshot or get_snapshots, nor state conditions for when to use this tool over them. The usage context is implied, not fully explicit.

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

delete_api_keyA
Destructive

Удалить API-ключ (api_keys/delete). ДЕСТРУКТИВНО: приложения, использующие ключ, потеряют доступ.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID ключа
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

The description explicitly warns that applications using the key will lose access, which is valuable behavioral context beyond the annotations. The annotations already declare destructiveHint=true and readOnlyHint=false, so the description reinforces and adds the real-world consequence. It does not contradict the annotations.

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

Conciseness5/5

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

The description is two short sentences with no wasted words. The destructive warning is front-loaded and the tool's purpose is immediately clear. It earns its place by adding critical safety context.

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 destructive delete operation with a required confirm flag, the description covers the essential context: what is deleted and the consequence. The output schema is absent, but for a delete operation the return value is typically minimal. The description could mention that the operation is irreversible, but the destructive warning already implies this.

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 100%, so the schema already documents both parameters (id and confirm). The description adds no additional parameter-level detail beyond the schema, but the confirm parameter's purpose is clear from the schema. Baseline 3 is appropriate.

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 clearly states the action ('Удалить API-ключ') and the resource (API key), and explicitly identifies the operation as destructive. It distinguishes this from sibling tools like get_api_key, list_api_keys, create_api_key, and update_api_key by naming the delete operation and its consequence.

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?

The description implies when to use this tool: when an API key must be permanently removed. It does not explicitly name alternatives or exclusions, but the destructive warning and the tool name make the usage context clear. A brief mention of when not to use it (e.g., for temporary deactivation) would improve it.

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

delete_cancellation_requestB

Отозвать заявку на отмену услуги (whmcs/delete_cancellation_request).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate this is a mutating operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds the semantic context that this is a withdrawal/reversal action, which is useful. It does not disclose side effects, idempotency, or what happens if the request is already processed, but the annotations cover the basic safety profile.

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

Conciseness4/5

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

The description is a single concise sentence that includes the verb, resource, and API method name. It is front-loaded with the action word and contains no filler. It could arguably omit the API method name, but that is minor.

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 simple two-parameter mutation tool with full schema coverage and annotations, the description is mostly adequate. However, it does not explain the relationship to request_cancellation or get_cancellation_requests, nor does it clarify what 'confirm' semantically means beyond the schema's 'must be true' note. An agent would benefit from knowing this is the inverse of request_cancellation.

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 100%, so the schema already documents both parameters. The description adds no additional parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Отозвать' = withdraw/revoke) and a specific resource ('заявку на отмену услуги' = service cancellation request), and it names the underlying API method. This clearly distinguishes it from sibling tools like request_cancellation and get_cancellation_requests, though it does not explicitly name those siblings.

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 withdrawing a previously submitted cancellation request, which gives some context. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites (e.g., the request must exist and be in a cancellable state).

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

delete_contactA
Destructive

Удалить дополнительный контакт аккаунта (whmcs/delete_contact). ДЕСТРУКТИВНО.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
contact_idYesID контакта

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=false and destructiveHint=true, so the description's 'ДЕСТРУКТИВНО' mostly repeats structured metadata rather than adding new behavioral context. It does not contradict annotations, and the destructive nature is at least clearly surfaced, but little is added 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?

The description is very short and front-loaded with the core action and endpoint. The 'ДЕСТРУКТИВНО' warning is somewhat redundant given the annotation, so it loses one point, but overall it remains appropriately sized.

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 destructive delete tool with two fully described parameters, strong annotations and no output schema, the description is mostly sufficient. It lacks usage guidance, but the annotations cover the destructive behavior adequately.

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 100%, with clear descriptions for contact_id and confirm. The tool description adds no parameter-specific meaning, so the baseline of 3 applies.

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 ('Удалить' / delete), a precise resource ('дополнительный контакт аккаунта'), and the endpoint reference. This clearly distinguishes it from sibling tools like add_contact, update_contact, and get_contacts.

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, no prerequisites, and no mention of cases where deletion is not allowed. The destructive warning is not usage guidance.

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

delete_dns_domainA
Destructive

Удалить домен по ID: DNS-зону, сам домен и все его сабдомены (pdns/delete_domain). ДЕСТРУКТИВНО. Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
domain_idYesID домена из list_dns_domains
server_idYesID сервера

TDQS

A4.5/5.0
Behavior5/5

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

The description explicitly flags the operation as 'ДЕСТРУКТИВНО' (destructive) and details exactly what is destroyed: DNS zone, the domain, and all subdomains. It also adds the authorization requirement 'pdns/edit' and the backend endpoint, going beyond the destructiveHint annotation. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that covers action and scope, followed by two short fragments for the destructive warning and permission. No filler or redundant explanation.

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 three-parameter delete operation with destructive annotations and full schema descriptions, the description provides the necessary behavioral context: what gets deleted, required rights, and the destructive nature. The lack of an output schema is acceptable for a delete tool, and the confirm parameter is documented in the schema. The only minor gap is that it doesn't explicitly mention DNS records, but 'DNS zone' implies them.

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?

All three parameters are already fully described in the input schema (100% coverage), including confirm semantics, domain_id provenance, and server_id. The description only adds a generic 'by ID' phrase and does not provide additional parameter meaning, so it stays at the baseline for high schema coverage.

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

Purpose5/5

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

The description states a specific action 'delete domain by ID' and enumerates the full destructive scope: DNS zone, the domain itself, and all subdomains. This clearly distinguishes it from siblings like delete_dns_subdomain or delete_dns_zone. The backend operation (pdns/delete_domain) adds a concrete reference.

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?

The description implies when to use it by specifying what it deletes (the entire domain plus zone and subdomains) and states the required permission 'pdns/edit'. It does not explicitly name alternatives (e.g., delete_dns_subdomain for single subdomains) or state when not to use it, so it is clear context but lacks explicit exclusions.

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

delete_dns_recordA
Destructive

Удалить DNS-запись из зоны (pdns/delete_dns). ДЕСТРУКТИВНО. Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesИмя записи
typeYesТип записи
zoneYesИмя зоны
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior4/5

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

Annotations already include destructiveHint=true and readOnlyHint=false, so 'ДЕСТРУКТИВНО' is redundant but consistent. The description adds useful context beyond annotations by requiring pdns/edit permissions and naming the internal endpoint pdns/delete_dns.

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 a single concise sentence that front-loads the action, then adds a destructive warning and the permission requirement. There is no filler or unnecessary repetition beyond the intentional warning.

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?

The description, combined with fully described required parameters and destructive annotations, is sufficient to invoke the tool safely. It does not describe postconditions or return values, but no output schema exists and none are strongly implied.

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 100%, so parameters are fully documented in the schema. The description provides no additional parameter-level meaning, which is acceptable given the high schema coverage.

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

Purpose5/5

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

Description opens with a clear action and resource: 'Удалить DNS-запись из зоны' (delete DNS record from zone). It names a specific verb and the container, distinguishing it from sibling tools like delete_dns_domain, delete_dns_subdomain, and delete_dns_zone.

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 purpose implies when to use the tool, but there is no explicit guidance on when not to use it or how it compares to related tools such as add_dns_record or other delete_* DNS tools. The permission requirement 'Требует права pdns/edit' is a precondition, not a usage-routing guideline.

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

delete_dns_subdomainA
Destructive

Удалить сабдомен из таблицы сабдоменов (pdns/delete_subdomain). ДЕСТРУКТИВНО. Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сабдомена
confirmYesНужно true, чтобы выполнить операцию.
server_idYesID сервера

TDQS

A3.6/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 destructive nature is covered. The description adds value by explicitly warning 'ДЕСТРУКТИВНО' (DESTRUCTIVE) and stating the required permission 'Требует права pdns/edit'. It also names the underlying endpoint, which helps an agent understand what system is affected. No contradiction with annotations.

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

Conciseness4/5

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

The description is short and front-loaded: the action is stated first, followed by the destructive warning and permission requirement. Every sentence earns its place. It could be slightly more structured, but it is efficient and readable.

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 destructive delete operation, the description covers the key context: what is deleted, that it is destructive, and the required permission. However, it does not mention the confirm parameter's role in preventing accidental deletion, nor what happens after deletion (e.g., propagation, irreversibility). With no output schema, a bit more context about the response or side effects would improve completeness.

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 100%, so the schema already documents all three parameters (id, confirm, server_id). The description adds no additional parameter-level meaning beyond what the schema provides. The 'confirm' parameter's purpose is already clear from the schema ('Нужно true, чтобы выполнить операцию'), and the description doesn't elaborate on it. Baseline 3 is appropriate.

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 clearly states the action: deleting a subdomain from the subdomains table, and even names the underlying API endpoint (pdns/delete_subdomain). It distinguishes itself from sibling tools like add_dns_subdomain and edit_dns_subdomain by the verb 'Удалить' (delete). It doesn't explicitly contrast with delete_dns_domain or delete_dns_record, but the resource 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 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: when you need to delete a DNS subdomain. It does not explicitly state when not to use it or name alternatives (e.g., delete_dns_domain for domains, delete_dns_record for records). The required permission 'pdns/edit' is a useful prerequisite hint, but no explicit routing guidance is given.

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

delete_dns_zoneA
Destructive

Удалить DNS-зону по имени вместе со всеми записями и метаданными (pdns/delete_zone). ДЕСТРУКТИВНО. Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesИмя зоны
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark destructiveHint=true, so 'ДЕСТРУКТИВНО' partly repeats that signal. The description adds value by specifying that all records and metadata are removed and that the 'pdns/edit' permission is required, which go 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?

Two short sentences with no filler: the action and destructive consequence are front-loaded, followed by the permission requirement. The compact technical reference '(pdns/delete_zone)' adds useful backend clarity without bloat.

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 simple two-parameter delete operation with destructiveHint and full schema coverage, the description covers what is deleted, the required permission, and the destructive nature. No output schema exists, but that is acceptable for this delete operation; nothing essential is missing.

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 100%, with clear descriptions for zone ('Имя зоны') and confirm ('Нужно true, чтобы выполнить операцию'). The description's 'по имени' aligns with zone but adds no semantic detail beyond the schema, so the baseline of 3 applies.

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 begins with a specific verb and resource: 'Удалить DNS-зону' (delete DNS zone), and further specifies the scope: 'вместе со всеми записями и метаданными' (with all records and metadata). This clearly distinguishes it from the sibling record/domain/subdomain deletion tools.

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 provides useful context that this is a destructive zone-level deletion and that it requires 'права pdns/edit'. However, it does not explicitly state when to prefer this over related deletions such as delete_dns_record or delete_dns_domain, so usage context is implied rather than spelled out.

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

delete_iso_imageA
Destructive

Удалить ISO-образ по ID (iso/delete). ДЕСТРУКТИВНО. По документации доступно только сотрудникам Hostkey — у клиентов, скорее всего, вернёт ошибку прав.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID ISO-образа
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

It reinforces the destructiveHint with 'ДЕСТРУКТИВНО' and adds non-obvious behavior: the tool is staff-only and likely returns a permission error for clients. It also discloses the underlying endpoint 'iso/delete'. No contradiction with the readOnlyHint=false or destructiveHint=true 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?

The description is three short clauses: the action, the endpoint, the destructiveness warning, and the access caveat. It is front-loaded with the action and contains no filler or redundant explanation.

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 low-complexity tool with two required parameters, a fully documented schema, and annotations covering destructiveness, the description covers the key decision factors: what it deletes, how destructive it is, and who may call it. It does not describe return values, but there is no output schema, and the permission caveat addresses the most likely failure mode.

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 100%, so the baseline is 3. The description adds no parameter-level meaning beyond the schema: it does not elaborate on the id format or the confirm flag beyond what the properties already state.

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 opens with 'Удалить ISO-образ по ID', a specific verb ('delete'), resource ('ISO image'), and selection criterion ('ID'). This clearly distinguishes it from sibling tools like add_iso_image, upload_iso, mount_iso, and unmount_iso because the operation is explicitly deletion.

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?

The description gives a concrete usage constraint: the operation is available only to Hostkey employees, and clients will likely receive a permission error. It does not name an alternative tool, but no sibling performs ISO deletion, so the context is sufficient for an agent to decide when to call it.

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

discard_rhr_requestA
Destructive

Отменить/закрыть заявку на удалённые работы (rhr/discard). ДЕСТРУКТИВНО: заявка будет отменена.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID заявки
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.8/5.0
Behavior4/5

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

The description explicitly warns 'ДЕСТРУКТИВНО: заявка будет отменена' (DESTRUCTIVE: the request will be cancelled), which adds meaningful behavioral context beyond the annotations. The annotations already declare destructiveHint=true and readOnlyHint=false, so the description reinforces and adds the specific consequence: the request will be cancelled. It does not contradict the annotations.

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

Conciseness5/5

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

The description is two short sentences with no waste. The action is front-loaded, and the destructive warning is placed immediately after, which is exactly the information an agent needs before invoking a destructive 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?

For a two-parameter destructive tool with full schema coverage and annotations declaring destructiveHint=true, the description is nearly complete. It states the action, the consequence, and the confirm requirement is already in the schema. The only minor gap is that it does not describe what happens after cancellation (e.g., whether it can be undone or what the response looks like), but no output schema exists and the tool is simple enough that this is a minor omission.

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 100%, so the schema already documents both parameters: id is the request ID and confirm must be true to execute. The description adds no additional parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Отменить/закрыть' – cancel/close) and a specific resource ('заявку на удалённые работы' – request for remote works), and it names the operation's domain (rhr/discard). It is clear what the tool does, though it does not explicitly distinguish it from sibling tools like create_rhr_request or add_rhr_comment; the resource and action are specific enough that an agent can infer 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 Guidelines3/5

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

The description implies when to use the tool: when a remote-works request needs to be cancelled or closed. It does not explicitly state when not to use it or name alternatives, but the sibling list includes create_rhr_request and add_rhr_comment, so the context is reasonably clear. There is no explicit exclusion or alternative guidance, so it stops at implied usage.

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

download_invoiceA
Read-only

Скачать инвойс в PDF (whmcs/download_invoice). Ответ обычно содержит PDF в Base64 — сохраните и декодируйте при необходимости.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYesНомер инвойса

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, so the bar for additional disclosure is lower. The description adds a concrete behavioral detail beyond the schema: the response typically contains a PDF in Base64 and should be saved/decoded. The 'usually' caveat also warns about possible format variability.

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 sentence that front-loads the action, states the endpoint, and then gives the essential post-processing instruction. Every part earns its place with no filler.

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 one-parameter, read-only download tool with no output schema, the description is complete: it states what will be returned (Base64 PDF) and what to do with it. Parameter requirements are fully covered by the schema, and no extra operational context is needed.

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 100% and the single invoice_id parameter is already described as the invoice number. The description adds no parameter-specific meaning, so it matches the baseline for fully documented schemas.

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 opens with a concrete action and resource: 'Download invoice to PDF' and gives the exact endpoint whmcs/download_invoice. It also names the output format (PDF), which distinguishes it from sibling invoice lookups such as get_invoice/get_invoices.

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 purpose: use this when you need the invoice as a downloadable PDF. There is no explicit 'when not to use' or comparison with get_invoice/get_invoices, so routing to alternatives 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.

drop_natB
Destructive

Удалить запись о NAT из базы данных (nat/drop_nat). ДЕСТРУКТИВНО, служебная операция.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoID записи NAT
ipNoIP-адрес записи
confirmYesНужно true, чтобы выполнить операцию.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already carry readOnlyHint=false and destructiveHint=true, and the description reinforces the destructive nature and adds the 'служебная операция' context. It does not add meaningful detail such as permanence of deletion, required permissions, or effects on related resources, but since the annotation layer covers the core safety profile, the description is not severely lacking.

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 extremely compact: one sentence explaining the action plus a bare warning. It is front-loaded with the purpose and destruction flag, and contains no filler or redundant explanations.

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?

A destructive deletion tool needs to clarify how to identify the target record. The schema marks both id and ip as optional and only confirm as required, but the description gives no guidance on whether at least one of id/ip must be provided or what happens if omitted. This is a serious gap for correct use, even though the schema itself is documented.

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 coverage is 100%: id, ip, and confirm each have descriptive definitions. The description contributes nothing about the parameters, so with full schema documentation the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description has a specific verb ('Удалить' – delete) and resource ('запись о NAT' – NAT record), so an agent can tell it performs a deletion operation. It does not explicitly distinguish it from the sibling tools 'remove_static_nat' or 'clear_static_nat', though the differing resource names make the distinction inferable.

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 provided on when to use this tool versus the many sibling tools. The phrase 'служебная операция' (service operation) hints at an internal helper but does not describe conditions, prerequisites, or alternatives, so an agent has no basis for deciding when to pick it.

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

edit_dns_subdomainA

Обновить сабдомен (pdns/edit_subdomain). Требует права pdns/edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сабдомена
confirmYesНужно true, чтобы выполнить операцию.
server_idNoID сервера

TDQS

A3.5/5.0
Behavior4/5

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

Beyond the annotations, which already flag readOnly=false and destructiveHint=false, the description adds an explicit permission precondition and names the underlying endpoint pdns/edit_subdomain. This is useful auth context and does not contradict the annotations.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. The action comes firsteb, and the permission note is the only extra piece of information, so every word 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?

Together with the schema and annotations, the description is adequate for a simple mutation: the purpose, permission requirement, and required confirm flag are all discoverable. However, it does not explain what an 'update' actually changes or when to use this tool, leaving minor gaps for an agent.

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 100%, so the baseline is 3. The description itself adds no parameter-level meaning, but the schema already explains id, confirm, and server_id, including the requirement that confirm must be true.

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 action and resource: 'Обновить сабдомен' ('update subdomain'), which is distinct from sibling tools like add_dns_subdomain and delete_dns_subdomain. It does not specify what fields or aspects of the subdomain can be updated, so it stops short of full detail.

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 or comparison with alternatives. The only added context, 'Требует права pdns/edit', is an authorization requirement, not a usage rule; nothing tells the agent to prefer this over add_dns_subdomain or delete_dns_subdomain.

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

generate_due_invoiceC

Создать следующий инвойс для сервера (whmcs/generate_due_invoice).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate this is not read-only, and the description adds little behavioral context beyond 'create an invoice.' It does not disclose the financial side effects, whether the operation is reversible, what happens after confirm=true, or what response to expect. For a billing-affecting action, this is a meaningful 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 a single front-loaded sentence with no filler. The parenthetical 'whmcs/generate_due_invoice' is slightly redundant with the tool name but harmless, and the overall length is appropriate for such a small schema.

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 mutating billing operation with no output schema, the description is too thin: it omits usage conditions, side effects, and expected results. The schema covers parameters, but the tool context is not complete enough for an agent to use it confidently.

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 100%, with both parameters already documented (id and confirm requiring true). The description adds no extra meaning about parameter formats, constraints, or relationships, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a clear action ('Создать следующий инвойс') and a specific target resource ('для сервера'), so an agent can tell this is an invoice-creation operation. It does not explicitly distinguish itself from sibling create_addfunds_invoice, and 'следующий инвойс' is somewhat vague, so it misses the top score.

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 about when to use this tool instead of alternatives such as create_addfunds_invoice or get_server_invoices. No exclusions, prerequisites, or selection conditions are mentioned, so the agent must infer the intended use case.

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

get_account_infoA
Read-only

Информация о текущем API-токене и аккаунте (auth/info): доступные вызовы, тип и роль аккаунта, ID привязанных серверов. Полезно для проверки подключения.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds useful non-obvious context beyond that: it reports account type/role, available calls, and attached server IDs, and frames the tool as a connection check. No contradiction with the annotations.

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

Conciseness5/5

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

Two short sentences, with the core resource and returned content front-loaded and no redundant filler. The connection-check note earns its place as practical guidance.

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 zero-parameter, read-only introspection tool with annotations already covering safety, this description is complete: it states the endpoint, what data can be expected, and a common use case. No output schema exists, but the listed fields sufficiently set expectations.

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 has zero parameters and the schema has no properties, so the baseline is 4. There is no parameter information to add, and the description correctly focuses on the returned account/token information.

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 names a specific operation (get current API token and account info) and a resource (auth/info), and it lists concrete contents: available calls, account type/role, attached server IDs. This is distinguishable from sibling key-management tools like get_api_key/list_api_keys because it is explicitly about the current token's account context.

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 provides a clear use case: 'useful for checking the connection'. However, it does not explicitly mention alternatives or exclusions, so it scores below a fully explicit routing description.

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

get_api_keyB
Read-only

Информация о конкретном API-ключе (api_keys/view).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID ключа из list_api_keys

TDQS

B3.2/5.0
Behavior2/5

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

The description adds little beyond the readOnlyHint annotation; it only restates that the operation returns information. It does not disclose what fields are returned, whether the key secret is exposed, or any other behavioral nuance.

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 a single compact sentence with no filler. It front-loads the core purpose and appends the endpoint reference, making it easy to parse.

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 get-by-id tool with one fully documented parameter and readOnly annotations, the description is largely sufficient. The main gap is not describing the returned key information, but the absence of an output schema lowers the burden on the description.

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 coverage is 100% and the id parameter is already documented as the key ID from list_api_keys. The description does not add parameter-level meaning, so the baseline 3 applies.

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 that the tool returns information about one specific API key, which distinguishes it from list-oriented siblings like list_api_keys and list_server_api_keys. It lacks an explicit verb but 'information about' clearly conveys a read/retrieve operation.

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 such as list_api_keys or get_api_key_history. The word 'specific' weakly implies retrieving a single key, but there is no explicit context or exclusion.

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

get_api_key_historyB
Read-only

История использования API-ключа за период (api_keys/history).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID ключа
period_toNoКонец периода, YYYY-MM-DD
period_fromNoНачало периода, YYYY-MM-DD

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the result is period-scoped history, but it does not disclose details like pagination, record limits, or what constitutes 'usage'. This is acceptable 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 description is a single compact sentence with no redundant words. It is appropriately sized for a simple read-only tool, though it could be slightly more informative about output or defaults.

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 history tool, the required id and optional period fields are documented in the schema, and annotations cover safety. However, the description does not mention what happens when period_from or period_to are omitted, nor what the response contains, and there is no output schema to fill that gap.

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 input schema already provides 100% coverage with descriptions for all three parameters: id, period_to, and period_from. The description adds no additional semantic value beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific operation: retrieving API key usage history over a period, and even includes the endpoint 'api_keys/history'. It clearly identifies the resource and action, though it does not explicitly differentiate from sibling tools like get_api_key or list_api_keys.

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 provided about when to use this tool versus alternatives such as list_api_keys, get_api_key, or list_server_api_keys. The description only explains what the tool does, leaving usage context to be inferred.

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

get_billing_clientA
Read-only

Данные клиента из биллинга (whmcs/get_client): контакты, валюта, статус аккаунта.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=trueestern and openWorldHint=true, so the safety profile is covered. The description adds value by listing the kind of data returned (contacts, currency, status), but it does not disclose any additional behavioral traits such as data freshness, authentication requirements, or how open-world changes might affect results.

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 concise sentence that leads with the resource and action, then immediately lists the returned fields. No filler or redundancy.

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 parameterless read-only getter, the description is complete: it identifies the data source, the returned fields, and the scope. There is no output schema, but the description's enumeration of returned content sufficiently informs the agent of what to expect.

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 has zero parameters, so the schema covers everything. The description does not need to explain parameters, and the baseline of 4 applies. No additional parameter information is required.

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 pair ('get client data from billing') and enumerates the returned content (contacts, currency, account status), referencing the underlying whmcs/get_client endpoint. This clearly distinguishes it from siblings like get_account_info, which focuses on account-level information rather than billing client data.

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: call it when you need billing client details such as contacts, currency, or account status. However, it does not explicitly compare against alternatives like get_account_info or update_billing_client, nor does it state when not to use it.

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

get_cancellation_requestsB
Read-only

Список активных заявок на отмену услуг (whmcs/get_cancellation_requests).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoID сервера (фильтр)

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 and openWorldHint=true, so the safety profile is covered. The description adds the 'active' filter as a behavioral scope, which is useful, but it does not disclose whether results are paginated, sorted, or limited to a particular status beyond 'active'.

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 communicates the operation, resource, and scope without filler. The parenthetical endpoint reference is minor but does not hurt conciseness.

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 list operation with one optional documented parameter and no output schema, the description is largely sufficient. The only gap is a slightly ambiguous definition of 'active' and no mention of how the optional id changes the result set, but annotations and schema cover most operational context.

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 100%: the single optional id parameter is already documented as 'ID сервера (фильтр)'. The description does not add extra meaning about how id interacts with the 'active' filter, but the baseline of 3 applies because the schema fully documents the 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 names a specific resource ('активных заявок на отмену услуг') and a clear operation ('Список'), so an agent knows this retrieves active cancellation requests. It does not explicitly contrast with siblings like request_cancellation or delete_cancellation_request, but the word 'активных' adds scope and makes the purpose immediately distinguishable.

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 gives no guidance about when to use this tool versus related tools such as request_cancellation or delete_cancellation_request. It does not state that this is for viewing existing cancellation requests before acting on them, nor does it mention any conditions or alternatives.

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

get_contactsA
Read-only

Список дополнительных контактов аккаунта (whmcs/get_contacts).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

The readOnlyHint and openWorldHint annotations already cover the read-only and externally-changing nature of the data. The description adds the 'account contacts' context and the exact endpoint name, but does not describe response format, ordering, or any other behavioral details. There is no contradiction with the annotations.

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

Conciseness5/5

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

The description is a single short sentence that front-loads the purpose and adds only the relevant endpoint identifier. There is no filler or redundant explanation.

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 no-parameter, read-only list operation, the description gives enough information for an agent to invoke it correctly: call it and get the account's additional contacts. No input setup, prerequisites, or complex return handling are needed, and annotations cover the safety profile.

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 has zero parameters, so schema coverage is trivially 100% and the description has nothing to add. Per the baseline for zero-parameter tools, this is adequate.

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 uses a clear action ('list') and a specific resource ('additional contacts of the account'), and the parenthetical endpoint 'whmcs/get_contacts' pins down the exact API. Among siblings like add_contact, update_contact, and delete_contact, it unambiguously identifies this as the read-only list 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 verb 'list' implies the tool is for retrieving contact data, which gives basic usage context. However, it does not explicitly say when to prefer this over sibling contact tools or state that mutations should use add_contact/update_contact/delete_contact.

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

get_credit_historyB
Read-only

Движение средств по лицевому счёту: начисления и списания кредитов (whmcs/getcredits).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

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 and openWorldHint=true, covering the safety profile. The description adds the useful context that the history covers credit accruals and debits and references the backend operation (whmcs/getcredits), but it does not disclose filtering, ordering, pagination, or account-scoping behavior.

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 concise sentence that front-loads the core resource and includes the backend identifier. It is efficient, though it omits some context that would make the definition more self-sufficient.

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 one-parameter read-only getter with no output schema, the description gives a minimal but workable picture of what the tool returns. It is not fully complete because it leaves the relationship between the server id and the personal account implicit and offers no contrast with sibling billing tools.

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 fully documents the only parameter id as 'ID сервера' with type integer, so the baseline is 3. The description adds no parameter-level meaning; it also leaves a small ambiguity by describing the resource as a 'personal account' while the parameter points to a server ID.

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 ('Движение средств по лицевому счёту: начисления и списания кредитов') clearly identifies the resource as credit-related account movements and specifies the included data (accruals and debits). It does not use an explicit verb like 'retrieves', and it does not explicitly contrast itself with related billing tools such as get_transactions or get_invoices, 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 choose this tool over the many related billing tools in the sibling list (e.g., get_transactions, get_invoices, get_account_info). The description implies the tool returns credit history, but it provides no exclusions, prerequisites, or alternative-selection criteria.

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

get_dns_zoneB
Read-only

Содержимое DNS-зоны: все записи (A, AAAA, CNAME, MX, TXT и т.д.) с авторитетного сервера (pdns/view_zone).

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesИмя зоны, например example.com

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 and openWorldHint=true, so the agent knows this is a safe read operation. The description adds that the data comes from an authoritative server (pdns/view_zone), which is useful context. It does not disclose response format, pagination, or whether the zone must exist, but the annotations cover the safety profile.

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

Conciseness4/5

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

The description is a single sentence that front-loads the resource ('Содержимое DNS-зоны') and lists record types. It is concise and informative, though it could be slightly more structured with a usage hint.

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 simple read-only tool with one well-documented parameter and no output schema, the description is mostly adequate. It lacks explicit guidance on when to use it versus sibling DNS tools and does not mention error cases (e.g., nonexistent zone), but the annotations and schema cover the essential safety and parameter information.

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 100%: the only parameter 'zone' is described as 'Имя зоны, например example.com'. The description adds no additional parameter semantics beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb ('get') and resource ('DNS zone contents'), listing record types (A, AAAA, CNAME, MX, TXT) and the authoritative source (pdns/view_zone). It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools like list_dns_zones or get_ptr_record.

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: call it to retrieve all records in a DNS zone. It does not explicitly state when to use this tool versus alternatives such as list_dns_zones (which likely lists zones) or get_ptr_record (which fetches a single PTR record). The context is clear but exclusions/alternatives are not stated.

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

get_invoiceB
Read-only

Данные конкретного инвойса для оплаты (whmcs/get_invoice).

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYesНомер инвойса

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 and openWorldHint=true, so the safety profile is covered. The description adds no behavioral detail beyond its purpose—no mention of response content, authentication needs, pagination, or edge cases. It neither contradicts nor meaningfully extends the annotation data.

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 states the resource and operation without wasted words. The parenthetical endpoint name is compact and useful for traceability. The description is appropriately sized for such a simple 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?

For a read-only single-parameter tool with high schema coverage and no output schema, the description provides enough to understand the core purpose. It could be more complete by naming alternatives or indicating the shape of the returned invoice data, but these are minor gaps given the tool's simplicity.

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 100%: the only parameter invoice_id is documented as 'Номер инвойса'. The tool description does not add further parameter context, but with full schema coverage the baseline of 3 is appropriate.

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 clearly identifies the resource as 'конкретного инвойса' (a specific invoice) and the operation as retrieving its data, which distinguishes it from the sibling get_invoices. However, it lacks a strong imperative verb and the parenthetical 'whmcs/get_invoice' is useful but slightly cryptic.

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 about when to use this tool versus get_invoices or download_invoice. The phrase 'для оплаты' hints at a payment context, but it does not explicitly state when this tool is preferred or how it differs from related invoice tools.

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

get_invoicesA
Read-only

Полный список инвойсов аккаунта (whmcs/get_invoices).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, and the description adds the account scope and the 'full list' behavior. However, it does not disclose return shape, pagination, or sorting. With annotations present, 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.

Conciseness5/5

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

A single, front-loaded sentence with no filler. The parenthetical whmcs/get_invoices endpoint adds useful context without bloating the description.

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 read-only list operation, the description is essentially complete. It does not describe the output schema, but the 'list of invoices' phrasing gives a reasonable expectation; no output schema exists anyway.

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 input schema has zero parameters, so there is nothing for the description to add. Per the baseline for zero-parameter tools, this is sufficient.

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 and resource: 'Полный список инвойсов аккаунта' (full list of account invoices). This clearly distinguishes it from sibling tools like get_invoice (singular) and get_server_invoices (server-scoped).

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 about when to use this tool versus alternatives such as get_invoice, get_server_invoices, or download_invoice. The description only states what it does, leaving selection entirely to inference.

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

get_ip_infoC
Read-only

Информация о сетевом интерфейсе по IP-адресу (ip/get_ip).

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIP-адрес

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 and openWorldHint=true, so the tool is known to be non-destructive. The description adds no additional behavioral context—no mention of side effects, permissions, rate limits, or response specifics. It simply restates the purpose, providing no value beyond the structured annotations.

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

Conciseness3/5

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

The description is a single short sentence, which is concise and well-structured. However, it is so terse that it leans toward under-specification rather than efficient communication. The sentence provides only bare purpose and even includes a redundant endpoint reference, so it lacks impactful content that would merit a higher score.

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?

With no output schema, the description should clarify what information is actually returned or how the IP is used, but it does not. There is no mention of return fields, error behavior, or scope. The brevity leaves an agent guessing what 'information about the network interface' entails, which is insufficient for a complete definition.

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 fully describes the sole 'ip' parameter with a description ('IP-адрес'), giving 100% coverage, so the baseline is 3. The description does not add any extra meaning about IP format, validation, or interpretation, so it neither improves nor degrades the semantic clarity.

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 tool provides information about a network interface given an IP address, which is a clear resource and action (getting info). However, it does not explicitly differentiate from sibling tools like get_network_status or get_ptr_record, 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 vs. alternatives, no scenario examples, and no mention of excluded cases. The description is purely a statement of purpose without usage context.

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

get_network_statusA
Read-only

Состояние сетевых интерфейсов сервера (net/get_status): порт, свитч, VLAN, скорость, MAC, статус подключения.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the agent knows it is safe. The description adds value by enumerating the returned attributes (port, switch, VLAN, speed, MAC, connection status), which goes beyond the annotation and helps the agent interpret results. No contradictions.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the main purpose and immediately lists the key data points. Every word is informative with 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?

With no output schema, the description supplies essential information about the content of the response (the listed network attributes). It does not explicitly state whether the result is an array or single object, but the plural 'интерфейсов' implies multiple. For a simple read-only getter, this is largely 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?

The schema covers the single parameter 'id' with its description ('ID сервера'), so the description does not need to add more. The description itself provides no additional parameter meaning, but with 100% schema coverage, the baseline of 3 is appropriate.

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 and resource: it returns the state of server network interfaces, listing concrete fields (port, switch, VLAN, speed, MAC, connection status). This clearly distinguishes it from sibling get_* tools like get_power_status or get_server_sensors, which target different aspects.

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?

The description gives clear context—it is for retrieving network interface status—but does not explicitly state exclusions or mention alternative tools. Since the name and description unambiguously convey the use case, it meets the 'clear context, no exclusions' level.

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

get_payment_gatewayA
Read-only

Способы оплаты конкретного инвойса (whmcs/getpaymentgw).

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYesНомер инвойса

TDQS

A3.6/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, which are consistent with the description's read-only nature. However, the description adds no additional behavioral details such as return format or potential side effects, relying on 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?

The description is a single concise sentence in Russian, translating to 'Payment methods of a specific invoice (whmcs/getpaymentgw).' It is front-loaded with the purpose and contains no redundant words.

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 one well-documented parameter and no output schema, the description is largely sufficient. It clearly indicates the input (invoice_id) and the purpose (payment methods). While it does not describe the return structure, this is a minor gap given the tool's simplicity.

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 only parameter invoice_id is fully documented in the schema with a description ('Invoice number'), achieving 100% schema coverage. The tool description does not add extra parameter context, but the schema already provides sufficient meaning.

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 clear purpose: retrieving payment methods for a specific invoice. The verb 'get' is implied by the name, and the resource 'payment methods' plus scope 'specific invoice' distinguishes it from sibling tools like get_invoice or download_invoice.

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 such as get_invoice or get_transactions. The description only mentions the underlying API call (whmcs/getpaymentgw) without providing context on selection criteria.

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

get_port_graphsB
Read-only

Графики загрузки порта за период (net/show_cacti): день/месяц/год.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
portYesФизический порт свитча
graphYes1 — день, 2 — месяц, 3 — год

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=trueo, so the read-only nature is covered. The description adds the data source context ('net/show_cacti') and the time-period variants, but does not disclose what the returned graphs look like (e.g., image URLs, binary data, or a list). No contradiction with annotations.

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

Conciseness5/5

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

A single concise Russian phrase conveys the tool's purpose and period options with no filler words. It is appropriately sized for the tool's simplicity.

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 simple read-only tool with fully documented parameters and a readOnlyHint, the description is mostly adequate. However, with no output schema, the description does not clarify the return format of the graphs, which is a meaningful gap for an agent deciding how to consume the response.

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 100%, so all three parameters are already documented. The description merely restates the graph parameter's day/month/year mapping without adding new semantic detail beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the resource (port) and data type (load graphs over a period), and lists the day/month/year variants. It lacks an explicit verb, relying on the tool name for the action, but it is specific enough to distinguish from unrelated siblings like port_on/off or get_network_status.

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, and no exclusions or sibling references are provided. The usage context is only implied: use it when port load graphs are needed. This is minimal viable information but lacks explicit routing.

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

get_power_statusA
Read-only

Текущий статус питания сервера (включён/выключен).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, covering side-effect freedom and non-deterministic output. The description adds 'current' and '(on/off)', reinforcing the live nature of the value. It does not discuss authentication or response format, but with annotations present, this is acceptable.

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 a single, front-loaded sentence that conveys the tool's purpose and expected values with no filler. It is appropriately sized for the tool's simplicity and earns its place entirely.

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 status tool with one documented parameter and annotations covering side effects, the description is nearly complete. It does not state the exact response structure, but the '(on/off)' phrase gives the key value domain. Minor gaps around error cases are tolerable given the low complexity.

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 100%: the 'id' parameter is documented as 'Server ID'. The description adds no additional parameter meaning or context. The schema fully carries the semantic load, so the baseline score of 3 applies.

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

Purpose5/5

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

The description states a specific verb ('get') and resource ('power status') and clarifies the possible return values ('on/off'). It is easily distinguished from siblings like get_network_status or power_on/power_off by the resource it queries. The purpose is unambiguous.

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

Usage Guidelines3/5

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

No explicit guidance is given on when to use this tool versus alternatives like get_server. However, the name and description make the intended use obvious: checking the current power state. The usage is implied but not elaborated with exclusions or alternative suggestions.

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

get_presetA
Read-only

Информация о конкретном пресете или обо всех пресетах (presets/show). Может требовать авторизации в зависимости от прав.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoID пресета; без него — список всех

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare readOnlyHint and openWorldHint, so the read-only safety profile is covered. The description adds the useful behavioral caveat that authorization may be required depending on rights, which is not present in 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?

The description is only two short sentences, with the core behavior front-loaded and no filler, redundancy, or restatement of the tool name.

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, optional-parameter read operation with a clear schema and read-only annotations, the description is adequate: it specifies that either a single preset or all presets can be returned and warns about authorization. It could mention the response shape, but the tool's low complexity makes this a minor gap.

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 already documents the sole parameter id with a description covering the optional-ID behavior ('без него — список всех'). Since schema description coverage is 100%, the description adds no meaningful parameter semantics beyond what the schema provides.

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 clearly identifies a specific resource (presets) and action (retrieve information), and clarifies the optional scope: a specific preset or all presets. It does not explicitly contrast with sibling tools like list_presets or search_presets, leaving differentiation 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?

The description conveys the basic use case and notes that authorization may be required depending on permissions. However, it gives no explicit guidance about when to prefer get_preset over the closely related list_presets or search_presets tools, so usage context is implied rather than stated.

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

get_preset_pricingB
Read-only

Цены на доступные пресеты в указанных валютах (presets/info). Токен не требуется.

ParametersJSON Schema
NameRequiredDescriptionDefault
currenciesNoКоды валют через запятую, например EUR,USD. По умолчанию EUR

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 and openWorldHint=true, covering the safety profile. The description adds the fact that no token is required ('Токен не требуется'), which is useful behavioral context beyond annotations. However, it doesn't describe the response format or any other behavioral traits. With annotations covering the read-only nature, a 3 is appropriate – some added value but not rich 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?

Two short sentences with no wasted words. The purpose is front-loaded ('Цены на доступные пресеты...'), followed by the token requirement. It's appropriately concise for a simple tool, though it could arguably include a bit more context about usage.

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 one optional parameter and no output schema, the description covers the purpose and the token requirement adequately. Given the tool's low complexity, it's fairly complete. The lack of return-format description is a minor gap for such a simple query tool, but not critical.

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 100% – the single `currencies` parameter is fully documented in the schema with format examples (EUR,USD) and a default (EUR). The description adds nothing beyond the schema's parameter documentation, merely referencing 'specified currencies'. Baseline 3 is correct when the schema carries the full parameter meaning.

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: it returns prices (Цены) for available presets in specified currencies. This clearly distinguishes it from siblings like list_presets (which lists presets) and get_preset (which gets a single preset). The endpoint hint '(presets/info)' is somewhat cryptic for non-Russian speakers but doesn't obscure the purpose. It's clear but doesn't explicitly name its 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 Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives such as list_presets, search_presets, or get_preset. There are no stated conditions, exclusions, or alternative routing. An agent must infer the usage context purely from the purpose statement, which is a significant gap given the many sibling preset-related tools.

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

get_ptr_recordA
Read-only

Текущая PTR-запись (reverse DNS) для IP-адреса (ip/get_ptr).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds the specific resource (PTR record) but does not disclose additional behaviors such as error handling, authentication needs, or response format. Given the annotation coverage, 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.

Conciseness5/5

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

A single concise sentence that conveys the purpose and includes the API path. There is zero fluff, and the essential information is front-loaded.

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 two well-described parameters, the description is sufficient. It does not specify the return structure, but given no output schema and the straightforward nature of the operation, this is a minor gap. The tool's complexity is low, so the description is adequately 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?

The input schema has 100% description coverage, with each parameter (id, ip) fully documented. The description adds no extra meaning beyond what the schema provides, so the baseline of 3 applies.

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 (get) and resource (PTR record for an IP address), clearly identifying what the tool returns. The inclusion of the internal API path 'ip/get_ptr' adds specificity and distinguishes it from sibling update_ptr_record by its read-only nature.

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 (to fetch a PTR record) but does not explicitly state when to use this tool over alternatives like update_ptr_record. There is no guidance on exclusions or prerequisites, though the get/update distinction is inferable from the name.

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

get_serverB
Read-only

Полная информация о сервере по его ID (eq/show): конфигурация, сеть, статус, расположение.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера в InvAPI

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 and openWorldHint=true, covering the safety profile. The description adds that the tool returns full information including configuration, network, status, and location, which sets expectations for the content. However, it does not disclose any other behaviors like response format, pagination (unlikely for a single object), or potential performance characteristics. Given the annotations, 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.

Conciseness5/5

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

A single, front-loaded sentence that states the purpose and key scope in a compact manner. No redundant words, and the information is organized logically (ID, then what is returned). Efficient for an agent to parse.

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 get-by-ID operation with one parameter and no output schema, the description is fairly complete. It lists the major categories of returned data, which helps the agent understand what to expect. It could be more explicit about the exact structure or any limitations, but given the tool's simplicity and annotation coverage, it is 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?

The input schema has one parameter (id) with a clear description ('ID сервера в InvAPI'), and schema coverage is 100%. The description repeats 'by its ID' but adds no extra semantic detail beyond the schema. Per the baseline for high schema coverage, this is a 3.

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 ('get') and resource ('server'), and clarifies scope by ID. It lists the categories of information returned (configuration, network, status, location), which distinguishes it from more specific siblings like get_server_sensors or get_server_billing_data. However, it does not explicitly contrast with get_servers (the plural listing tool), leaving some ambiguity about when to use this vs. the list.

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 guidance on when to use this tool vs. alternatives. It is implied that you use it when you have a specific server ID and want full details, but the description does not mention exclusions or refer to sibling tools such as get_servers for listing. The agent must infer usage from the parameter and naming.

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

get_server_billing_dataB
Read-only

Платёжная информация по аренде сервера (whmcs/get_billing_data).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the server-rental scope and WHMCS backend reference, but it does not describe response format, pagination, or any other behavioral traits; still, nothing contradicts 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?

The description is a single short clause with no filler, and the core scope appears immediately. It is appropriately terse, though the brevity borders on under-specification because it omits usage and output context.

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 one-parameter, read-only lookup, the core purpose is minimally clear. However, with no output schema and many adjacent billing tools in the sibling list, the description leaves the agent reliant on name-based inference rather than explicit guidance about what data is returned or when this tool is the right choice.

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 100%, and the single required id parameter is already documented as 'ID сервера'. The description adds no additional meaning about the parameter beyond what the input schema already provides, so the baseline of 3 applies.

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 identifies a specific resource ('payment information for server rental') and includes the internal endpoint whmcs/get_billing_data, so the tool's purpose is clear. However, it is phrased as a noun phrase rather than a verb action and does not distinguish itself from nearby billing siblings such as get_server_invoices or get_billing_client.

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, nor any mention of when not to use it. The sibling list contains several billing-related tools, but the description gives the agent no routing information to select between them.

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

get_server_invoicesA
Read-only

Инвойсы, относящиеся к конкретному серверу (whmcs/get_related_invoices).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, covering the safety profile. The description adds minimal behavioral context via the plural 'invoices' and the internal WHMCS endpoint reference, but it does not describe output shape, pagination, ordering, or possible empty results. This is acceptable for a simple read-only lookup but adds little beyond annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. The parenthetical backend reference is useful and compact, making the definition appropriately sized for the tool's simplicity.

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 one-parameter read-only lookup, the description plus schema is sufficient for an agent to call it correctly: it knows the required server id and that the result is invoices related to that server. A minor gap is the lack of explicit output structure or differentiation from get_server_billing_data, but this is not blocking.

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 input schema has 100% description coverage for the only parameter, id, described as 'ID сервера'. The tool description itself adds no parameter-level detail, so the baseline score of 3 applies.

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

Purpose4/5

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

The description 'Инвойсы, относящиеся к конкретному серверу' clearly identifies the resource (invoices) and the scope (a specific server), which aligns with the tool name. It does not use an explicit verb like 'list' or 'retrieve,' but the meaning is unambiguous and distinguishable from generic invoice tools by the server scoping.

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: call this tool when you need invoices tied to a particular server. However, it does not explicitly state when to prefer this over siblings like get_invoices, get_invoice, or get_server_billing_data, nor does it mention any exclusions or fallback conditions.

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

get_serversA
Read-only

Список серверов аккаунта Hostkey с фильтрами. Перед первым вызовом автоматически обновляет инвентарь (eq/update_servers). Возвращает ID серверов и краткие данные; для полной карточки используйте get_server.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoНайти сервер по IP-адресу
macNoНайти сервер по MAC-адресу
groupNoГруппы через запятую: VPS,Gpu,1CPU,2CPU,AMD,Instances,Storage,Nodes,Micro,Mini,Dell
statusNoСтатус: rent (активный) или power_off (приостановлен)
locationNoКоды локаций через запятую: NL,US,FI,DE,IS,TR,UK,ES,IT,PL,CH

TDQS

A3.6/5.0
Behavior1/5

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

The description reveals an important side effect: before the first call it automatically updates inventory via eq/update_servers. This directly contradicts the readOnlyHint=true annotation, which signals no state modification. Per the contradiction rule, this dimension must be scored 1.

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 crisp sentences with no filler. It packs in purpose, filter capability, a side effect, return summary, and sibling routing. It earns its length.

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 listing tool with schema-described optional filters, the description covers the essentials: what it returns, the auto-update behavior, and how to get full data. It does not describe pagination or filter combination semantics, but those are not critical for a simple list call.

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 100%, so the structured definitions of ip, mac, group, status, and location already carry the parameter semantics. The description only says 'with filters' and adds no meaning beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

The description clearly states the tool's job: list Hostkey account servers with filters. It also distinguishes itself from get_server by noting it returns IDs and brief data, while get_server provides the full card. An agent can immediately tell which tool to use for an overview versus a detailed server view.

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 direct routing cue: use get_server for a full server card, implying get_servers is for filtered overview listing. It doesn't explicitly compare against other list/search siblings, but the most relevant alternative is named and differentiated.

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

get_server_sensorsA
Read-only

Показания аппаратных сенсоров сервера (температуры, напряжения, вентиляторы). Только для bare-metal.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, and the description is consistent with that. The description adds useful behavioral and contextual information by scoping the tool to bare-metal servers and listing the sensor families covered, which the annotations do not convey. It stops short of describing error cases or units, but for a read-only sensor endpoint the added scope is meaningful.

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 a single compact sentence with a parenthetical list of sensor types and one important constraint. Every element earns its place, and there is no redundant restatement of the tool name or schema.

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 one-parameter read-only tool, the description sufficiently covers purpose, sensor categories, and hardware scope for selection and invocation. An output schema is absent, so result structure and units would have been welcome, but they are not essential for calling the tool correctly.

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 only parameter, 'id', is already fully documented in the schema as 'ID сервера', and schema description coverage is 100%. The tool description adds no additional meaning about the parameter, so the baseline of 3 applies.

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 identifies the resource (hardware sensors) and the contents (temperatures, voltages, fans), and clearly limits the operation to bare-metal servers. It lacks an explicit action verb, but 'readings' combined with the tool name makes the retrieval purpose clear. The bare-metal qualifier also helps distinguish it from VM-related 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?

The phrase 'Только для bare-metal' explicitly restricts usage to bare-metal hardware, giving the agent a clear selection criterion. It does not name a specific alternative for virtual servers, so the guidance is clear but not exhaustive.

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

get_server_tagsB
Read-only

Все теги сервера (tags/list). Теги хранят произвольные пары ключ-значение.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

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 and openWorldHint=true, covering safety and open-world semantics. The description adds that tags are arbitrary key-value pairs, which is useful context, but does not disclose any further behavioral details such as output format or potential edge cases.

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 concise sentences, front-loaded with the core purpose ('All server tags') and immediately clarifies the nature of the data. No unnecessary words.

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 one well-documented parameter and no output schema, the description adequately covers the essential purpose and data type. It does not mention return format, but that is implied by 'all tags'. The tool is sufficiently complete for an agent to understand and invoke correctly.

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 only parameter 'id' is fully described in the schema with 'ID сервера'. The description does not add any additional meaning or constraints beyond the schema. With 100% schema coverage, a baseline of 3 is appropriate.

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 clearly states the tool retrieves all server tags and specifies they are key-value pairs, which is a specific verb+resource. It does not explicitly distinguish from sibling tools like search_servers_by_tag, but the intent is clear from the name and 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?

No guidance is provided on when to use this tool versus alternatives. The description does not mention that it is for listing tags of a specific server, nor does it contrast with search_servers_by_tag or other related tools.

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

get_snapshotsA
Read-only

Список снапшотов виртуальной машины (vm/get_snapshot): имя, snapshot_id, дата.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID виртуальной машины

TDQS

A4.1/5.0
Behavior3/5

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

The readOnlyHint=true annotation already communicates that this operation does not modify state, and the description is consistent with that. The description adds return-shape context (name, snapshot_id, date) and scopes the operation to a VM, which is useful. It does not disclose ordering, pagination, or behavior when no snapshots exist, but annotations carry the safety profile.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the action and resource, then compactly lists the output fields. There is no filler or repeated schema content, and the endpoint hint adds useful provenance without bloating the text.

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 one fully documented parameter, read-only annotations, and no output schema, the description gives enough for correct invocation: what it lists, for which VM, and what fields to expect. It could mention ordering or empty-list behavior, but these are minor gaps for such a simple read-only 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 100%, and the property description already documents id as 'ID виртуальной машины'. The tool description repeats the VM scoping but adds no new parameter format, constraints, or default information. Baseline 3 applies because the schema fully documents the only parameter.

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 uses a specific verb and resource: 'Список снапшотов виртуальной машины' (list of VM snapshots), and enumerates the returned fields: name, snapshot_id, date. This clearly distinguishes the read-only listing operation from mutation siblings like create_snapshot, remove_snapshot, and restore_snapshot. The parenthetical '(vm/get_snapshot)' does not obscure the meaning.

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?

The description makes the use case clear: call this when you need the snapshot list for a specific VM identified by id. It does not explicitly name alternatives or exclusion conditions, so agents must infer the contrast with snapshot mutation tools from the verb. This is clear context without formal when-not guidance.

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

get_stock_serverA
Read-only

Детальная информация о конкретном stock-сервере (stocks/show).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID stock-сервера из list_stock_servers

TDQS

A3.6/5.0
Behavior3/5

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

The description is consistent with the readOnlyHint=true and openWorldHint=true annotations, confirming this is a safe read operation. It adds the endpoint name 'stocks/show' but does not disclose any further behavioral traits such as response shape, pagination, or potential absence of data. Since annotations already cover 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.

Conciseness5/5

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

The description is a single concise sentence with no redundant words. The endpoint reference in parentheses adds useful context without bloating the 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?

For a simple read-only get-by-id tool with one well-documented parameter and safe annotations, the description is mostly complete. The only minor gap is that 'детальная информация' does not enumerate which details are returned, and there is no output schema to fill that gap; nevertheless, the intended use is clear.

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 100%, and the only parameter 'id' is already documented as 'ID stock-сервера из list_stock_servers', so the schema carries the semantic burden. The description itself does not add parameter-level detail, but it does not need to given full schema coverage.

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 action and resource: retrieving detailed information about a specific stock-server, with the endpoint 'stocks/show' as a cross-reference. It distinguishes itself from list_stock_servers by specifying 'конкретном' (specific), though it does not explicitly contrast with get_server.

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 rather than explicit: the phrase 'конкретном stock-сервере' suggests using this tool when you already have a particular stock-server ID, and the schema reference to list_stock_servers hints at a list-then-get flow. However, there is no direct 'use this instead of X' guidance or explicit alternative comparison.

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

get_transactionsA
Read-only

Список транзакций по аккаунту клиента (whmcs/transactions).

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idNoФильтр по инвойсу
transaction_idNoКонкретная транзакция

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is known. The description adds minimal behavioral context: it is scoped to client-account transactions but says nothing about default behavior, result shape, pagination, or how the optional filters interact. It does not contradict annotations but adds little beyond them.

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 a single, focused sentence that immediately states the resource and scope. There is no filler, redundancy, or structural waste. It is concise and 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?

For a read-only list with two optional filters and no output schema, the description is adequate but has gaps: it does not explain return format, pagination, or whether invoice_id and transaction_id are combined as AND/OR. Given the low complexity and annotations covering safety, a 3 is fair.

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 100% (both invoice_id and transaction_id have descriptions). The tool description adds no extra meaning about how parameters relate or behave, so it does not compensate beyond the schema. Baseline 3 is appropriate per the rubric.

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 ('transactions by client account') and implies the action 'list' via the noun 'Список' (list). It is clearly distinct from sibling tools like get_invoices and get_credit_history, though it does not explicitly name an alternative. This is a clear purpose with only minor lack of an explicit verb.

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 this tool is for listing transactions for a client account, but provides no explicit guidance on when to prefer it over alternatives, nor any exclusions or conditions. It relies on the tool name and context to convey usage. There is no mention of when not to use it or of related tools such as get_invoices.

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

get_uploaded_isosB
Read-only

Список ISO-образов, загруженных клиентом (iso/uploaded).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

The readOnlyHint and openWorldHint annotations already cover the safety and possible incompleteness of the result set, but the description adds no behavioral detail beyond restating the client-uploaded scope. It does not mention ordering, pagination, representation, or any caveats, so the description contributes little 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?

The description is a single focused phrase that front-loads the resource type and scope with no redundant words or filler. Despite being terse, it is appropriate for a zero-parameter read-only 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?

For a zero-parameter read-only operation, the description is minimally sufficient, and no invocation details are missing. However, it does not distinguish get_uploaded_isos from the very similar sibling list_iso_images, nor does it describe the output shape, so an agent still has to infer selection and return expectations.

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 has zero parameters wrapped by an empty schema, so there is nothing for the description to clarify about parameter meanings. The baseline of 4 for a no-parameter tool applies.

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 ('list') and a clearly scoped resource: ISO images uploaded by the client, reinforced by the 'iso/uploaded' path in parentheses. It does not explicitly contrast itself with the sibling list_iso_images, so it falls just short of full differentiation.

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 tool instead of list_iso_images or how it relates to upload_iso/mount_iso/delete_iso_image. The only usage signal is the phrase 'uploaded by the client', which implies a filter but never explains the intended selection scenario.

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

get_vm_engineB
Read-only

Информация о движке виртуализации (vm/get_engine).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The description's wording 'Информация о' aligns with the annotations readOnlyHint=true and no destructive hint, so there is no contradiction. It adds the endpoint name but does not disclose what specific engine details are returned or how the result should be interpreted, so behavioral context beyond annotations is minimal.

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 a single sentence with no filler; it front-loads the purpose and adds the endpoint in parentheses. Every word 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?

For a zero-parameter read-only tool, the description is adequate for an agent to invoke it safely, but it does not hint at the shape or content of the returned virtualization-engine information, and there is no output schema to fill that gap. Low complexity prevents a lower score, but some ambiguity about the result remains.

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 has zero parameters, so the description does not need to explain parameter semantics. Schema coverage is trivially 100%, and the zero-parameter baseline of 4 applies.

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 clearly states the operation is about retrieving information about the virtualization engine and even includes the endpoint 'vm/get_engine'. It is distinguishable from sibling getters like get_vm_stats or get_server, though it does not explicitly contrast them.

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 about when to use this tool versus alternatives, no when-not-to-use conditions, and no mention of sibling tools. The agent must infer usage entirely from the tool name and general context.

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

get_vm_statsB
Read-only

Статистика виртуальной машины (vm/load_stats).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID виртуальной машины

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 and openWorldHint=true, covering the safety profile. The description adds the endpoint path 'vm/load_stats', which is mildly informative, but it does not disclose what statistics are returned, how they are scoped, or any operational caveats.

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 a single concise sentence that states the subject and includes the endpoint reference with no filler or redundant content. It is appropriately front-loaded and 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 simple one-parameter read-only tool, the description is minimally adequate, but it lacks detail about the actual statistics returned, especially since no output schema exists. An agent would need additional context to interpret the response.

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 covers 100% of the parameter descriptions, including 'ID виртуальной машины'. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the resource as a virtual machine and the operation as statistics retrieval, reinforced by the endpoint hint 'vm/load_stats'. It is not a tautology, though it lacks an explicit verb and does not explicitly distinguish itself from sibling 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?

No guidance is provided about when to use this tool versus alternatives such as get_server_sensors, get_network_status, or get_port_graphs. The description gives no context, exclusions, or mention of better-suited sibling tools.

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

get_vnc_consoleB
Read-only

Доступ к VNC-консоли сервера (eq/console): возвращает конфиг console.vv в Base64 для virt-viewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful output-format detail (Base64 console.vv) but omits context such as whether the server must be powered on or how the returned config should be consumed. This is acceptable 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.

Conciseness5/5

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

A single compact sentence conveys the operation, the exact output artifact, and its encoding. There is no filler or redundant restatement of the tool name.

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 one-parameter read-only tool with no output schema, the description says what is returned (Base64 console.vv) and its intended use (virt-viewer). It could mention prerequisites or error conditions, but the core invocation context is adequately covered.

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 coverage is 100%, and the only parameter (id) is already described as 'ID сервера'. The description does not add any extra parameter meaning, so the baseline of 3 applies.

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 (server VNC console) and a specific output (console.vv config in Base64 for virt-viewer), so an agent knows what the tool returns. However, it does not explicitly distinguish this from sibling tools like start_novnc or request_rh_kvm; the 'eq/console' hint is ambiguous rather than a clear sibling contrast.

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 choose this tool over alternatives such as start_novnc, request_rh_kvm, or get_server. The description merely states what it does, leaving the selection criteria entirely to inference.

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

list_api_keysB
Read-only

Список всех API-ключей аккаунта (api_keys/list).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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, so the description need not repeat that. The description adds no behavioral context beyond the scope (account-level), and openWorldHint is not explained. It neither contradicts nor enriches 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?

A single, efficient sentence that clearly conveys the purpose. There is no extraneous information, and the endpoint path is included as a useful reference.

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 list, the description is adequate but minimal. It covers scope but does not mention the response format or explicitly differentiate from list_server_api_keys, which could lead to misuse. Given the sibling exists, this is a notable 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 has zero parameters, so the schema is empty and there is nothing to describe. The baseline for 0 params is 4, and the description adds no extra parameter information, which is appropriate.

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 clearly states the action (list) and resource (API keys) and specifies scope as 'of the account', which distinguishes it from the server-specific sibling list_server_api_keys. However, it does not explicitly name the alternative or highlight the distinction, so it's clear but not fully differentiated.

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 provided on when to use this tool versus list_server_api_keys or get_api_key. The description simply states what it does without any context about selection criteria or exclusions.

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

list_dns_domainsA
Read-only

Список всех доменов пользователя из таблицы доменов (pdns/list_domains).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate safety. It adds the internal table reference but nothing about behavior beyond that (e.g., no mention of return format or pagination). The description is consistent with annotations, and given the annotations' coverage, the added value is minimal.

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 a single short sentence with no fluff. It immediately states the action and the resource, and the internal table reference is supplementary but relevant. It is appropriately concise.

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 list operation with no parameters and annotations covering the read-only nature, the description is sufficiently complete. It does not explain the output format, but without an output schema that is acceptable. The only minor gap is that it does not specify whether it returns all domains regardless of server, but that is likely implicit and not critical.

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 has zero parameters and the schema covers all properties (none). Since there are no parameters to explain, the description does not need to add parameter semantics. The baseline for 0 parameters is 4, and the description does not miss anything.

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 clearly states the action (list) and the resource (all user domains). It also references the internal source table (pdns/list_domains), adding specificity. The name itself distinguishes it from sibling tools like list_dns_zones and list_dns_subdomains, so an agent can easily identify its purpose.

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 is for listing domains, but it does not explicitly compare it to similar tools (e.g., list_dns_zones, list_dns_subdomains) or provide when-not-to-use guidance. The intended usage is clear from the name and context, but no explicit routing or exclusions are provided.

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

list_dns_subdomainsB
Read-only

Список сабдоменов по ID сервера (pdns/list_subdomains).

ParametersJSON Schema
NameRequiredDescriptionDefault
server_idYesID сервера

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 and openWorldHint=true, so the agent knows this is a safe read operation. The description adds the scoping by server_id and the internal endpoint name, but does not disclose return format, pagination, or whether the list is complete. 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 a single concise sentence that states the action and the key parameter. It is front-loaded with the action and includes the internal method name as a useful reference. No wasted words.

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 simple read-only list tool with one parameter and no output schema, the description is mostly adequate. However, it does not mention what the response contains (e.g., subdomain names, records) or whether the list is paginated. Given the low complexity, this is a minor gap, but the description could still be more 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 100%: the only parameter, server_id, is described as 'ID сервера' in the schema. The description adds no additional meaning beyond what the schema already provides, so the baseline of 3 applies.

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: 'Список сабдоменов по ID сервера' (list subdomains by server ID), and includes the internal method name 'pdns/list_subdomains' for reference. It is clear enough to distinguish from sibling tools like list_dns_domains and add_dns_subdomain, though it doesn't explicitly name those alternatives.

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: it lists subdomains for a given server ID, which is a read operation. However, it does not explicitly state when to use this tool versus alternatives like list_dns_domains or get_dns_zone, nor does it mention any prerequisites or exclusions. The context is implied but not explicit.

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

list_dns_zonesA
Read-only

Список всех DNS-зон аккаунта на серверах PowerDNS Hostkey (pdns/list_zones).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

The annotations already disclose readOnlyHint=true, and the description does not contradict that. The operation described is simply a listing, with no additional side effects or restrictions mentioned. With annotations providing the key behavioral trait, the description adds limited extra value beyond what the 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.

Conciseness5/5

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

The description is a single, concise sentence in Russian that states the operation, the resource, and the environment. It also embeds the API endpoint reference. Every word earns its place, and no unnecessary details are included.

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 tool has a low complexity profile: no parameters, no output schema, and a read-only operation. The description specifies exactly what the tool does (returns all DNS zones of the account) and the context (PowerDNS Hostkey). Annotations already provide the safety profile, so nothing further is necessary to enable 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?

The tool has zero parameters, so the schema provides 100% coverage by definition. Since there are no inputs to describe, the description cannot add parameter meaning; the baseline for 0 parameters is 4.

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 uses the specific verb 'list' and the resource 'DNS zones' (Список всех DNS-зон), and states the account scope. The presence of the underlying API call 'pdns/list_zones' adds a clear reference that distinguishes it from sibling tools like list_dns_domains or get_dns_zone.

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 explicitly says it lists all DNS zones of the account, making the primary use case evident. However, it provides no explicit guidance about when to choose this tool over related alternatives (e.g., get_dns_zone for a single zone), leaving usage implied rather than directly stated.

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

list_iso_imagesA
Read-only

Список доступных ISO-образов (iso/list_iso). Для клиентских ключей обязателен server_id — образы подбираются под конкретный сервер.

ParametersJSON Schema
NameRequiredDescriptionDefault
server_idNoID сервера (обязателен для клиентских ключей)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description need not restate safety. It adds useful context that server_id affects result filtering for client keys. However, it omits return format, pagination, or any other behavioral nuances.

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?

Two short sentences, purpose first, then the condition. No wasted words or redundant information. Very 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?

The description covers the core purpose and the server_id condition, which is sufficient for a simple list operation. Yet it doesn't clarify the distinction from get_uploaded_isos or define 'available' (provider ISOs vs user-uploaded). With no output schema, a bit more detail on what the list contains would improve completeness.

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 100% – server_id already has a description stating it's required for client keys. The description repeats this same fact without adding new meaning, so it meets the baseline but doesn't exceed 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?

Clearly states the purpose: lists available ISO images. However, it doesn't differentiate from the sibling tool get_uploaded_isos, which likely also lists ISO images (possibly user-uploaded ones). Without clarification, an agent might confuse the two.

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 usage condition: client keys require server_id, and images are filtered per server. But it doesn't mention when to prefer this over get_uploaded_isos or other ISO-related tools, nor does it state any exclusions or alternatives.

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

list_osA
Read-only

Список операционных систем, доступных для установки на пресет/сервер (os/list). Без instance_id возвращает ОС для всех пресетов. Токен не требуется.

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idNoID пресета из list_presets

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's additional note that no token is required adds value. It also explains the effect of omitting instance_id, which is beyond the schema. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the main purpose, then adds the key behavioral detail about instance_id and the auth note. No wasted words.

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 tool's simplicity (one optional parameter, no output schema), the description covers the essential aspects: what it lists, the optional filter behavior, and authentication requirement. It does not detail the return format, but that is not critical for a simple list operation.

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 100% (the only parameter is described). The description adds semantic meaning by explaining that omitting instance_id returns OS for all presets, which clarifies the optionality and default behavior. This exceeds the baseline for high coverage.

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 clearly states it lists operating systems available for installation on a preset/server, naming the endpoint (os/list). It distinguishes itself from siblings like list_presets and list_software by specifying the resource (OS) and its purpose (installation), though it does not explicitly name alternatives. This is clear but not a 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 for retrieving OS options before installation, and mentions behavior with/without instance_id. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites beyond the token note. Usage is implied but not explicit.

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

list_post_install_tasksA
Read-only

Доступные post-install Ansible-задачи (jenkins/get_tasks) с тегами применимости: gpu, bm, vm, vgpu, default. Без токена — общий список, с токеном — доступные конкретному пользователю.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the agent knows this is safe and non-destructive. The description adds the nuance of token-based filtering, which is useful context beyond annotations. However, it does not detail pagination or response format, but that is acceptable for a read-only listing tool.

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 a single, concise sentence that front-loads the core purpose and immediately explains the key behavioral difference based on token presence. Every word adds value with no waste.

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 this is a read-only listing tool with no parameters, the description adequately covers what the agent needs: what it returns, the tags, and the token behavior. No output schema is present, but the description implies a list of tasks, which is sufficient for this simple 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 has zero parameters, so the schema is trivially 100% covered. The description adds semantic meaning about the token's role in filtering results, which is not visible in the schema. This compensates for the lack of parameter details.

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 clearly states the tool's purpose: listing post-install Ansible tasks with applicability tags (gpu, bm, vm, vgpu, default). It also explains the difference between authenticated and unauthenticated access, distinguishing it from sibling tools like run_post_install_task.

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 mentions that without a token the general list is returned, and with a token the list available to the user is returned, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. It gives context but not explicit when-not-to-use guidance.

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

list_preset_groupsA
Read-only

Список групп пресетов для категоризации каталога (presets/groups). Токен не требуется.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so no contradiction. The description adds value by noting that no token is required ('Токен не требуется'), a useful behavioral detail for an API context. This goes beyond the annotation's scope.

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 a single, efficient sentence. It front-loads the action and resource, then adds the token requirement concisely. No unnecessary words or redundancy.

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 this is a simple, parameterless read-only tool with annotations covering its safety, the description is complete enough. It explains what it returns (list of preset groups) and the auth need (none), which is sufficient for an agent to call it correctly.

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 has zero parameters, so there is nothing to document. A baseline of 4 is appropriate because the description explains the purpose clearly, and with no parameters, no further parameter details are needed.

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 clearly states the tool lists preset groups for catalog categorization, with a specific resource ('presets/groups') and verb ('список'). It is distinguishable from siblings like 'list_presets' and 'search_presets' by the word 'группы' and the explicit resource path.

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 for listing preset groups but does not contrast with alternative tools like 'list_presets' or 'search_presets'. Given the sibling list, an agent might confuse it with those; explicit guidance on when to use this vs them is missing.

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

list_presetsA
Read-only

Актуальный список доступных instant-серверов (VM/BM/GPU/vGPU) с ценами в указанной локации. Токен не требуется. Нужен для подбора preset перед заказом.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesЛокация: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds a useful behavioral detail: 'Токен не требуется' (token not required). It does not describe pagination or response format, but for a read-only listing tool the annotation covers safety and the token note adds operational context.

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 short sentences: the first front-loads the main purpose and scope, the second adds the auth requirement and usage context. There is no fluff or repetition of schema details.

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 one-parameter read-only list tool, the description covers what is returned (available instant-servers with prices), where (specified location), auth requirements, and when to use it. With readOnlyHint and openWorldHint annotations, nothing essential is missing.

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 coverage is 100% and the single parameter 'location' is already documented with its allowed values. The description only repeats 'in the specified location' without adding deeper meaning to the parameter, so the baseline 3 applies.

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 ('list') and resource ('available instant-servers (VM/BM/GPU/vGPU) with prices in a specified location'), so an agent can understand the core function. It does not explicitly distinguish this from sibling tools such as search_presets or get_preset_pricing, so it falls short of full differentiation.

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?

The description gives explicit usage context: 'Нужен для подбора preset перед заказом' (needed for choosing a preset before ordering). It does not mention exclusions or when to prefer an alternative like list_preset_groups or search_presets, so it is clear context but lacks alternatives.

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

list_rhr_requestsA
Read-only

Список заявок на удалённые работы с фильтрацией по локации и статусу (rhr/list).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoФильтр по статусу заявки
locationNoФильтр по локации, например NL

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already indicate a read-only operation (readOnlyHint=true) and an open-world result, and the description does not contradict them. The description adds the filtering behavior and endpoint context, but does not disclose pagination, default scoping, or result shape.

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 a single, front-loaded sentence that states the resource, purpose, filters, and endpoint with no filler. It is compact and every part 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?

For a simple read-only list with two optional, fully documented parameters, the description and annotations together are largely sufficient. Minor gaps, such as no enumeration of status values or description of the response format, prevent a perfect score, but nothing critical is missing.

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 input schema already fully describes both parameters: status and location, including the location example 'NL'. The description only repeats that filtering by location and status is possible, so it does not add meaningful semantics 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?

The description states a clear retrieval action ('list') on RHR requests and identifies the two filters: location and status, plus the endpoint rhr/list. It is distinct from the create/add/comment/discard RHR sibling tools, though it does not explicitly name them.

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 is used when you need to view RHR requests, optionally filtered by location or status. It does not explicitly state when to prefer this tool over siblings like create_rhr_request or add_rhr_comment, nor does it include any exclusion rules.

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

list_server_api_keysA
Read-only

Список API-ключей, выданных для конкретного сервера (api_keys/list_for_server).

ParametersJSON Schema
NameRequiredDescriptionDefault
server_idYesID сервера

TDQS

A4/5.0
Behavior3/5

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

Аннотации readOnlyHint=true и openWorldHint=true уже покрывают безопасность и возможную неполноту результата. Описание добавляет привязку к серверу и имя внутреннего endpoint, но не раскрывает формат ответа, сортировку или ограничения. Для простой читающей операции это приемлемо.

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?

Одно ёмкое предложение, в котором ключевая информация о действии и области применения дана сразу. Уточнение endpoint в скобках не перегружает текст.

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?

Инструмент простой: один обязательный параметр, readOnly-аннотации, понятное назначение. Описания достаточно для выбора и вызова. Отсутствие output schema не компенсируется описанием формата ответа, но это не критично для корректного использования.

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 составляет 100%: параметр server_id уже описан как 'ID сервера'. Описание не добавляет дополнительного смысла к параметрам сверх того, что даёт схема.

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?

Описание называет конкретное действие — перечисление API-ключей, выданных для конкретного сервера — и явно указывает область применения. Это отличает инструмент от более общего sibling list_api_keys и делает назначение однозначным.

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?

Из описания ясно, что инструмент следует использовать для получения ключей конкретного сервера. Однако нет явного указания, когда вместо него использовать list_api_keys или другие методы, и не названы альтернативы.

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

list_softwareA
Read-only

Список ПО (marketplace-приложений), доступного для автоустановки на сервер (software/list). Токен не требуется.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoЛокация: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH
instance_idNoID пресета из list_presets

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already carry the read-only and open-world hints, so the description's disclosure that a token is not required adds some useful behavioral context. There is no contradiction with the annotations. The description, however, doesn't provide extra behavioral info about pagination, filtering, or bounds of the returned list.

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-sentence description that states the purpose, the endpoint path, and token requirement, with no filler or repetition. Very effective.

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 only two optional parameters and the annotations cover the safety profile. However, there is no output schema or any hint in the description about the returned fields, and the schema's param descriptions are the only clue about the optional filters. The description is adequate but minimal, with room to describe the response shape or filtering semantics.

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 already describes both parameters at 100% coverage, and the description adds nothing to the schema's own descriptions. This matches the baseline of 3.

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?

Description clearly states the resource: list of software/marketplace applications available for auto-installation, and references the wildcard endpoint. It is distinguishable from sibling tools like list_os or list_presets.

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?

Description provides no guidance on when to choose this tool over alternatives. It implies a use case (listing software available for auto-install) but never states it explicitly, nor does it mention exclusions or preferred context.

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

list_stock_serversA
Read-only

Список доступных stock-серверов (физические серверы стандартных конфигураций, деплой в течение рабочего дня). Токен не требуется.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupYesГруппа серверов; GPU-серверы не входят в остальные группы
locationYesЛокация: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, and the description adds a useful auth disclosure: 'Токен не требуется' (token not required). It does not mention pagination or output shape, but for a simple read-only list this is a meaningful behavioral detail 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?

The description is a single front-loaded sentence with a helpful parenthetical and an auth note. There is no filler or repetition of schema 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?

For a low-complexity read-only list tool with fully documented parameters and read-only/open-world annotations, the description is largely complete. The main gap is the lack of an explicit return-format statement and no pointer to get_stock_server for single-server details.

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 coverage is 100%: both location and group have descriptions, and group has a full enum. The description itself adds no parameter-level meaning, so it does not go beyond what the schema already provides, earning the baseline score.

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 and resource: 'list available stock servers', and adds qualifying details (physical servers, standard configurations, deployment within a business day). This makes it distinguishable from sibling tools like get_server, get_servers, and get_stock_server.

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 or alternative routing is provided. The description does not tell an agent when to prefer this over get_stock_server or order_server, so the only implied usage is the tool name itself.

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

list_traffic_plansA
Read-only

Доступные тарифные планы трафика для пресета в локации (traffic_plans/list). Токен не требуется.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesЛокация: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH
instance_idYesID пресета из list_presets

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds an actionable behavioral detail beyond annotations: 'Токен не требуется' (no token required), plus the exact endpoint. This is useful context for invocation without contradicting the annotations.

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

Conciseness5/5

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

A single front-loaded sentence contains the resource, scope, endpoint, and auth requirement. Every word earns its place and no redundant information is present.

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 shape, complete parameter schema, and read-only annotations, the description is largely sufficient. It omits return-format details, but there is no output schema and the operation is simple enough that this is a minor gap rather than a blocking one.

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 100%, so the schema already documents both parameters. The description only reinforces the mapping of 'preset' to instance_id and 'location' to location, adding no new semantic details beyond 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 description identifies a specific resource ('traffic tariff plans') scoped by preset and location, and includes the endpoint 'traffic_plans/list', which makes the list operation explicit. This clearly separates it from sibling tools like list_presets or s3_list_plans.

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 states the intended context: traffic plans for a preset in a location. However, it gives no explicit guidance on when to choose this tool over siblings such as get_preset_pricing or s3_list_plans, so usage is implied rather than directed.

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

logoutA
Idempotent

Завершить текущую API-сессию (auth/logout): сессионный токен удаляется из InvAPI. При следующем вызове клиент автоматически выполнит повторный вход по API-ключу.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

The description adds meaningful behavioral detail beyond the annotations: the session token is removed from InvAPI, and the client automatically re-authenticates via API key on the next call. This complements the idempotentHint and destructiveHint annotations without contradicting them.

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

Conciseness5/5

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

Two concise sentences fully describe the operation and its consequences. The core action is front-loaded, and every clause adds useful 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?

For a zero-parameter, idempotent session-termination tool, the description is complete: it explains the immediate effect, the server-side change, and the re-authentication behavior. No additional schema or return-value detail is necessary 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?

The input schema is empty, and there are zero parameters to document, so the baseline of 4 applies. The description adds no parameter-specific semantics because none are needed.

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 ('Завершить') and resource ('текущую API-сессию'), explicitly naming the auth/logout endpoint. This clearly distinguishes it from related account and API-key tools among the siblings.

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 the tool: to end the current API session and invalidate its token. However, it does not explicitly mention alternatives, exclusions, or conditions such as what happens if no session is active.

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

mass_payB

Создать групповой инвойс для оплаты нескольких инвойсов разом (whmcs/mass_pay). ДЕНЬГИ.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
invoicesYesМассив номеров инвойсов

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already indicate a non-read-only operation, and the description adds little beyond stating that it creates a group invoice. It does not disclose that the operation affects money/billing, that confirm=true is required to execute, or what side effects occur on the underlying invoices. The 'ДЕНЬГИ.' fragment is an emphasis, not a behavioral explanation.

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 main clause is concise and front-loaded, and the parenthetical '(whmcs/mass_pay)' is informative. However, 'ДЕНЬГИ.' adds noise without earning its place in a formal tool description.

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 two-parameter tool with full schema coverage and no output schema, the description is minimally adequate. But it lacks guidance on what happens after execution, the financial consequences, or how this relates to billing siblings, which is important for a money-related operation.

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 input schema already documents both parameters completely (100% coverage): invoices is an array of integers and confirm is a boolean with a description saying true is required to execute. The description adds no additional parameter-level meaning, so baseline 3 is appropriate.

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 action and object: create a group invoice for paying multiple invoices at once ('Создать групповой инвойс для оплаты нескольких инвойсов разом'). It clearly differentiates this from read-only invoice tools and from creating a single invoice, though it does not explicitly name a sibling alternative.

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?

The phrase 'для оплаты нескольких инвойсов разом' gives clear context: use this when paying several invoices together. However, it does not mention when not to use it or explicitly contrast it with related tools like create_addfunds_invoice or generate_due_invoice.

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

mount_isoA

Смонтировать ISO-образ на сервер (iso/mount_iso). Асинхронная операция — вернётся callback-ключ для check_task. ID/имя образа возьмите из list_iso_images или get_uploaded_isos.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
nameNoИмя образа (если используется идентификация по имени)
iso_idNoID образа из list_iso_images
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations establish readOnlyHint=false and destructiveHint=false, so the description doesn't need to re-state mutability. The description adds useful context beyond annotations: it's an asynchronous operation that returns a callback key, and confirm must be true. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action, then the async/callback caveat, then sourcing guidance. No filler; every clause 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?

For a 4-parameter mutation with no output schema, the description covers the critical call pattern: async behavior, callback key for check_task, and where to get the image ID. It doesn't cover prerequisites such as server power state, but the required info for a correct invocation is present.

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 already describes all four parameters (coverage 100%), so the baseline is 3. The description adds value by telling the agent where to obtain the image identifier (list_iso_images or get_uploaded_isos) and reinforces the confirm requirement, pushing it above baseline.

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 opens with a specific verb+resource ('Mount ISO image to server') and even notes the endpoint key. This clearly distinguishes it from siblings like unmount_iso, upload_iso, and delete_iso_image.

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 clear operational context: the operation is asynchronous and returns a callback key for check_task, and directs the agent to source the image identifier from list_iso_images or get_uploaded_isos. However, it doesn't explicitly state when to prefer this over alternatives or any exclusions, so it stops short of full routing guidance.

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

order_serverA

Заказ instant- или stock-сервера (eq/order_instance). ВАЖНО: заказ списывает средства с кредитного баланса или выставляет инвойс. По умолчанию работает в режиме dry_run=true — только проверяет доступность пресета и ОС и возвращает сводку без создания заказа. Для реального заказа передайте dry_run=false и confirm=true после явного согласия пользователя на стоимость. Деплой занимает 10–30 минут, статус — через check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
os_idYesID ОС из list_os
own_osNo1 — не устанавливать ОС (ручная установка)
presetYesID или имя пресета из list_presets (например, 108 или vm.pico)
confirmNoОбязателен (=true) для реального заказа
dry_runNoПо умолчанию true: проверка параметров без создания заказа и списания средств
soft_idNoID ПО из list_software (опционально)
ssh_keyNoПубличный SSH-ключ для root
hostnameNoИмя хоста; по умолчанию генерируется из локации и ID
promocodeNoПромокод на скидку
root_passYesПароль root: мин. 8 символов, заглавная буква, цифра, спецсимвол (кроме @ и #)
traffic_planYesID трафик-плана из list_traffic_plans
deploy_notifyNoУведомление о завершении деплоя на email (рекомендуется true)
deploy_periodYesПериод оплаты
location_nameYesЛокация: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH
post_install_scriptNoСкрипт, выполняемый после деплоя
post_install_callbackNoURL callback после деплоя

TDQS

A4.9/5.0
Behavior5/5

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

While annotations indicate readOnlyHint=false and openWorldHint=true, the description goes further by warning that funds are debited or an invoice is issued, explaining that dry_run only verifies availability without charging, and stating that deployment takes 10–30 minutes with status via check_task. This is exactly the behavioral context an agent needs.

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?

Three tightly written sentences front-load the financial warning and default mode, then give the real-order recipe and status follow-up. Every sentence earns its place; there is no filler or repetition.

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 16-parameter, money-affecting tool with no output schema, the description is remarkably complete: it covers the dangerous default, the safe dry-run path, the confirmation requirement, deployment duration, and post-order status lookup. Required and optional parameters are already fully documented in the 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 100%, so the baseline is 3, but the description adds meaningful operational nuance around dry_run and confirm: it frames confirm=true as requiring explicit user consent to the price, and explains the consequence of omitting it. This supplements the schema's existing parameter descriptions with the cost-safety context.

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 opens with a specific verb and resource: 'Заказ instant- или stock-сервера (eq/order_instance)' — ordering a server. This clearly distinguishes it from sibling tools that list, get, or manage servers, and there is no ambiguity about what action the tool performs.

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?

The description explicitly explains the default dry_run mode, when to switch to a real order (dry_run=false and confirm=true), and requires explicit user consent to cost. It also directs the agent to check_task for deployment status, leaving no doubt about the correct invocation flow.

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

port_offA
Destructive

Выключить сетевой порт сервера (net/port_off). ДЕСТРУКТИВНО: сервер потеряет сетевую связность по этому интерфейсу.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
portYesФизический порт свитча из get_network_status
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

The description explicitly warns that the operation is destructive and will cause the server to lose network connectivity on that interface. This adds meaningful behavioral context beyond the annotations (destructiveHint=true, readOnlyHint=false). It doesn't mention reversibility or confirmation requirements, but the schema already requires confirm=true, so the description's warning is sufficient.

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?

Two sentences with zero waste. The core action is front-loaded, and the critical destructive warning is placed immediately after. Every word 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?

For a destructive action with a required confirm flag, the description covers the essential context: what the tool does and the key risk. It doesn't describe the return value, but there is no output schema and the operation is a simple toggle-like action. The missing 'use port_on to re-enable' is a minor gap.

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 100%, so the schema already documents all three parameters (id, port, confirm). The description adds no additional parameter-level detail beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Выключить сетевой порт сервера') and the resource (network port of a server). It also includes the internal command name (net/port_off) and explicitly distinguishes it from the sibling port_on by its destructive nature. This is a specific verb+resource with clear differentiation.

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?

The description implies when to use this tool: when you need to disable a server's network port. It doesn't explicitly name alternatives or exclusions, but the destructive warning and the sibling port_on provide enough context. A clear 'use port_on to re-enable' would have made it a 5.

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

port_onC

Включить сетевой порт сервера (net/port_on).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
portYesФизический порт свитча из get_network_status
confirmYesНужно true, чтобы выполнить операцию.

TDQS

C2.9/5.0
Behavior2/5

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

Although annotations declare readOnlyHint=false, the description itself adds no behavioral disclosure. It doesn't mention that the tool permanently changes the port state, that the `confirm` flag is mandatory, or any operational consequences. Since annotations already declare the safety profile, the description adds little beyond what can be inferred from the name and schema.

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, focused sentence with no filler words, and the first and only clause states the primary action. Some helpful context is missing, but the size is concise and the main purpose is 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?

For a simple three-parameter mutation with 100% parameter coverage and pre-populated annotations, the description is enough for identification and basic invocation but doesn't provide guidance such as sequencing or the effect of the `confirm` flag. Given the small tool, this is adequate but not 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 100%, so the description is not required to explain parameters. In addition, the tool description includes no parameter meaning beyond the schema, so a baseline 3 is appropriate.

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 clearly states a specific action ('enable') and a specific resource ('server network port'), and it is not a tautology. However, it does not explicitly distinguish the tool from its sibling `port_off` or other network-related tools, so it doesn't earn 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 description provides zero guidance on when to use this tool instead of alternatives, or about any prerequisites or post-conditions. The hint about `port` coming from `get_network_status` is useful, but it is in the schema parameter description, not in the main description.

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

power_offA
Destructive

Выключить сервер (eq/off). ДЕСТРУКТИВНО: прерывает работу всех сервисов на сервере. Требует confirm=true. Асинхронная операция: в ответе будет callback-ключ для check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesОбязательное подтверждение операции. Без confirm=true вызов отклоняется.

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses the concrete consequence: it interrupts all services on the server. It also adds the async callback-key behavior for check_task, which annotations cannot express. This is substantial and accurate 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.

Conciseness5/5

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

The description is compact, front-loaded with the action and warning, and each sentence carries useful information. 'eq/off' is slightly opaque, but it does not bloat the definition.

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 two-parameter tool with no output schema, the description is complete: it explains what the tool does, the destructive impact, the required confirmation, and the asynchronous response pattern. An agent has everything needed to invoke it correctly.

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 input schema already covers both parameters completely (100% coverage), including the fact that confirm=true is mandatory and that the call is rejected without it. The description merely restates the confirm requirement and adds no new parameter-level meaning.

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 names the specific action and resource ('Выключить сервер') and immediately distinguishes itself from sibling operations like power_on and reboot_server through the destructive label. The parenthetical 'eq/off' is mildly cryptic, but the core verb-resource pair is unmistakable.

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 states a hard precondition (confirm=true) and notes the operation is asynchronous, which helps an agent know how to invoke and handle it. However, it does not explicitly mention alternatives such as power_on or reboot_server or specify when one should be chosen instead, so usage guidance is mostly implied.

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

power_onA
Idempotent

Включить сервер (eq/on). Асинхронная операция: в ответе будет callback-ключ для check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesОбязательное подтверждение операции. Без confirm=true вызов отклоняется.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish non-read-only, non-destructive, idempotent behavior. The description adds meaningful behavioral context beyond annotations by stating that this is an asynchronous operation and that the response will contain a callback key for check_task. This is valuable for the agent's invocation flow.

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 short sentences with no filler. The core action is front-loaded, and the critical async behavior is stated immediately after, making it easy for an agent to parse quickly.

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 simple two-parameter tool with full schema coverage and relevant annotations, the description provides the essential operational detail: async execution and a callback key for check_task. No critical missing information prevents correct invocation.

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 100%, so both id and confirm are already documented in the schema. The description does not add additional parameter meaning, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific action and resource: 'Включить сервер' (turn on the server), which clearly distinguishes it from siblings like power_off and reboot_server. The async note further clarifies what kind of call this is, making the purpose unmistakable.

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?

The context is clear: use this tool when you want to power on a server. It does not explicitly name alternatives or exclusions, but the verb and resource make the intended use obvious, so this is clear context without exclusions rather than merely implied usage.

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

reboot_serverA
Destructive

Перезагрузить сервер (eq/reboot). Прерывает работу сервисов на время перезагрузки. Требует confirm=true. Асинхронная операция: в ответе будет callback-ключ для check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesОбязательное подтверждение операции. Без confirm=true вызов отклоняется.

TDQS

A4.2/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 description doesn't need to restate that. It adds valuable behavioral context: it interrupts services during reboot, requires confirm=true, and is asynchronous with a callback-key response. This goes beyond the annotations and helps the agent understand side effects and response handling.

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?

Three short sentences, each earning its place: what it does, side effect, and required confirmation plus async behavior. No fluff, front-loaded with the core action.

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 2-param tool with full schema coverage and no output schema, the description covers the essential operational context: side effects, confirmation requirement, and async response pattern. It doesn't describe the exact callback-key format, but that's a minor gap given the check_task sibling exists and the description points to it.

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 100%, so the schema already documents both parameters (id and confirm). The description adds the requirement that confirm must be true, which reinforces the schema's note, but doesn't add new meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Перезагрузить сервер' – reboot server) and the resource (server), and distinguishes it from sibling tools like power_on/power_off and request_rh_reboot by specifying it's an eq/reboot operation. The verb is specific and the resource is unambiguous.

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?

The description provides clear context: it requires confirm=true and is asynchronous, which tells the agent when and how to use it. It doesn't explicitly name alternatives or exclusions, but the context is sufficient for an agent to know this is the reboot operation, distinct from power on/off or remote-hand reboot tools.

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

reinstall_serverA
Destructive

Переустановка ОС на существующем сервере (упрощённый путь через eq/order_instance с id). ДЕСТРУКТИВНО: все данные на дисках будут удалены. Требуется HOSTKEY_ALLOW_DESTRUCTIVE=1 в окружении сервера, confirm=true и повторный ввод текущего hostname сервера. Асинхронная операция: статус — через check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
os_idYesID новой ОС из list_os (0 + own_os=1 — без установки ОС)
own_osNo1 — не устанавливать ОС
confirmYesОбязателен (=true) для запуска переустановки
soft_idNoID ПО из list_software
ssh_keyNoПубличный SSH-ключ для root
hostnameYesТекущий hostname сервера — служит подтверждением, что сервер выбран верно
root_passYesНовый пароль root
deploy_notifyNo
post_install_scriptNo

TDQS

A4.1/5.0
Behavior5/5

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

Although annotations already declare destructiveHint=true, the description adds substantial behavioral context beyond that: 'все данные на дисках будут удалены' specifies exactly what gets destroyed, it names the required environment variable guard, and it discloses the operation is asynchronous with status via check_task. This is precisely the kind of safety and execution-context detail the annotation alone does not provide.

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

Conciseness4/5

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

The description is compact — three clauses covering purpose, destructive warning, and execution requirements, with the most critical safety information front-loaded. The cryptic 'eq/order_instance' reference consumes space without adding agent-actionable meaning, but overall the text is efficient.

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 destructive, asynchronous mutation with 10 parameters and no output schema, the description covers the essential operational context: data destruction scope, required flags, hostname verification, and how to track completion. The main gap is not naming the sibling alternative (create_reinstall_task) explicitly, leaving the when-vs-alternative decision to the agent.

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 80%, so the input schema already documents the parameters well, including the confirm requirement and the special os_id=0 + own_os=1 meaning. The description adds no additional parameter meaning that the schema lacks, so the baseline of 3 is appropriate.

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

Purpose5/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: 'Переустановка ОС на существующем сервере' (reinstall OS on an existing server), which clearly distinguishes it from read-only list/status tools and power-control siblings. The parenthetical 'упрощённый путь через eq/order_instance' (simplified path via order_instance) additionally hints at a distinct mechanism from the create_reinstall_task sibling. An agent can tell what this tool does 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?

The description lists concrete prerequisites for invocation (HOSTKEY_ALLOW_DESTRUCTIVE=1, confirm=true, re-entering the current hostname), which gates when the call is permitted. However, it never explicitly routes the agent to an alternative (e.g., create_reinstall_task for the non-simplified reinstall path) or states when to prefer one over the other, so the 'simplified path' hint remains implied rather than actionable.

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

remove_ipmi_userA

Удалить временного IPMI-пользователя (eq/remove_ipmi_user).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish that this is a mutating but non-destructive operation. The description adds the 'temporary' qualifier, which helps explain why removing this user is considered non-destructive. It does not describe side effects such as loss of IPMI access or whether the confirm parameter is the only guard, but no contradiction with the annotations is apparent.

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 concise sentence with no filler. The parenthetical 'eq/remove_ipmi_user' is slightly redundant with the tool name, but it does not meaningfully hurt clarity or structure.

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 two-parameter operation with full schema coverage and informative annotations, the description is adequately complete. The agent knows the target resource and the required confirmation flag. There is no output schema, but for a straightforward deletion this is only a minor gap.

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 100%, so both id and confirm are already fully documented in the input schema. The description adds no additional parameter-level semantic detail, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific action ('remove') and a specific resource ('temporary IPMI user'), and the 'temporary' qualifier helps differentiate it from add_ipmi_user and reset_ipmi. Even though it is terse, it clearly conveys what the tool does.

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 intended use is implied: it is for removing temporary IPMI users, and the word 'temporary' provides a boundary against permanent-user operations. However, it does not explicitly mention alternatives such as add_ipmi_user or reset_ipmi, nor does it state when not to use this tool.

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

remove_snapshotA
Destructive

Удалить снапшот (vm/remove_snapshot). ДЕСТРУКТИВНО: снапшот удаляется безвозвратно. Удаление возможно только на выключенной ВМ.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID виртуальной машины
nameYesИмя снапшота
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the description correctly aligns with annotations. The description adds meaningful extra context by specifying that the snapshot is deleted irrevocably and that the VM must be powered off, going beyond what the annotations alone reveal.

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 short, front-loads the destructive warning, and contains no filler. Every sentence earns its place: what it does, that it is irreversible, and when it is allowed.

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 three-parameter destructive tool with no output schema, the description covers the important precondition (VM powered off) and the irreversible nature of the operation, while the schema covers all parameters. It does not describe return values or error behavior, but that gap is minor given the annotations and complete schema.

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 100%, with the schema already documenting id, name, and confirm. The description adds no parameter-specific detail beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action: deleting a snapshot, backed by the explicit vm/remove_snapshot identifier, so an agent knows what operation this tool performs. It does not explicitly contrast with sibling tools like restore_snapshot or create_snapshot, but the destructive delete framing is unambiguous.

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?

The description provides a key operational prerequisite: deletion is possible only on a powered-off VM. It does not mention alternative snapshot operations or when not to use this tool, but the core usage condition is explicit and valuable.

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

remove_static_natC

Удалить статический DNAT до IPMI сервера (nat/remove_static_nat).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

C2.9/5.0
Behavior2/5

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

The description only restates the removal behavior and adds no behavioral context beyond what the annotations already indicate (not read-only). It does not mention side effects, whether removal is immediate, or that confirm=true is required; the API path in parentheses is not behavioral information. There is no contradiction with the annotations.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler. The parenthesized endpoint path is mildly redundant but harmless, so the definition earns near-full marks for conciseness.

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 two-parameter mutation with full schema coverage and annotations indicating non-read-only but non-destructive behavior, the description is minimally adequate. However, it omits any distinction from sibling NAT tools and any description of the operation's result, so it is not fully 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 100% and both parameters have descriptions ('ID сервера', 'Нужно true, чтобы выполнить операцию'). The tool description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states the action ('Удалить' = remove) and the resource ('статический DNAT до IPMI сервера' = static DNAT to IPMI server), clarifying what the tool operates on beyond the raw tool name. It is not a pure tautology, but it does not differentiate from overlapping siblings such as clear_static_nat or drop_nat, 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?

The description provides no guidance on when to use this tool instead of add_static_nat, clear_static_nat, or drop_nat. It also gives no preconditions or notes about idempotency, so the agent must guess the selection criteria.

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

request_cancellationA
Destructive

Запросить отмену услуги (whmcs/request_cancellation). ДЕСТРУКТИВНО: cancellation_type=1 — немедленная отмена с частичным возвратом (если возможно), 0 — отмена в конце биллинг-периода. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.
cancellation_typeYes1 — немедленно (частичный возврат при возможности), 0 — в конце биллинг-периода
terminate_reason_customNoПричина отмены

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already include destructiveHint=true, but the description adds valuable context: it explicitly warns 'ДЕСТРУКТИВНО', explains that cancellation_type=1 is immediate with partial refund and 0 is end-of-billing-period, and discloses the environment variable requirement. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is compact, with the purpose stated first, then the destructive warning, then the requirement. Every sentence contributes useful information without redundancy, making it easy for an agent to catch the key facts at a glance.

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 destructive, 4-param tool with no output schema, the description covers the critical behavioral aspects (destructive modes, requirement). However, it does not explain what the operation returns, whether cancellation requests can be later deleted, or any side effects like billing implications beyond the partial refund. These gaps are notable but not fatal given the schema and annotations.

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 100% and the schemas already describe cancellation_type and confirm. The description largely repeats the enum meanings ('1 — immediate, 0 — end of billing period') already present in the schema, so it adds no meaningful new parameter semantics beyond the baseline.

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?

Description clearly states 'Запросить отмену услуги' (Request cancellation of service), identifying the specific action and resource. It is distinct from sibling tools like delete_cancellation_request or get_cancellation_requests, which are about removing or listing cancellation requests, so an agent can differentiate it without opening schemas.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description mentions the HOSTKEY_ALLOW_DESTRUCTIVE=1 requirement, but it does not name sibling tools like get_cancellation_requests or delete_cancellation_request, nor does it provide exclusion criteria. Usage context is only implied by the tool's name.

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

request_rh_checkA

Заявка Remote Hands: проверить сервер и загрузить его в ОС (jira/request_check). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior4/5

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

Annotations indicate a non-read-only, externally visible action, and the description adds the meaningful detail that a ticket is created for the data-center shift with status and correspondence tracked in that ticket. It also discloses that the link arrives by email, which is useful context beyond the 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?

Two compact sentences with the core action front-loaded and no filler. The internal jira reference and email-notification detail are packed efficiently without bloating the description.

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 action with an external human-mediated outcome, the description tells the agent what will happen, where status can be tracked, and how the link is delivered. A minor gap is that it does not state whether the API response itself contains a ticket identifier, but the overall context is 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?

The input schema already provides full descriptions for both parameters, id and confirm, at 100% coverage. The tool description adds no extra parameter-level semantics, so this is the baseline case where the schema carries the weight.

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 clearly identifies the action: checking a server and booting it into the OS by creating a Remote Hands ticket. This distinguishes it from siblings like request_rh_power_on, request_rh_reboot, and request_rh_kvm, even without naming them.

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 purpose implies when the tool should be used, but there is no explicit guidance about when not to use it or which sibling tool might be a better fit for simpler actions. The ticket workflow context is helpful, but exclusions are left to inference.

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

request_rh_kvmA

Заявка Remote Hands: подключить IP KVM к серверу (jira/request_kvm). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses that the tool creates an external Jira ticket, that status and correspondence live there, and that a link will be emailed. This adds meaningful behavioral context beyond the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) and correctly implies the action is non-read-only but not destructive.

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?

Two short sentences cover the operation, the external ticket behavior, and the follow-up channel. There is no fluff or repetition of schema content.

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 two-parameter tool with no output schema, the description is complete enough: it states what is created, where to track it, and how the user will be notified. The only missing detail is the exact API response format, which is not required given the absence of an output schema.

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 100%: 'id' is documented as server ID and 'confirm' as a required true flag. The description adds no additional parameter meaning beyond the schema, so the baseline score of 3 applies.

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

Purpose5/5

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

The description states a precise action: creating a Remote Hands ticket to connect an IP KVM to a server. It includes its internal Jira identifier and clearly distinguishes it from sibling tools like request_rh_power_on or request_rh_reboot by naming the specific task.

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?

The description makes the use case explicit: this is for requesting a data-center duty shift to connect an IP KVM to a server. It does not explicitly exclude alternatives, but the purpose is clear enough for an agent to select it over the other request_rh_* siblings.

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

request_rh_power_offA
Destructive

Заявка Remote Hands: выключить сервер вручную (jira/request_poff). ДЕСТРУКТИВНО для работающих сервисов. Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, and the description goes beyond this by warning that it is destructive for running services and explaining that a ticket is created with status updates and correspondence sent to email. This gives the agent a clear picture of side effects and follow-up 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 compact, front-loaded with the core purpose, and each sentence carries useful information: the operation, its destructive nature, and the ticket/email follow-up. There is no wasted phrasing.

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 two-parameter tool with destructiveHint and full schema coverage, the description covers the main operational context well: what happens after invocation and where to find the result. The only notable gap is the lack of explicit guidance about when to use it versus direct power-off tools, but overall it is sufficiently 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 coverage is 100%, and both parameters are fully described in the schema: id is the server ID and confirm must be true to execute. The description adds no additional parameter detail, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description names a specific action and resource: requesting manual server power-off via Remote Hands, and explicitly says it creates a Remote Hands ticket. It differentiates from direct power_off and other request_rh_* siblings by adding 'вручную' and the ticket-creation mechanism.

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 use case: manual server shutdown handled by datacenter staff, as opposed to a software-level power_off. However, it never explicitly states when to prefer this over power_off or request_rh_reboot, leaving the routing decision mostly to the agent.

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

request_rh_power_onA

Заявка Remote Hands: включить сервер вручную (jira/request_pon). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate mutation (readOnlyHint=false) and non-destructiveness (destructiveHint=false). The description adds useful behavioral context: it creates a Remote Hands ticket, status and correspondence live in the ticket, and a link is sent by email. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is two short sentences with the core purpose front-loaded and no filler. Every clause adds useful information about the ticket workflow and notification behavior.

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 low-complexity tool with a fully documented schema, the description adequately explains the action, outcome, and follow-up channel. It could be slightly more complete by mentioning that confirm must be true to execute or by contrasting with the plain power_on tool, but these are minor 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?

Schema description coverage is 100%, so the schema fully documents the id and confirm parameters. The description does not add extra parameter-level meaning, so the baseline score of 3 is appropriate.

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

Purpose5/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: it creates a Remote Hands ticket to manually power on a server. It clearly distinguishes this from sibling tools like request_rh_power_off, request_rh_reboot, and request_rh_pxe_boot by naming the exact action.

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?

The description gives clear context for when to use the tool: when manual hands-on action by the data center shift is needed, and it explains the ticket-based workflow. However, it does not explicitly mention alternatives such as the regular power_on tool or state when not to use this tool.

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

request_rh_pxe_bootA

Заявка Remote Hands: загрузить сервер по PXE (jira/request_PXEboot). Нужна при переустановке ОС на серверах без модуля удалённого управления. Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior4/5

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

The description explains the actual behavior: it creates a Remote Hands ticket for the data-center duty shift, with status and correspondence tracked in the ticket and a link sent by email. This goes beyond the annotations by describing the resulting workflow and notification side effect.

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

Conciseness5/5

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

Three concise sentences cover purpose, usage scenario, and outcome with no redundant wording. The most important information is front-loaded, and every sentence adds value.

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

Completeness4/5

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

For a simple two-parameter request tool, the description is sufficient: it explains the action, the trigger scenario, the ticket-creation behavior, and where to follow up. There is no output schema, but the description adequately covers expected results and follow-up via email.

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 coverage is 100%, so the id and confirm parameters are already documented in the schema. The description does not add extra parameter-level detail, which is acceptable given the complete schema descriptions.

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 clearly states the action: create a Remote Hands request to PXE-boot a server, and names the internal tracking reference (jira/request_PXEboot). It also distinguishes the purpose from sibling Remote Hands tools by specifying the PXE-boot scenario for OS reinstallation on servers lacking remote management.

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?

The description gives concrete usage context: use when reinstalling the OS on servers without a remote management module. It does not explicitly list exclusions or alternative tools, but the scenario is clear enough for an agent to select it over sibling request_rh_* tools.

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

request_rh_rebootA
Destructive

Заявка Remote Hands: перезагрузить сервер вручную (jira/request_reboot). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the destructiveHint annotation, the description adds important behavioral details: the operation creates a ticket rather than directly rebooting, and status/correspondence will live in the ticket with a link sent by email. This sets accurate expectations about async workflow and where results appear.

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?

Two sentences with no filler. The core purpose is front-loaded, and the follow-up behavior is stated economically. Every sentence adds useful 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?

For a two-parameter tool with no output schema, the description tells the agent what will happen, where to track the result, and how the link will arrive. Nothing essential is missing for selecting and invoking this tool correctly.

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 100%, so the schema already documents id and confirm. The description does not add parameter-level semantics beyond that, which is acceptable because the schema carries the burden.

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 opens with a specific verb and resource: it creates a Remote Hands request to manually reboot a server. It also distinguishes itself from direct reboots and other RH actions by explicitly saying 'перезагрузить сервер вручную' and by identifying the DC duty shift as the actor.

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?

The description provides clear context: this is a Remote Hands request for a manual reboot, and it routes follow-up to the created ticket. It does not explicitly name alternatives like reboot_server or when-not-to-use, but the 'вручную' and 'дежурной смены дата-центра' wording makes the intended use case clear.

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

request_sales_assistanceB

Тикет в отдел продаж (jira/request_assistance): отмена или перенос услуги и подобные запросы. Опишите детали в message.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoID сервера, если запрос касается сервера
confirmYesНужно true, чтобы выполнить операцию.
messageYesДетали запроса: что отменить/перенести и почему
subjectNoТема запроса

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 and destructiveHint=false, so the agent knows this is a non-read, non-destructive action. The description adds that it creates a Jira/request_assistance ticket and that details go in 'message', which is useful. However, it does not disclose side effects (e.g., whether a ticket is actually created, whether it requires payment context, or what happens after submission). With annotations covering the basic 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 two sentences and front-loads the core purpose (ticket to sales department) before giving examples and a parameter hint. Every sentence earns its place, though the parenthetical '(jira/request_assistance)' is slightly cryptic and could be clearer.

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 simple ticket-creation tool with 100% schema coverage and no output schema, the description is mostly sufficient. However, it does not clarify the relationship to sibling tools like request_cancellation, and it does not state what the response will be or whether the 'confirm' flag is mandatory for submission. These are minor gaps given the tool's simplicity.

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 100%, so the schema already documents all four parameters. The description adds context for 'message' ('describe details') and mentions cancellation/rescheduling, which maps to the message field's purpose. It does not add meaning beyond the schema for 'id', 'confirm', or 'subject', so the baseline 3 is correct.

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 ('request') and resource ('sales department ticket'), and gives concrete examples ('cancel or reschedule service and similar requests'). It is clear what the tool does, though it doesn't explicitly distinguish itself from sibling tools like request_cancellation or create_rhr_request, which are also request-type tools.

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: for sales-department tickets involving cancellation or rescheduling. However, it does not explicitly say when not to use it or name alternatives like request_cancellation, which appears to be a more specific cancellation flow. The guidance is adequate but leaves the boundary with sibling tools to inference.

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

reset_billing_passwordA

Сбросить пароль аккаунта биллинга (whmcs/reset_password): на указанный email придёт ссылка для сброса. Email должен совпадать с email аккаунта.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail аккаунта
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false. The description adds useful behavioral transparency by stating that a reset link will be sent to the email, implying no immediate password change, and that the email must match the account. This goes beyond the annotation hints and gives the agent a clear expectation of side effects.

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

Conciseness5/5

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

The description is two concise sentences, front-loaded with the core purpose and then adding the key condition. Every word earns its place; no fluff or redundancy. This is an model of brevity.

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 tool with two required parameters and no output schema, the description covers the main behavioral effect (sending a reset link), the precondition (email match), and the tool's purpose. It does not detail error cases or response format, but such details are not essential given the tool's simplicity and the absence of an 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 100%, with both parameters documented in the JSON schema. The description adds extra semantic value by clarifying that the email must equal the account email, which is not stated in the schema. This helps the agent pass the correct value. It does not need to explain the confirm parameter further because the schema already states it must be true to execute.

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 clearly states a specific verb and resource ('reset password of billing account') and includes the underlying whmcs/reset_password reference. It also explains the delivery mechanism (link sent to email) and a key condition (email must match the account), making it unambiguous and distinct from all sibling tools, none of which offer password reset.

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?

The description gives clear context: it is for resetting a billing password via a link sent to email. It provides an explicit prerequisite (email must match the account email), which is key usage guidance. It does not explicitly compare to alternatives, but no sibling tool provides the same function, so this level of guidance is sufficient.

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

reset_ipmiA

Перезагрузить IPMI-модуль сервера (eq/unit_reset). Применять, если IPMI не отвечает.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A3.7/5.0
Behavior2/5

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

Annotations only indicate readOnlyHint=false and destructiveHint=false; the description mostly restates that a reset/reboot happens. It does not disclose important behavioral context such as temporary IPMI unavailability, possible loss of management access during the reset, or other side effects. Since annotations are thin, more burden falls on the description.

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 a single concise sentence with the action front-loaded and the usage condition immediately after. There is no filler or 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?

For a simple two-parameter tool with full schema coverage, the description is adequate for selection and basic invocation. However, it omits operational consequences of resetting an IPMI module, such as temporary loss of IPMI connectivity, which would make the definition more 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?

The input schema fully documents both parameters (id and confirm) with descriptions, so the description does not need to repeat them. Baseline is 3; the description adds no extra parameter semantics, but the schema already carries that weight.

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?

Description states a concrete action ('Перезагрузить IPMI-модуль сервера' — reboot the server's IPMI module) and even names the underlying call (eq/unit_reset). This clearly distinguishes it from sibling tools like power_on, reboot_server, or request_rh_reboot, which operate on the server rather than the IPMI module.

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?

The description gives an explicit usage condition: 'Применять, если IPMI не отвечает' (use when IPMI is not responding). It provides clear context for when to invoke the tool, though it does not mention alternatives or exclusion cases, so it stops short of a 5.

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

restore_snapshotA
Destructive

Восстановить ВМ из снапшота (vm/restore_snapshot). ДЕСТРУКТИВНО: текущее состояние диска ВМ будет перезаписано состоянием снапшота.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID виртуальной машины
nameYesИмя снапшота
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, but the description adds specific context: it explains that the current disk state will be overwritten by the snapshot state. This goes beyond the generic hint and clarifies the exact impact. It does not contradict 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?

The description is a single sentence that front-loads the action and includes a prominent destructive warning. There is no fluff; every word 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?

For a destructive tool with three required parameters and no output schema, the description covers the essential purpose and the destructive side effect. It doesn't explain the return value or post-conditions, but given the simplicity and schema coverage, it is sufficiently complete for an agent to invoke it correctly.

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 100%, so all three parameters (id, name, confirm) are already described in the schema. The tool description does not add any additional semantic information about parameters, so baseline 3 is appropriate.

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 clearly states the action: restore VM from snapshot, with a specific verb and resource. It includes the API endpoint for precision. While it doesn't explicitly differentiate from siblings like create_snapshot or remove_snapshot, the verb 'restore' is unambiguous.

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 (when you have a snapshot and want to restore) but provides no explicit when-to-use guidance or alternatives. It doesn't mention when not to use it or any prerequisites. For a destructive operation, more guidance might be helpful, but the purpose is clear.

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

run_post_install_taskA

Выполнить Jenkins/Ansible-задачу на сервере (jenkins/call): ID или имя задачи из list_post_install_tasks + доп. параметры. Например, установка GPU-драйверов после переустановки ОС.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
taskYesID или имя задачи из list_post_install_tasks
paramsNoДополнительные параметры задачи
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate this is not read-only and not strictly destructive. The description adds that execution happens via Jenkins/Ansible and gives an example side effect (installing GPU drivers), but it does not disclose potential consequences, reversibility, or long-running behavior. No contradiction with annotations.

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

Conciseness5/5

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

A single front-loaded sentence states the action, source of task identifiers, and a concrete example. Every clause earns its place, and there is no redundant 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?

With a fully described schema and no output schema, the description covers the primary invocation path: server ID, task from list_post_install_tasks, optional params, and the confirm gate. It could mention asynchronous behavior or return value expectations, but nothing essential to calling the tool correctly is missing.

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 100%, so parameters are fully documented by the schema. The description adds no materially new meaning beyond restating that task is an ID/name from list_post_install_tasks and that extra parameters are supported.

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 names a specific action ('Выполнить Jenkins/Ansible-задачу на сервере') and a clear resource (a task selected from list_post_install_tasks). The example of installing GPU drivers after OS reinstall makes the tool's purpose concrete and distinguishes it from the sibling listing tool.

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?

The description directs the agent to source valid task identifiers from list_post_install_tasks and gives a realistic context ('после переустановки ОС'). It does not explicitly mention alternatives or exclusion criteria, but the intended use is clear enough for correct selection.

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

s3_cancel_account_deletionA

Отменить процесс удаления S3-сервиса, инициированный через биллинг, и восстановить активный статус аккаунта (s3/cancel_payment_account_deletion).

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate a non-read-only, non-destructive operation, and the description adds a meaningful behavioral outcome: canceling the deletion process and restoring the active account status. It lacks edge-case details such as behavior for already-deleted accounts, but with annotations present the additional context is reasonably sufficient.

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 a single, focused sentence that front-loads the action and outcome. The parenthetical endpoint reference is a useful implementation detail and does not add unnecessary length.

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 simple two-parameter mutation with full schema coverage and no output schema, the description plus schema provide all essential context: what operation is performed, when it applies, and what the expected result is. No critical guidance is missing.

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 input schema fully documents both parameters: confirm (must be true) and account_id (with guidance to check via s3_get_users). The description itself adds no new parameter-level meaning, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific action ('Отменить' / cancel) and clearly identifies the resource: the S3 deletion process initiated through billing, with the explicit outcome of restoring the account's active status. This clearly differentiates it from mutating siblings like s3_delete_account or s3_delete_payment_account.

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?

The description specifies the condition 'инициированный через биллинг' (initiated through billing), giving the agent a clear context for when to use this tool. It does not explicitly name alternatives or state when not to use it, so it falls short of full routing guidance.

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

s3_create_accountA

Создать S3-аккаунт: привязка тарифного плана и начального бакета (s3/create_account). Требует авторизации.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketNoИмя начального бакета
confirmYesНужно true, чтобы выполнить операцию.
plan_idNoID тарифного плана из s3_list_plans
locationNoЛокация из s3_get_locations

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already show this is a mutating call (readOnlyHint=false) and not destructive; the description adds that authorization is required and that the action binds a plan and bucket. It does not mention side effects such as billing/account creation implications or what happens after execution.

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 sentence conveys the purpose, key binding details, and auth requirement with no filler. The essential information is front-loaded.

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 four-parameter tool whose schema documents every parameter, the description provides enough context about creating an S3 account. It could add a note on prerequisites/sources for plan_id and location, but those are already in the schema; no output schema exists, so return-value detail is not strictly required.

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 100%, so the parameters are already documented in the input schema. The description loosely maps plan_id and bucket to the 'tariff plan' and 'initial bucket' but adds no new semantic detail beyond 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 description uses a specific verb and resource — 'Создать S3-аккаунт' (create S3 account) — and clarifies it involves attaching a tariff plan and initial bucket. This distinguishes it from siblings like s3_create_bucket and s3_create_order.

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 usage is implied: it is the tool for creating an S3 account with a plan and initial bucket, and it notes authorization is required. It does not explicitly name alternatives, state when not to use it, or explain how it differs from s3_create_order/s3_create_bucket.

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

s3_create_bucketA

Создать новый бакет в существующем S3-аккаунте (s3/create_bucket).

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketYesИмя бакета
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate this is a mutation (readOnlyHint false) and not destructive. The description adds no further behavioral context beyond the action itself. It does not contradict annotations, but it doesn't disclose side effects, costs, or confirmation requirements beyond what the schema already provides.

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 a single, clear sentence with no redundant information. The parenthetical endpoint reference is minor and does not detract. It is front-loaded with the core action and prerequisite.

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 create operation with three parameters and no output schema, the description covers the essential usage scenario. It notes the existing-account prerequisite and aligns with the confirm parameter requirement. It lacks details about uniqueness or error handling, but these are not critical for an agent to call it correctly.

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 100%, so all parameters are already documented. The description adds no additional meaning about parameter values or usage, only stating the overall purpose. Baseline 3 is appropriate when the schema carries the parameter details.

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 the exact operation: creating a new bucket in an existing S3 account. It uses a specific verb and resource, and the context of existing account distinguishes it from sibling s3 tools like s3_create_account or s3_delete_bucket.

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?

The description implies the prerequisite of an existing S3 account by saying 'in existing S3-account', which is a clear usage condition. However, it does not explicitly exclude alternative tools or state when not to use it, so it falls short of a 5.

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

s3_create_orderA

Создать платный заказ на S3-хранилище с привязкой к биллингу (s3/create_order). ДЕНЬГИ: создаёт реальный заказ/инвойс.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
plan_idNoID тарифного плана
locationNoЛокация

TDQS

A4.2/5.0
Behavior5/5

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

The description goes beyond the annotations by clearly warning 'ДЕНЬГИ: создаёт реальный заказ/инвойс', disclosing a real financial side effect. This is exactly the behavioral context an agent needs before invoking a billing-affecting tool.

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 very short and front-loaded with the core purpose and the financial warning. There is no redundant or filler content.

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 low-complexity tool with fully documented parameters, the description is mostly complete. The main remaining gap is the absence of any return-value or post-condition information, but given the lack of an output schema and the clear billing warning, this is a minor gap rather than a blocking one.

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 100%, so the parameters are already fully documented. The description adds no additional meaning about plan_id, location, or confirm beyond what the schema provides, which is acceptable but not value-adding.

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?

Description states a specific verb and resource ('Создать платный заказ на S3-хранилище') and explicitly ties it to billing. The 'ДЕНЬГИ: создаёт реальный заказ/инвойс' warning further distinguishes it from non-billing S3 tools like s3_create_bucket and s3_create_account.

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 intended use is implied: this is the monetarily charged S3 order operation among the siblings. However, there is no explicit guidance about when to use it versus alternatives such as s3_list_plans or s3_create_bucket, nor any stated prerequisites like an existing billing account.

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

s3_delete_accountA
Destructive

Полностью удалить S3-аккаунт пользователя (s3/delete_account). ДЕСТРУКТИВНО: все бакеты и данные будут удалены. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, the description adds meaningful behavioral detail: 'все бакеты и данные будут удалены' (all buckets and data will be deleted) and the explicit requirement HOSTKEY_ALLOW_DESTRUCTIVE=1. This discloses the irreversible destruction scope and the environment gate, which the annotations alone 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.

Conciseness5/5

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

The description is two short, front-loaded sentences. The first states the action, and the second delivers the critical destructive warning and prerequisite. The parenthetical endpoint reference is slightly redundant, but the overall structure is efficient and every sentence earns its place.

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 destructive two-parameter tool with supporting annotations and full schema coverage, the description is complete: it names the action, states the irreversible consequence, gives the required environment flag, and the schema handles confirm and account_id. No output schema exists, but for a deletion operation the response format is not essential to invoking it correctly.

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 coverage is 100%, so the baseline is 3. The description does not add parameter-specific meaning, but the schema already documents confirm as mandatory true and account_id as optional with guidance to check s3_get_users. The description's destructive warning reinforces why confirm is required, but adds no new parameter semantics.

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 and resource: 'Полностью удалить S3-аккаунт пользователя' (fully delete the user's S3 account), and clarifies scope by warning that all buckets and data will be removed. This is clearly distinct from sibling tools like s3_delete_bucket or s3_delete_file because the resource being acted on is the whole account.

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: it is for deleting an S3 account, and the destructive warning plus the HOSTKEY_ALLOW_DESTRUCTIVE=1 prerequisite provide clear context. However, it does not explicitly state when-not-to-use it or name alternatives such as s3_delete_bucket for bucket-only deletion or s3_cancel_account_deletion for cancellation.

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

s3_delete_bucketA
Destructive

Удалить бакет из S3-аккаунта (s3/delete_bucket). ДЕСТРУКТИВНО: все файлы бакета будут удалены.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketYesИмя бакета
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already include destructiveHint=true, but the description adds specific impact by warning that all files in the bucket will be deleted. This goes beyond the bare hint and makes the consequence concrete. It is consistent with the annotations and provides useful context beyond what the structured data declares.

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 a single sentence with a clear action verb and a bolded destructive warning. There is no fluff or irrelevant detail. The parenthetical tool name is marginally redundant but does not detract from the concise structure.

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 straightforward destructive delete, the description plus schema and annotations cover the essential aspects: what is deleted (bucket and its files), the confirm requirement, and account_id resolution. Missing information includes the return value/response format and whether prerequisites like bucket existence are checked, but these are minor for invoking the tool correctly.

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 100%: bucket is described as the bucket name, confirm states that true is required to execute, and account_id explains it is the S3 account ID and directs to s3_get_users. The tool description itself adds no further parameter information, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states the action directly with the verb 'Удалить' (delete) and the specific resource 'бакет из S3-аккаунта' (bucket from S3 account). Although it repeats the tool name parenthetically, the target is unambiguous. The resource type 'bucket' distinguishes it from siblings like s3_delete_file and s3_delete_account.

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 s3_create_bucket, s3_delete_file, or s3_delete_account. No prerequisites, selection criteria, or alternative conditions are mentioned. The description simply states the operation, leaving the agent to infer context.

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

s3_delete_fileA
Destructive

Удалить файл из бакета (s3/delete_file). ДЕСТРУКТИВНО: файл удаляется безвозвратно.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesКлюч (имя) файла
bucketYesИмя бакета
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already declare destructiveHint=true, and the description reinforces this with 'ДЕСТРУКТИВНО' and adds the irreversibility detail 'файл удаляется безвозвратно' (deleted irrevocably). This goes beyond the annotation by emphasizing permanence, which is critical for an agent to weigh before calling. However, it doesn't mention the confirm parameter requirement (that's in the schema) or any side effects beyond deletion.

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 sentence, extremely concise, with the destructive warning in bold/caps. It front-loads the core purpose and safety warning, which is effective for a destructive operation. No wasted words, though it could arguably include a hint about confirm.

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 simple delete operation, the description covers the essential fact (permanent deletion) and relies on schema for parameters. It lacks guidance on expected return value or error states, and does not mention that the file must exist or how to verify after deletion. Given no output schema and low complexity, this is just adequate but not 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?

The schema has 100% description coverage for all four parameters, including bucket, file, confirm, and account_id. The description itself adds no parameter-specific information, so it relies entirely on the schema. Under the rule, this is a baseline 3 since the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the action: delete a file from a bucket, using the verb 'удалить' and the resource 'файл из бакета'. It also mentions the method 's3/delete_file' and distinguishes from sibling tools like s3_delete_bucket and s3_delete_account by specifying 'file' rather than bucket/account. This is a specific and unambiguous purpose.

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 gives no guidance on when to use this tool versus alternatives such as s3_get_files or s3_delete_bucket. It does not mention prerequisites (e.g., listing files first, confirming bucket ownership) or situations where it should/shouldn't be used. This is a significant gap for an agent deciding between several s3_* tools.

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

s3_delete_payment_accountA
Destructive

Инициировать удаление S3-аккаунта через отмену сервиса в биллинге (s3/delete_payment_account). ДЕСТРУКТИВНО: активному сервису будет установлена дата завершения. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4.2/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 description's destructive warning is consistent. The description adds valuable context beyond annotations: it explains the mechanism (canceling the service in billing) and the concrete effect (setting a completion date on the active service), plus the environment variable requirement. This is meaningful behavioral disclosure.

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?

Three sentences, each earning its place: the action, the destructive consequence, and the required environment variable. The destructive warning is front-loaded and prominent. No wasted words.

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 destructive mutation tool with no output schema, the description covers the key operational facts: what it does, what happens to the service, and the required flag. It does not mention how to confirm the operation or what the response looks like, but the schema's required confirm parameter covers the confirmation aspect. The pointer to s3_get_users for account_id resolution is a useful contextual addition.

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 100%, so the schema already documents both parameters. The description does not add parameter-level detail beyond what the schema provides, but it does mention that account_id may be required and points to s3_get_users for clarification, which is a small addition. Baseline 3 is appropriate given full schema coverage.

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

Purpose5/5

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

The description clearly states the action: initiating deletion of an S3 account by canceling the service in billing. It names the specific endpoint (s3/delete_payment_account) and explicitly flags the operation as destructive, which distinguishes it from read-only sibling tools like s3_get_users or s3_get_buckets.

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?

The description implies when to use it: when you need to delete an S3 account via billing cancellation. It does not explicitly name alternatives or exclusions, but the destructive flag and the mention of requiring HOSTKEY_ALLOW_DESTRUCTIVE=1 provide clear context. It could be improved by noting that s3_cancel_account_deletion is the way to undo this action.

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

s3_get_bucketsB
Read-only

Список бакетов S3-аккаунта и статистика использования через AWS API (s3/get_buckets).

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true, covering basic safety. The description adds only 'via AWS API' and mentions usage statistics, but doesn't disclose response format, error behavior, or how the optional account_id is handled. No contradiction, but limited added value beyond annotations.

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

Conciseness5/5

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

The description is a single, focused sentence with no fluff. It front-loads the main purpose and includes the API reference in parentheses, which is concise and effective.

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?

Given no output schema, the description at least mentions what is returned (bucket list and usage stats), but doesn't specify the structure or how the optional parameter changes results. For a simple read-only list operation, this is adequate but leaves room for clarification about the optional account_id behavior.

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 coverage for the single parameter is 100%, including a useful description that clarifies it's optional and points to s3_get_users for the ID. The tool description adds nothing about parameters beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states the tool lists S3 buckets and usage statistics, using a noun form ('Список') but with a clear resource and action. It does not explicitly contrast with the similar sibling s3_get_buckets_via_queue, so it doesn't fully differentiate, but the purpose is unambiguous.

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

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. The parameter description hints at using s3_get_users for account ID, but there is no mention of when to prefer this over s3_get_buckets_via_queue or any other tool. The agent must infer usage from the name and context.

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

s3_get_buckets_via_queueA
Read-only

Список бакетов, статистика и ключи доступа через очередь задач (s3/get_buckets_rmq). Может вернуть ключ задачи — тогда статус через check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to repeat that. It adds valuable context by disclosing the asynchronous behavior—it may return a task key, indicating the result is not immediate. This is a behavioral trait beyond the annotations. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences, compact, and front-loaded with the core action and resource. Every phrase adds value: it states the operation, the queue mechanism, and the potential task-key behavior. There is no fluff or repetition.

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 tool with one optional parameter, no output schema, and annotations covering read-only and open-world, the description covers the essential async behavior. It explains the task-key flow, which is critical for correct usage. It does not detail the normal response structure, but that is inferable from the tool name and the fact that it lists buckets/statistics/keys. Overall, it is sufficiently 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?

The schema description covers the single parameter account_id with a note to clarify via s3_get_users. The tool description adds no additional meaning about the parameter, so it relies entirely on the schema. Since schema coverage is 100%, the baseline of 3 is appropriate.

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 action (list buckets, statistics, and access keys) and resource, and distinguishes it via the task queue mechanism. It clearly names the underlying endpoint (s3/get_buckets_rmq) and the async nature, which differentiates it from the direct s3_get_buckets sibling. However, it does not explicitly contrast with the synchronous alternative, so it's slightly below 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 Guidelines3/5

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

The description provides a follow-up instruction: if a task key is returned, use check_task for status. This is useful guidance for the async flow. However, it does not state when to choose this tool over the direct s3_get_buckets, nor does it mention any prerequisites or conditions for usage. The guidance is implicit rather than explicit.

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

s3_get_filesB
Read-only

Список файлов в бакете с пагинацией и поиском (s3/get_files).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoНомер страницы
limitNoРазмер страницы
bucketYesИмя бакета
searchNoПоисковая строка по имени файла
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

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, covering the safety profile. The description adds pagination and search capabilities, which are useful, but doesn't disclose return format or pagination specifics. With annotations present, 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 description is a single, front-loaded sentence that states the core function. The inclusion of the endpoint path is redundant but doesn't harm conciseness.

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?

With 5 parameters, no output schema, and a minimal description, the tool lacks detail on pagination behavior, defaults, or response structure. The description doesn't compensate for the missing output schema, leaving agents uncertain about expected results.

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 100%, so all parameters are documented. The description does not add additional meaning beyond the schema, meriting the baseline 3.

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 clearly states the action (list files) and resource (bucket), and mentions pagination and search. It is distinct from sibling s3_get_buckets and s3_get_users by focusing on files, though it doesn't explicitly differentiate them.

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: use when you need to list files in a bucket. No explicit guidance on when not to use it or alternatives, but the tool's purpose is straightforward given the s3_* sibling context.

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

s3_get_locationsA
Read-only

Список доступных локаций для S3 (s3/get_available_locations).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description is consistent with a read-only list operation. It adds little behavioral detail beyond the annotations, but for a zero-parameter simple list tool this is acceptable.

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?

One concise sentence that clearly states resource and action, with no filler.

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 zero-parameter read-only list operation, the description is sufficient: it names the result (available locations) and the annotations cover side effects. No output schema exists, but the simple nature of a list tool makes this adequate.

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 no parameters; the input schema is empty and coverage is 100%. The description correctly doesn't need to explain parameters.

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 explicitly states the tool returns a list of available locations for S3, with the endpoint name in parentheses. This clearly distinguishes it from sibling tools like s3_get_buckets and s3_list_plans.

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 or mention of alternatives. The description only states what the tool does; it doesn't say when to prefer it over other S3 list tools or any prerequisites.

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

s3_get_usersA
Read-only

Список пользователей S3 с информацией о сервисе, трафике и использовании хранилища (s3/get_users). Полная фильтрация доступна администраторам.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoФильтр по локации (для администраторов)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds that the tool returns service, traffic, and storage usage details, and that full filtering is admin-only, which is useful but minimal. It does not disclose pagination, limits, or error behaviors, but given the simplicity, this is acceptable.

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 a single, concise sentence that front-loads the core purpose. It avoids unnecessary words and conveys the essential information clearly. Every part contributes to understanding the 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?

For a simple read-only list tool with one optional parameter, the description is largely complete. It specifies the output content (service, traffic, storage) and the admin filter restriction. Without an output schema, a note on response format could be added, but this is not critical given the tool's simplicity.

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

Parameters3/5

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

The schema already fully describes the single 'location' parameter with its own description, including the admin restriction. The tool description adds no new parameter details beyond what the schema provides. Since schema coverage is 100%, the baseline of 3 is appropriate.

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 clearly states the tool lists S3 users and includes specific information about service, traffic, and storage usage. It uses the verb 'list' and specifies the resource (S3 users), making its purpose unambiguous. It also distinguishes itself from sibling S3 tools like s3_get_buckets or s3_get_files by focusing on users.

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 that full filtering is available only to administrators, which hints at a usage restriction but does not explicitly state when to use this tool versus other S3 listing tools. There is no mention of alternatives or conditions beyond the admin note. This provides some context but lacks explicit guidance on selection.

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

s3_list_plansB
Read-only

Список доступных тарифных планов S3-хранилища (s3/list_plans).

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoЛокация (фильтр), если поддерживается

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 and openWorldHint=true, so the description adds no new safety signal. It does not mention pagination, response contents, location dependence, or any other behavioral caveat; the text only restates what the tool lists.

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 one short sentence that front-loads the operation and resource. The parenthetical API method is low-cost context, and there is no filler or repetition.

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

Completeness3/5

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

For a simple read-only listing with zero required parameters, the description is minimally sufficient to invoke the tool. However, with no output schema, it does not describe what fields or objects the response contains, so the agent cannot fully anticipate the result.

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 100% for the single optional 'location' parameter, including the note that filtering is conditional. The description itself adds no parameter-level meaning, so the schema carries the semantic burden.

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 verb ('Список' = list) and a concrete resource: available S3 storage tariff plans. The S3 scope helps separate it from generic listing siblings such as list_presets or list_traffic_plans, though it does not explicitly call them out.

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 about when to prefer this tool over alternatives or when not to use it. The intended use is only implied by the tool name and resource name; no exclusions or decision criteria are provided.

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

s3_show_keyA
Read-only

Получить расшифрованный ключ доступа S3 (s3/show_key). СЕКРЕТ: не логировать и не передавать третьим лицам.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_typeYesТип ключа
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds the critical security warning 'СЕКРЕТ: не логировать и не передавать третьим лицам' (SECRET: do not log or pass to third parties) and specifies that the key is 'decrypted', which conveys the sensitive nature of the returned data beyond what annotations provide.

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 a single concise sentence stating the purpose, followed by a terse security directive. No filler or redundant information; every part earns its place and the key purpose is front-loaded.

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 simple two-parameter tool with an enum and no output schema, the description adequately conveys the operation's outcome (returns the decrypted key) and the mandatory security constraint. Combined with the schema and annotations, no essential information is missing for an agent to call it correctly.

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 100%, with both parameters already documented (key_type enum and account_id description). The description adds no additional parameter-level detail, so the baseline 3 applies; the schema carries the full semantic burden.

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 clearly states the verb 'get', the resource 'decrypted S3 access key', and the specific API path (s3/show_key). It unambiguously distinguishes from other S3 tools (e.g., s3_get_users, s3_get_buckets) by naming the exact key retrieval operation.

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 does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions. However, the account_id parameter description hints at consulting s3_get_users for account IDs, which indirectly guides usage context. This is minimal but not entirely absent.

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

s3_update_traffic_infoC

Обновить информацию о трафике S3-аккаунта (s3/update_traffic_info). Доступно только администраторам.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already indicate it is not read-only (readOnlyHint: false) and not destructive (destructiveHint: false). The description adds 'Доступно только администраторам' (admin-only), which is a useful access constraint. However, it does not disclose what happens during the update—whether it overwrites existing data, triggers background processes, or has side effects. Given openWorldHint is true, the description should warn about potential external effects, but it remains silent.

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 a single sentence, which is concise, but it includes redundant information—the API endpoint 's3/update_traffic_info' in parentheses adds nothing and is essentially a repetition of the tool name. The core constraint (admin-only) is not front-loaded; it appears at the end. Overall, it is under-specified rather than efficiently structured, so a score of 3 reflects that it is not poorly written but lacks substance.

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 confirm guard, an optional account_id, and no output schema, the description is incomplete. It does not explain when account_id is required (the schema says 'if required' but gives no criteria), what the return value or success indication is, or any side effects. An agent cannot fully anticipate the outcome of calling this tool based on the description alone.

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 input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no extra meaning beyond the schema: 'confirm' is described as needing true to execute, and 'account_id' as the S3 account ID with a pointer to s3_get_users. The description itself does not explain these parameters or provide any additional context, so it provides no incremental value.

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 a verb ('Обновить' / update) and a resource ('информацию о трафике S3-аккаунта' / traffic information of S3-account), which clearly indicates what it does. It is distinguishable from sibling tools since no other tool has 'update_traffic_info' in its name. However, the description is vague about what 'update traffic information' actually entails—whether it recalculates, refreshes, or changes settings—and it merely repeats the API endpoint in parentheses without adding semantic depth.

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 gives no guidance on when to use this tool versus alternatives. It only notes that it is admin-only, which is a constraint but not a usage context. There is no mention of prerequisites, typical scenarios, or exclusions, leaving the agent to infer that it should be used whenever traffic info needs updating, without clarification of when that might be appropriate.

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

search_presetsA
Read-only

Поиск подходящих свободных серверов под конкретный пресет по имени (например, vm.pico). Требует авторизации.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesИмя пресета, например vm.pico
scopeNofree (по умолчанию) — только свободные
locationYesЛокация: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already indicate read-only and open-world behavior; the description adds that authorization is required and that only free servers are returned by default. It does not disclose response shape or pagination, but the readOnlyHint reduces the need to warn about side effects.

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

Conciseness5/5

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

Two short sentences, no filler: the first front-loads the action and resource, the second states the one prerequisite not visible in the schema. Every sentence 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?

For a read-only search with fully documented parameters, the definition is mostly sufficient, but it omits the scope=all behavior and does not clarify what 'подходящих' means or what a successful response contains. Since there is no output schema, a little more context would be needed for a 4.

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 coverage is 100%, so all three parameters are already described; the description only repeats the 'vm.pico' name example from the schema and adds no new semantic detail. This is the baseline 3 for high schema coverage.

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

Purpose4/5

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

The description gives a specific verb ('search') and resource ('free servers for a named preset') with an example preset, so an agent can tell it from preset-management tools. It does not explicitly contrast itself with similar search siblings such as search_servers_by_tag or list_stock_servers, which keeps 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 Guidelines3/5

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

The text implies the use case—finding available free servers for a preset—and adds the authorization prerequisite. It does not state when to prefer another tool or mention the scope=all option that broadens search beyond free servers, so usage guidance is only implicit.

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

search_servers_by_tagB
Read-only

Поиск серверов по имени или значению тега (tags/user_search). Возвращает ID серверов.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesШаблон поиска по тегам

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 and openWorldHint=true, so the agent knows this is a safe read operation that may return results from outside the known world. The description adds that it returns server IDs, which is useful. However, it doesn't disclose behavior like partial matching, case sensitivity, or whether the search covers both tag names and values simultaneously. 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?

Two short sentences with no filler. The core action and return value are front-loaded. It could be slightly more informative about matching behavior, but it earns its place as a concise definition.

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 simple read-only search tool with one parameter and no output schema, the description is mostly complete: it states what it searches, by what, and what it returns. The main gap is the lack of detail on search pattern semantics (wildcards, partial vs exact match) and whether the result is just a list of IDs or includes more data. Given the simplicity, this is adequate but not fully 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 100%: the only parameter 'value' is described as 'Шаблон поиска по тегам' (search pattern for tags). The description adds that the search is by tag name or value, which gives a bit more context, but it doesn't explain the pattern syntax (e.g., wildcards, exact match). Baseline 3 is correct when the schema already documents the 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 a specific verb ('Поиск' = search) and resource ('серверов' = servers) with a clear criterion: by tag name or value (tags/user_search). It also mentions the return value (server IDs). It doesn't explicitly distinguish from sibling tools like get_server_tags or get_servers, but the search-by-tag scope is clear enough to avoid major confusion.

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: when you need to find servers by a tag name or value. It doesn't explicitly state when not to use it or name alternatives like get_server_tags (which likely lists tags for a specific server) or get_servers (which lists all servers). The context is implied rather than explicit, so it's adequate but not strong.

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

set_boot_deviceA
Destructive

Установить порядок загрузки сервера (eq/boot_dev): pxe — сетевая загрузка (шаг 3 переустановки), disk — загрузка с диска (шаг 6), cd — смонтированный ISO.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
mediaYesУстройство загрузки
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4.2/5.0
Behavior3/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 aspect is covered. The description adds context about the media meanings and the reinstall steps, but does not disclose further behavioral details such as reversibility or server state requirements. With annotations present, this is adequate 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.

Conciseness5/5

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

A single, information-dense sentence that leads with the purpose and then succinctly maps each media value to its meaning. There is no filler or redundancy.

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 tool with three parameters fully covered by the schema, the description provides sufficient operational guidance. It explains the media enum, and the confirm parameter is self-explanatory from the schema. The destructive nature is already declared via annotations, so nothing essential 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?

While the schema already documents all three parameters (coverage 100%), the description enriches the media enum by explaining each value's purpose and associated reinstall step. This goes beyond the schema's bare 'Устройство загрузки' and adds actionable meaning, so it earns above the baseline.

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 clearly states the verb 'Установить' (set) and the resource 'порядок загрузки сервера' (server boot order), and enumerates the three valid media values with their meanings. This distinguishes it from sibling tools like power_on or reinstall_server, making its purpose unambiguous.

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?

The description provides explicit usage context for each media value, tying them to reinstall steps (pxe = step 3, disk = step 6, cd = mounted ISO). It does not explicitly contrast with alternatives like request_rh_pxe_boot, but the step references give clear when-to-use guidance.

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

set_main_ipB

Назначить основной IP-адрес сервера (ip/set_main), когда адресов несколько.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
mainYesIP-адрес, который станет основным
confirmYesНужно true, чтобы выполнить операцию.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false (mutation) and destructiveHint=false (non-destructive). The description adds the condition about multiple IPs but does not disclose any additional behavioral traits such as side effects, reversibility, or permission requirements. Since annotations cover the basic safety profile, the description adds limited value beyond that, hence a 2.

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, efficient sentence that front-loads the action and includes the key condition. There is no waste, and the essential information is presented clearly. It earns a 4 for being appropriately concise without unnecessary detail.

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 is simple with 4 required parameters, all covered by the schema, and no output schema. The description provides the primary context (multiple IPs) but does not mention the confirmation requirement (confirm must be true) or any potential side effects. Given the low complexity and rich schema, the description is adequate but not thorough, warranting a 3.

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 100%, so each parameter (id, ip, main, confirm) is already documented in the schema. The description does not add meaning beyond what the schema provides, except for the context that it applies when multiple IPs exist. With high coverage, the baseline is 3, and the description adds minimal extra value, so it stays at 3.

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 clearly states the action (assign main IP) and the resource (server IP address), and includes a condition ('when there are several addresses') that adds context. It does not explicitly differentiate from sibling tools like update_ptr_record or block_ip, but the action is specific enough. It earns a 4 rather than a 5 due to the lack of explicit sibling distinction.

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 use case: when a server has multiple IP addresses. It does not state when not to use the tool or mention alternatives. The condition 'when there are several addresses' provides clear context but no explicit exclusions or guidance on alternatives, so it's adequate but not explicit.

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

start_novncB
Read-only

Запустить NoVNC (HTML5) сессию консоли сервера (eq/novnc): возвращает ссылку для открытия в браузере.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
white_ipNoIP, с которого разрешено подключение

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 and openWorldHint=true, so the safety profile is covered. The description adds that the operation starts a NoVNC session and returns a link, but does not mention session lifetime, authentication requirements, or whether a new session invalidates an existing one. 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.

Conciseness5/5

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

The description is a single, front-loaded sentence that states the action, the technology, the target resource, and the return value. There is no filler or repetition.

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 two parameters fully explained by the schema and annotations covering safety, the description is sufficient for basic invocation. However, because there is no output schema, more detail about the returned link format or any preconditions would improve completeness.

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 100%, so both parameters (id and white_ip) are already documented in the schema. The description adds no additional meaning about how the parameters affect the NoVNC session or the returned link, so it stays at baseline.

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 is specific: it says the tool launches a NoVNC (HTML5) console session for a server and returns a browser link. It is clear on the verb and resource, but it does not differentiate this from the sibling get_vnc_console, which may serve a similar purpose.

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 provides no guidance on when to use this tool instead of alternatives such as get_vnc_console or request_rh_kvm. There are no exclusions, prerequisites, or context hints beyond the basic action.

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

unblock_ipC

Снять блокировку IP-адреса на сервере (net/unblock_ip).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
confirmYesНужно true, чтобы выполнить операцию.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate this is a mutating (readOnlyHint=false) but non-destructive operation. The description adds no behavioral context beyond these annotations: it does not mention side effects, reversibility, or consequences of unblocking an IP. No contradiction exists, but no extra transparency is provided either.

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, efficient sentence with no filler. It front-loads the core action and includes the endpoint reference. It is appropriately concise, though it contains no additional structure or context.

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 simple mutating tool with fully documented parameters and annotations, the description is minimally adequate. However, there is no output schema and no statement of expected result or side effects, and openWorldHint=true suggests hidden external behavior. The description leaves the agent to infer operational outcome.

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 100%, so all three parameters (id, ip, confirm) are already documented in the schema. The description contributes no additional parameter-level meaning, matching the baseline for high schema coverage. The confirm flag's purpose is fully captured 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 clearly states the action and resource: removing an IP-address block on a server. It adds the endpoint name (net/unblock_ip), making the tool's function unambiguous. It does not explicitly differentiate from the sibling block_ip, but the inverse relationship is obvious from the wording.

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 provides no guidance about when to use this tool versus alternatives such as block_ip, port_on, or get_ip_info. There is no mention of prerequisites, preconditions (e.g., only for already-blocked IPs), or cases where another tool should be used instead.

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

unmount_isoA

Размонтировать ISO-образ с сервера (iso/unmount_iso). Асинхронная операция — вернётся callback-ключ для check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesНужно true, чтобы выполнить операцию.

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds valuable behavior by stating the operation is asynchronous and returns a callback key for check_task. This goes beyond annotation data, although it does not describe side effects or prerequisites in detail.

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 short, focused sentences. It front-loads the core purpose and immediately follows with the most important behavioral detail (async callback), with no redundant or filler content.

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 two-parameter tool with no output schema, the description provides the essential purpose and async callback behavior. It could mention the confirm parameter or what exactly happens after unmounting, but the current information is sufficient for an agent to invoke the tool correctly and check the result.

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 input schema already covers both parameters (id and confirm) with clear descriptions, and schema description coverage is 100%. The tool description adds no extra parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description begins with a specific verb and resource: 'Размонтировать ISO-образ с сервера' (unmount ISO image from server), and includes the endpoint path (iso/unmount_iso). This clearly distinguishes it from sibling tools like mount_iso and list_iso_images without ambiguity.

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 action implies when to use it (when an ISO needs to be unmounted from a server), and the async note indicates how to track the operation via check_task. However, it does not explicitly mention alternatives or state when not to use it, leaving the guidance mostly implicit.

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

update_api_keyB

Изменить параметры API-ключа (api_keys/edit): имя, IP-белый список, уведомления, активность.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID ключа
ipNoБелый список IP
nameYesИмя ключа
activeYestrue — ключ активен
confirmYesНужно true, чтобы выполнить операцию.
login_notify_methodYesСпособ уведомлений о входах
login_notify_addressNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false (mutation), destructiveHint=false (not destructive), and openWorldHint=true (may have side effects). The description does not add extra behavioral context beyond what annotations imply, but it does mention that the operation requires confirmation ('confirm' parameter is visible in schema). However, it does not disclose any side effects or prerequisites beyond that. With annotations provided, a score of 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 a single, concise sentence that front-loads the action and key editable fields. It is efficient and does not waste words. The inclusion of the endpoint reference is helpful but not verbose. It earns a high score for succinctness.

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 7 parameters with 5 required, and no output schema. The description gives a high-level summary but omits guidance on the confirm flag's purpose (which is critical for mutations) and does not explain the login_notify_method options. Since annotations already indicate mutation, but the description could be more explicit about side effects or confirmation requirements, it is only moderately 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 86%, meaning most parameters are already described. The description lists the key editable fields (name, IP white list, notifications, activity), which maps to several parameters. It does not add details about the confirm requirement or the enum values for login_notify_method, but the schema already covers those. Thus, the description adds marginal value over 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 description states a specific verb ('Изменить' – to change), a resource ('API-ключа'), and the specific editable attributes (name, IP whitelist, notifications, activity). It also includes the endpoint 'api_keys/edit', which adds precision. This clearly differentiates it from siblings like create_api_key and delete_api_key.

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 explicit guidance on when to use this tool versus alternatives. It does not mention that create_api_key is the correct tool for creating new keys, or that delete_api_key is for removal. An agent might confuse update with create if it needs to modify an existing key, though the description's verb does imply modification. No contextual conditions are stated.

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

update_billing_clientB

Изменить данные клиента в биллинге (whmcs/update_client): ФИО, компания, адрес, email, телефон и т.д.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesНужно true, чтобы выполнить операцию.
billing_cityNo
billing_emailNo
billing_stateNo
billing_countryNo
billing_address1No
billing_address2No
billing_lastnameNo
billing_postcodeNo
billing_firstnameNo
billing_companynameNo
billing_phonenumberNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description merely restates the mutable nature of the operation without adding behavioral context. It does not disclose side effects, partial-update behavior, permission requirements, or what happens when confirm is false.

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 one compact sentence that front-loads the action and target. The parenthetical 'whmcs/update_client' and trailing 'и т.д.' add slight noise and vagueness, but the overall structure is efficient.

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 12-parameter mutation tool with no output schema, minimal schema descriptions, and limited annotations, this description is too thin. It does not mention the confirmation requirement, whether fields are updated partially or entirely, what the response looks like, or how this relates to get_billing_client for verification.

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?

With only 8% schema description coverage, the description partially compensates by mapping human-readable categories like ФИО, company, address, email, and phone to the schema's billing_firstname, billing_companyname, billing_address1, billing_email, and billing_phonenumber fields. However, it does not clarify formats, optionality, validation rules, or the required confirm semantic beyond the schema's own one-line description.

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 ('Изменить') and resource ('данные клиента в биллинге'), then lists representative fields such as ФИО, company, address, email, and phone. It clearly differentiates this write operation from the sibling get_billing_client and other update tools by naming the billing-client 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?

The description gives no explicit guidance on when to use this tool versus alternatives like update_contact or get_billing_client. It does not state prerequisites, exclusions, or the role of the required confirm parameter.

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

update_contactA

Изменить дополнительный контакт (whmcs/update_contact): email, пароль, телефон. Указание телефона включает 2FA по SMS.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail контакта
confirmYesНужно true, чтобы выполнить операцию.
password2NoНовый пароль контакта
contact_idYesID контакта
phonenumberNoТелефон (включает 2FA по SMS)

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 (mutation) and openWorldHint=true (external side effects). The description adds one behavioral detail beyond annotations: specifying a phone number enables 2FA via SMS. However, it omits other important behaviors such as the confirm parameter needing to be true, and does not describe any error conditions or side effects beyond 2FA.

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 a single, focused sentence that front-loads the purpose and lists the key fields and the 2FA side effect. Every word earns its place; there is no fluff or redundancy.

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 simple update tool with 5 parameters fully described in the schema, the description covers the core functionality. However, it fails to mention the confirm parameter's requirement (must be true to execute), which is a critical execution guard, and it does not describe the return value or any failure modes. The absence of an output schema increases the need for such context.

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 100%, so all parameters are documented. The description merely restates which fields can be updated (email, password, phone) without adding format, constraints, or relationships beyond what the schema already provides. The 2FA note is also duplicated in the schema's phonenumber description, so it adds no new semantic value.

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 ('изменить' = update) and resource ('дополнительный контакт' = additional contact), and lists the updatable fields (email, password, phone). This clearly distinguishes it from sibling tools like add_contact and delete_contact, and the mention of 'whmcs/update_contact' ties it to a specific API endpoint.

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 provides no guidance on when to use this tool versus alternatives such as add_contact, delete_contact, or update_billing_client. It does not mention prerequisites, exclusions, or the required confirm=true guard for execution. An agent would have to infer usage context from the name and schema alone.

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

update_ptr_recordB

Обновить PTR-запись для IP-адреса (ip/update_ptr). Несколько записей передаются разделителем %0A.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
ptrYesНовое значение PTR
confirmYesНужно true, чтобы выполнить операцию.

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 and destructiveHint=false, so the description doesn't need to restate those. The description adds the multi-record delimiter behavior ('Несколько записей передаются разделителем %0A'), which is useful. However, it does not disclose that the 'confirm' parameter must be true to execute, which is a behavioral gate, nor does it mention any side effects or reversibility. The description adds some value but not rich 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 two sentences and front-loads the core action. The first sentence states the purpose and endpoint; the second adds the delimiter detail. No wasted words, though it could be slightly more structured by separating the endpoint from the behavior.

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 no output schema, the description is adequate but has gaps. It doesn't mention the confirm gate explicitly (though the schema does), nor does it describe what a successful response looks like or error conditions. The sibling list includes get_ptr_record, so an agent might benefit from a pointer to that for verification. Overall, it's minimally complete 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 100%, so the schema already documents all four parameters. The description adds the multi-record delimiter behavior for the 'ptr' parameter, which is beyond the schema. However, it doesn't explain the 'confirm' parameter's role beyond the schema's 'Нужно true, чтобы выполнить операцию.' Baseline 3 is appropriate when the schema does the heavy lifting.

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: 'Обновить PTR-запись для IP-адреса' (update PTR record for IP address), and includes the API endpoint 'ip/update_ptr'. This clearly distinguishes it from sibling tools like get_ptr_record. However, it doesn't explicitly contrast with the sibling get_ptr_record, so it loses one point for not naming the 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 specifying the resource (IP address PTR record) and the multi-record delimiter '%0A'. It does not explicitly state when to use this tool versus alternatives like get_ptr_record or set_main_ip, nor does it mention prerequisites such as needing a server ID or IP ownership. The usage is implied but not fully explicit.

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

upload_isoC

Загрузить новый ISO-образ по URL (iso/upload). Доступно клиентам.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesПрямой URL ISO-образа
nameNoИмя образа в библиотеке
confirmYesНужно true, чтобы выполнить операцию.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already cover read-only/destructive hints; the description adds only the URL source and client availability. It does not disclose potential side effects, whether the upload is asynchronous, whether the confirm flag is a safety guard, or any rate limits. For a mutating operation, this is 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 efficient sentence that front-loads the verb and includes the endpoint path and availability. No filler, but it is arguably too terse to be a 5.

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?

With no output schema and a mutating operation, the description is too sparse: it does not mention the confirm requirement, the relationship to add_iso_image, post-upload behavior, or how the operation integrates with the ISO lifecycle. An agent cannot fully judge invocation context.

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 descriptions cover 100% of parameters (url, name, confirm), so the baseline is 3. The description merely reasserts that the upload is via URL and adds nothing about the name or the confirm semantics; the schema already carries the semantic load.

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

Purpose4/5

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

The description states a specific action ('upload') and a specific resource ('new ISO image') with the upload method ('by URL') and the endpoint alias (iso/upload). However, it does not explicitly distinguish this from the sibling add_iso_image, so it is clear but not differentiated.

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 only usage context is 'available to clients,' which is an access statement rather than a use-case selector. There is no when-to-use, no exclusion, and no reference to sibling ISO tools like add_iso_image, mount_iso, or list_iso_images. An agent has no guidance on choosing this over alternatives.

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. 132 tool updatesv1.0.0
    • First observedadd_contact
    • First observedadd_dns_domain
    • First observedadd_dns_record
    • First observedadd_dns_subdomain
    • First observedadd_dns_zone
    • First observedadd_ipmi_user
    • First observedadd_iso_image
    • First observedadd_rhr_comment
    • First observedadd_static_nat
    • First observedapply_credit
    • First observedblock_ip
    • First observedcall_api_raw
    • First observedcheck_task
    • First observedclear_pxe_config
    • First observedclear_static_nat
    • First observedcreate_addfunds_invoice
    • First observedcreate_api_key
    • First observedcreate_pxe_config
    • First observedcreate_reinstall_task
    • First observedcreate_rhr_request
    • First observedcreate_snapshot
    • First observeddelete_api_key
    • First observeddelete_cancellation_request
    • First observeddelete_contact
    • First observeddelete_dns_domain
    • First observeddelete_dns_record
    • First observeddelete_dns_subdomain
    • First observeddelete_dns_zone
    • First observeddelete_iso_image
    • First observeddiscard_rhr_request
    • First observeddownload_invoice
    • First observeddrop_nat
    • First observededit_dns_subdomain
    • First observedgenerate_due_invoice
    • First observedget_account_info
    • First observedget_api_key
    • First observedget_api_key_history
    • First observedget_billing_client
    • First observedget_cancellation_requests
    • First observedget_contacts
    • First observedget_credit_history
    • First observedget_dns_zone
    • First observedget_invoice
    • First observedget_invoices
    • First observedget_ip_info
    • First observedget_network_status
    • First observedget_payment_gateway
    • First observedget_port_graphs
    • First observedget_power_status
    • First observedget_preset
    • First observedget_preset_pricing
    • First observedget_ptr_record
    • First observedget_server
    • First observedget_server_billing_data
    • First observedget_server_invoices
    • First observedget_server_sensors
    • First observedget_server_tags
    • First observedget_servers
    • First observedget_snapshots
    • First observedget_stock_server
    • First observedget_transactions
    • First observedget_uploaded_isos
    • First observedget_vm_engine
    • First observedget_vm_stats
    • First observedget_vnc_console
    • First observedlist_api_keys
    • First observedlist_dns_domains
    • First observedlist_dns_subdomains
    • First observedlist_dns_zones
    • First observedlist_iso_images
    • First observedlist_os
    • First observedlist_post_install_tasks
    • First observedlist_preset_groups
    • First observedlist_presets
    • First observedlist_rhr_requests
    • First observedlist_server_api_keys
    • First observedlist_software
    • First observedlist_stock_servers
    • First observedlist_traffic_plans
    • First observedlogout
    • First observedmass_pay
    • First observedmount_iso
    • First observedorder_server
    • First observedport_off
    • First observedport_on
    • First observedpower_off
    • First observedpower_on
    • First observedreboot_server
    • First observedreinstall_server
    • First observedremove_ipmi_user
    • First observedremove_snapshot
    • First observedremove_static_nat
    • First observedrequest_cancellation
    • First observedrequest_rh_check
    • First observedrequest_rh_kvm
    • First observedrequest_rh_power_off
    • First observedrequest_rh_power_on
    • First observedrequest_rh_pxe_boot
    • First observedrequest_rh_reboot
    • First observedrequest_sales_assistance
    • First observedreset_billing_password
    • First observedreset_ipmi
    • First observedrestore_snapshot
    • First observedrun_post_install_task
    • First observeds3_cancel_account_deletion
    • First observeds3_create_account
    • First observeds3_create_bucket
    • First observeds3_create_order
    • First observeds3_delete_account
    • First observeds3_delete_bucket
    • First observeds3_delete_file
    • First observeds3_delete_payment_account
    • First observeds3_get_buckets
    • First observeds3_get_buckets_via_queue
    • First observeds3_get_files
    • First observeds3_get_locations
    • First observeds3_get_users
    • First observeds3_list_plans
    • First observeds3_show_key
    • First observeds3_update_traffic_info
    • First observedsearch_presets
    • First observedsearch_servers_by_tag
    • First observedset_boot_device
    • First observedset_main_ip
    • First observedstart_novnc
    • First observedunblock_ip
    • First observedunmount_iso
    • First observedupdate_api_key
    • First observedupdate_billing_client
    • First observedupdate_contact
    • First observedupdate_ptr_record
    • First observedupload_iso

TDQS

B3.2/5.0

Scored across 132 tools

Disambiguation3/5

Most tools have distinct verb_noun names and clear descriptions, but with 132 tools there are several closely related pairs (e.g., get_servers vs get_server, s3_get_buckets vs s3_get_buckets_via_queue, create_reinstall_task vs reinstall_server) that could cause misselection. The catch-all call_api_raw also overlaps with many typed tools, increasing ambiguity.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern (get_, list_, create_, delete_, etc.) with domain prefixes like s3_, request_rh_, and pdns_. While there are minor deviations (e.g., port_on vs set_main_ip, or occasional camelCase like add_iso_image), the overall schema is predictable and readable.

Tool Count1/5

132 tools is an extreme count, far exceeding the 50+ threshold considered appropriate. Even for a comprehensive cloud provider API, this volume overwhelms an agent's tool-selection capability and significantly increases the chance of misselection. The server would benefit from consolidation or hierarchical grouping.

Completeness4/5

The tool surface covers CRUD and lifecycle operations across multiple domains: servers, network, DNS, S3, billing, and remote hands. Obvious gaps are rare (e.g., no direct server rename or tag edit tool, but these are edge cases). The presence of a raw API call tool also fills potential holes, so agents can accomplish most tasks.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to manage Hetzner Cloud resources including servers, load balancers, and volumes through natural language commands. It facilitates infrastructure operations such as resource creation, security configuration, and real-time pricing queries within AI-powered environments.
    85 npm
    1
    -