Skip to main content
Glama

Hostkey MCP Server

MCP server for Hostkey (.com portal, InvAPI invapi.hostkey.com). Runs locally over stdio — Cursor, VS Code, and other MCP clients.

Endpoint

https://invapi.hostkey.com (hardcoded)

Auth

HOSTKEY_API_KEY

Tools

132 typed tools + call_api_raw

Gives the model access to your Hostkey account: servers, catalog and ordering, power, OS reinstall, network, DNS, snapshots, IPMI/console, ISO, S3, Remote Hands, billing, and API keys.

For the .ru portal use the separate package hostkey-mcp-server-ru.

1. Get an API key

InvAPI → API keys → create a key.

Prefer a dedicated key for MCP. Per-server keys limit access to one server. DNS writes need the pdns/edit permission.

Related MCP server: hostman-mcp-server

2. Install

Cursor

.cursor/mcp.json:

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

VS Code

.vscode/mcp.json:

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

Optional: HOSTKEY_TOKEN_TTL, HOSTKEY_HTTP_TIMEOUT, HOSTKEY_ALLOW_DESTRUCTIVE (see .env.example).

From source (Node.js ≥ 20): npm install && npm run build.

3. Confirming dangerous operations

Every write call needs confirm=true. Without it, nothing changes.

Also:

  • order_server defaults to dry_run — a real order only after explicit consent;

  • OS reinstall, PXE, and service cancellation require HOSTKEY_ALLOW_DESTRUCTIVE=1;

  • passwords and tokens are masked in responses.

Long jobs (deploy, reinstall) return a callback key — poll with check_task.

4. Tools

Groups (full list via tools/list):

Group

Examples

Servers

get_servers, get_server, get_power_status

Catalog

list_presets, list_os, list_traffic_plans

Power & order

power_on, power_off, order_server, reinstall_server

PXE

create_reinstall_task → … → clear_pxe_config

Network / DNS

ports, PTR, zones and records

Snapshots, ISO, S3

VM snapshots, images, buckets

Remote Hands

duty-shift tickets (request_rh_*, rhr_*)

Billing

invoices, payments, contacts

Misc

check_task, call_api_raw

Prompts

Prompt

Purpose

order_server_prompt

guided server order

reinstall_server_prompt

OS reinstall

troubleshoot_server_prompt

diagnostics

Or just ask: “list my servers” / “order a VPS in NL”.

Available Tools

132 tools
add_contactA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

Annotations only indicate a mutating, non-destructive operation. The description adds a non-obvious behavioral detail: the contact is created with a random email that must be changed afterward in Invapi. This goes beyond the annotations, though it could say more 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?

The description is two short sentences with no filler. The main purpose comes first, followed by a critical warning, and every sentence 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 tool with one boolean parameter and no output schema, the description is largely sufficient. It highlights the essential post-creation caveat about the random email. A small gap is that it does not explicitly point to update_contact as the follow-up 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 coverage is 100%; the only parameter, confirm, is already described as 'Must be true to run the operation.' The description does not add extra meaning to the parameter, 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 action ('add an additional contact'), the target resource ('account'), and even the underlying endpoint (whmcs/add_contact). This clearly distinguishes it from sibling tools like update_contact, delete_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 Guidelines3/5

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

The usage context is implied: it adds a contact, and the warning about the random email signals when this tool may need follow-up. However, it does not explicitly say when to prefer this over update_contact or mention any exclusions.

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
confirmYesMust be true to run the operation.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already indicate that the operation is non-read-only and non-destructive. Beyond that, the description usefully discloses the explicit permission requirement (pdns/edit) and the fact that both a DNS zone and a domain-table entry are affected. It does not mention return values or idempotency, but that is not critical here.

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 primary action, followed by the permission requirement. No filler, no repetition of schema content, and 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 simple two-parameter mutation with complete schema coverage and no output schema, the description provides the essential action and access constraint needed to call the tool correctly. The only gap is not explicitly disambiguating from add_dns_zone, but that is more of a usage-guidance issue than a completeness issue.

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 name and confirm already documented in the input schema. The description adds no parameter-level meaning 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.

Purpose4/5

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

Description states a specific compound action: 'Создать DNS-зону и добавить домен в таблицу доменов' and even names the underlying internal method (pdns/add_domain). This makes the resource and effect clear. It does not explicitly differentiate from the sibling add_dns_zone, 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?

No guidance is given on when to use this tool versus alternatives such as add_dns_zone or add_dns_subdomain. The only contextual note is the permission requirement 'Требует права pdns/edit', which is a prerequisite rather than a usage rule.

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
confirmYesMust be true to run the operation.
contentYesЗначение записи, например 10.56.121.5
old_nameNoПрежнее имя записи — для переименования
priorityNoПриоритет для SRV/MX
increase_soa_serialNoАвтоинкремент SOA-сериала (по умолчанию true)

TDQS

A3.7/5.0
Behavior4/5

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

Beyond annotations, it discloses the authorization requirement and warns that `mname/rname` may be mandatory for SOA checks, which affects whether the call succeeds. It also implies upsert semantics via 'add or modify'.

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?

Three sentences, front-loaded with purpose and permissions, then conditional guidance. The phrasing 'в документации отмечены' is slightly indirect but not wasteful.

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 15 parameters and no output schema, the description covers the trickiest cases (SRV, SOA) but leaves `confirm`, `old_name`, and `increase_soa_serial` to the schema, which already explains them. An agent can call correctly if it reads 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 schema documents each parameter. The description adds group-level semantics: it names the SRV parameter set and explains that `mname/rname` are conditionally required.

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 ('add or change') and resource ('DNS record in zone'), and includes the internal endpoint `pdns/add_dns`. It does not explicitly contrast with sibling tools like `delete_dns_record` or `add_dns_subdomain`, but the scope 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?

It provides a prerequisite (`requires pdns/edit`) and record-type-specific guidance for SRV and SOA fields. However, it lacks explicit when-to-use vs alternatives or any exclusions, so an agent must infer tool selection from context.

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Имя сабдомена
confirmYesMust be true to run the operation.
domain_idYesID домена из list_dns_domains
server_idYesID сервера

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, indicating a non-destructive write operation. The description adds the permission requirement (pdns/edit) and the internal endpoint name, which are beyond the structured metadata. It does not contradict the annotations and provides useful operational context about access control.

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 with no filler. The primary action is front-loaded, followed by the permission requirement. Every word contributes to understanding the tool's function, and the internal endpoint reference adds precision without bloat.

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 add operation with a required confirm flag and schema that already references list_dns_domains for domain_id, the description provides adequate context. It covers the action and permission but does not mention potential failure modes (e.g., duplicate subdomain) or side effects beyond the table insertion. However, given the simplicity and existing structured data, the description 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 each parameter (server_id, domain_id, name, confirm) is already documented with a short description. The tool description adds no additional meaning beyond the schema, such as relationship between parameters or formatting rules. Per the calibration baseline, a score of 3 is appropriate when 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.

Purpose5/5

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

The description clearly states the action ('Add a subdomain'), the resource ('to the subdomains table'), and even names the underlying API endpoint (pdns/add_subdomain). This distinguishes it from sibling tools like add_dns_domain (which adds a domain) and edit_dns_subdomain (which modifies). An agent can immediately understand what this tool does without inspecting the schema.

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

Usage Guidelines3/5

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

The description provides the essential prerequisite (requires pdns/edit permissions) but does not explicitly mention when to use this tool versus alternatives like add_dns_domain or edit_dns_subdomain. While the purpose is clear from the name, there is no explicit guidance on selection criteria or exclusions, leaving the agent to infer usage context from sibling tool names.

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)
confirmYesMust be true to run the operation.
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?

Annotations already indicate a non-read-only, non-destructive operation, and the description aligns with that. It adds valuable context by explicitly stating the required permission ('Требует права pdns/edit') and identifying the authoritative PowerDNS backend. It does not discuss idempotency or duplicate-zone behavior, but the annotations carry much of 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 two short, front-loaded sentences with no wasted words. It conveys the core action, target system, endpoint, and permission requirement efficiently.

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?

Although the schema richly documents all 8 parameters, the description does not mention what happens after a successful creation, whether any confirmation/return value is produced, or how to choose this over related DNS tools. For a creation operation with no output schema, this is adequate but leaves some operational context to inference.

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 every parameter, including defaults for kind, dnssec, rrsets, and nameservers. The description contributes no additional parameter-level meaning, and no compensation is needed given the 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 clearly states the action ('Создать DNS-зону') and the specific resource ('авторитетном сервере PowerDNS'), also referencing the underlying endpoint 'pdns/add_zone'. It is unambiguous about what the tool does, but it does not explicitly differentiate it from closely related siblings like add_dns_domain or add_dns_subdomain.

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. It mentions required permissions but never states conditions, exclusions, or points to related DNS tools such as add_dns_domain, add_dns_subdomain, or delete_dns_zone. Usage context is only implied by the tool name.

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

add_ipmi_userA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already convey that this is a write operation (readOnlyHint: false) and non-destructive (destructiveHint: false). The description adds useful context that the created user is temporary and intended for web access, but it does not disclose lifecycle details such as expiration, permissions, or how the temporary user relates to an existing IPMI user.

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 action and purpose clearly. The parenthetical '(eq/add_ipmi_user)' is redundant and does not earn its place, but the overall description is concise and 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 low-complexity tool with only two required parameters and no output schema, the description plus the schema is mostly complete. It explains what the tool does and why it is used, though it could be more complete by noting that the confirm parameter must be true and by mentioning the temporary nature in operational terms.

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 clearly. The description adds no parameter-specific detail beyond the general purpose, which is acceptable given the high schema coverage but does not go 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 uses a specific verb ('Создать' / create), a specific resource ('временного IPMI-пользователя'), and a clear purpose ('для веб-доступа к IPMI'). This clearly distinguishes it from related siblings like remove_ipmi_user and reset_ipmi, so an agent can identify what the 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 implies when to use the tool: when temporary web access to IPMI is needed. However, it does not explicitly mention alternatives, exclusions, or related cleanup actions such as remove_ipmi_user, nor does it explain when this option should be preferred over other IPMI/VNC/KVM access tools.

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

add_iso_imageA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL образа, если требуется
nameYesИмя образа
confirmYesMust be true to run the operation.

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that the operation is an upsert by name and that the 'add' permission is required. This adds useful behavioral and authorization context, though it does not explain what happens to an existing image when it is updated.

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 two-clause sentence that leads with the action, includes the endpoint and permission requirement, and contains no filler. Every element contributes useful 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 simple three-parameter mutation with full schema coverage and no output schema, the description plus input schema is largely sufficient. The main gap is not explicitly distinguishing this tool from upload_iso, but the 'by name' add/update wording narrows the ambiguity.

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 input schema already documents name, url, and confirm. The description adds only the 'by name' matching detail, but with full schema coverage 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 ('add a new ISO image or update an existing one by name') and names the endpoint (iso/add), clearly identifying the resource and operation. It does not explicitly contrast with sibling tools like upload_iso or mount_iso, so differentiation is mostly 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 gives a clear prerequisite — the special 'add' permission — but provides no explicit when-to-use vs alternatives or when-not-to-use guidance. The intended use case is implied by the verb and resource, so an agent can infer it, but it is not spelled out.

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
confirmYesMust be true to run the operation.
messageYesТекст сообщения

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the annotations (mutating, non-destructive), the description adds the important fact that the message is visible to the client, which materially affects how an agent should use the tool. It does not cover auth or rate limits, but the safety profile is already established by 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 compact sentence with no redundancy. It front-loads the key behavior and uses a parenthetical to anchor the feature area without adding unnecessary words.

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

Completeness5/5

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

For a mutation tool with three required parameters and no output schema, the description plus schema is sufficient: it states what to do, where, and that the message is client-visible. Nothing needed for a correct invocation is missing.

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

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 already has a clear description: id comes from list_rhr_requests, confirm gates execution, and message is the text. The tool description adds no further parameter-level meaning, 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 names the action ('Добавить' / add), the object (message visible to the client), and the location (request history rhr/chat). This clearly distinguishes it from sibling tools like create_rhr_request or discard_rhr_request and makes the operation immediately understandable.

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: adding a client-visible message to a request's history. However, there is no explicit guidance about when to prefer this tool over sibling RHR tools or when it should not be used. For a simple append-style operation this is acceptable, 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.

add_static_natA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

The description adds a key behavioral detail beyond annotations: the operation is asynchronous and status must be checked via check_task. This is valuable context that annotations do not provide. No contradiction with readOnlyHint=false or 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?

Two short sentences with no filler. The core purpose is front-loaded, the API path is included, and the async behavior is stated compactly. 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 simple two-parameter asynchronous action, the description gives enough context: what it creates, for which server type, and how to track completion. No output schema exists, and the description appropriately points to check_task rather than attempting to describe return values.

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 already documented. The description does not add significant new meaning to id or confirm beyond saying the DNAT is for IPMI, which is useful but not essential.

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 static DNAT to IPMI server') and its purpose (public IP for IPMI access). It names the method path and is immediately distinguishable from siblings like remove_static_nat and clear_static_nat.

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: whenever a static DNAT/public IP is needed for IPMI access. However, it does not explicitly state when not to use it or identify alternatives such as add_ipmi_user or remove_static_nat.

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Сумма оплаты в валюте аккаунта
confirmYesMust be true to run the operation.
invoice_idYesНомер инвойса

TDQS

A4/5.0
Behavior4/5

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

The description adds a critical behavioral disclosure—'списывает средства со счёта' (debits funds from the account)—which goes beyond the annotations (readOnlyHint=false, openWorldHint=true). It also clarifies that partial or full payment is possible. However, it does not mention irreversibility or refunds, though destructiveHint=false suggests no destructive deletion. The added context is valuable.

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

Conciseness5/5

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

The description is two short sentences, front-loading the main action and then adding the financial impact. Every word serves a purpose, with no redundancy or filler. It is concise and well-structured for quick comprehension.

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 financial operation, the description covers the core behavior (payment from credit) and the money debiting, which are the most important contextual elements. It does not mention return values or failure modes, but given the simplicity of the operation and the schema covering all parameters, the description is sufficiently complete 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 coverage is 100%, meaning all three parameters have descriptions in the schema. The description does not add extra meaning to any parameter; it only repeats the general purpose. Since the schema already documents the confirm, amount, and invoice_id fields, the description adds no additional parameter-specific insight.

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 (pay an invoice) and the source (credit balance), using a specific verb and resource. It distinguishes itself from siblings like get_invoice, mass_pay, and create_addfunds_invoice by focusing on applying credit. The mention of 'полностью или частично' adds nuance, making the tool's scope 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 the use case (paying an invoice from credit balance) but does not explicitly contrast it with alternative payment tools or state when not to use it. There is no mention of alternatives or exclusions, so the agent must infer the appropriate context from the description alone.

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

block_ipB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
confirmYesMust be true to run the operation.
four_hoursNotrue — блокировка автоматически снимется через 4 часа
descriptionYesПричина блокировки

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 mutating operation. The description adds that the block happens at the Hostkey network level and mentions the optional four_hours auto-unblock behavior in the schema, but the description itself does not disclose side effects, reversibility, or confirmation requirements 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.

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 resource, then adds a practical use case. 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 mutating tool with no output schema, the description is adequate but minimal. It does not explain the effect of 'confirm', the four_hours option, or what happens after blocking (e.g., whether unblocking requires a separate call). The sibling 'unblock_ip' exists, but the description does not reference 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 all parameters. The description adds no extra meaning beyond the schema, but the baseline of 3 applies because the schema carries the full 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 ('Заблокировать' = block), a resource (IP-address on server at Hostkey network level), and a use case (abuse requests). It is clear enough to distinguish from the sibling 'unblock_ip', though it does not explicitly name that sibling.

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 gives a clear context ('Полезно для abuse-запросов' = useful for abuse requests), which implies when to use it. However, it does not explicitly state when not to use it or mention alternatives like 'unblock_ip' or firewall-level blocking.

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 сервера
confirmYesMust be true to run the operation.
hostnameYesИмя хоста сервера

TDQS

A4.5/5.0
Behavior5/5

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

The annotation destructiveHint=true is reinforced and expanded with a concrete consequence: failing to run this tool may cause an unexpected reinstallation at the next reboot. This adds meaningful behavioral context beyond the 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 extremely concise: two short sentences that pack the action, step context, endpoint hint, and a critical safety warning. Every part 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?

Given the simple parameter set, fully documented schema, and destructive annotation, the description provides all necessary operational context. It explains why this step is mandatory and what happens if skipped; no return value is needed since there is no 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%, with each parameter already documented (id, hostname, confirm). The tool description does not add parameter-level details, 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 clearly states the action ('удалить PXE-конфиг') and the specific resource (PXE config), plus the internal endpoint reference 'eq/clear_pxe'. It distinguishes itself from sibling tools like create_pxe_config by framing it as Step 7 of the PXE reinstallation flow.

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 states when to use the tool: after PXE reinstallation completion. The strong warning ('ОБЯЗАТЕЛЬНО после завершения') makes the usage context clear, though it does not explicitly name sibling alternatives or 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.

clear_static_natB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesВнутренний IP-адрес
confirmYesMust be true to run the operation.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations exist (readOnlyHint=false, destructiveHint=false), so the description does not need to restate safety basics. It adds the useful qualifier that only 'stuck' rules are affected and that filtering is by internal IP. However, it does not clarify side effects, whether all such rules are removed at once, or what happens if no stuck rules exist.

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 includes the core action, the resource, the filtering key, and the API path. 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 operation with complete schema coverage and annotations, the description is mostly adequate. Still, it lacks context about when the operation is needed, what 'stuck' means in practice, and what result to expect, so it is only minimally 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%, with both ip and confirm already documented. The description itself adds no extra parameter-level detail beyond saying the operation targets rules by internal IP. Baseline 3 is appropriate because the schema carries the 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 clear action ('Удалить' / delete) on a specific resource ('застывшие правила статического NAT-проброса по внутреннему IP'). It also includes the API path, which helps identify the operation. However, it does not explicitly differentiate itself from similar siblings like remove_static_nat or drop_nat, 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?

The description implies this is used for stuck/stale static NAT rules but gives no explicit guidance on when to choose this tool over remove_static_nat, drop_nat, or add_static_nat. There is no mention of prerequisites, conditions, or exclusions.

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Сумма пополнения в валюте аккаунта
confirmYesMust be true to run the operation.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already show readOnlyHint=false and openWorldHint=true, so the description's 'ДЕНЬГИ: создаёт реальный инвойс' adds meaningful context about the real financial impact. It warns that this is not a dry run or estimate, which is valuable 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.

Conciseness5/5

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

The description is two short, purposeful sentences. The first states the action and endpoint, and the second provides a clear financial warning. No filler or redundant detail 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?

For a two-parameter tool with full schema documentation, the description supplies the key missing context: this action creates a real money invoice. It does not explain the post-invoice flow, but that is not necessary given the simple input schema and no output schema requirement.

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 schema already documents both amount and confirm. The description only loosely references the amount ('на указанную сумму') and does not add meaning about the confirm flag or amount formatting 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 clearly states the action ('Создать инвойс') and the specific purpose (replenishment of credit balance), and explicitly says it creates a real invoice. It does not explicitly differentiate from sibling billing tools like generate_due_invoice, but the 'addfunds' scope makes the purpose clear.

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

Usage Guidelines3/5

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

The description implies usage when a credit balance top-up invoice is needed, but gives no guidance about when to prefer this over related tools such as generate_due_invoice, apply_credit, or mass_pay. There is no exclusionary or alternative routing information.

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 — ключ активен
confirmYesMust be true to run the operation.
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 declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a mutating but non-destructive operation. The description adds critical behavioral context: the key value is shown only once in the response and must be saved. This is exactly the kind of beyond-annotations disclosure that matters for a create operation.

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 action and scope, and the one-time-display warning is placed at the end where it's memorable. 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 create operation with 100% schema coverage and no output schema, the description covers the essential behavioral warning (key shown once) and the scope distinction. It doesn't mention response format, but the absence of an output schema and the one-time warning partially compensate. The description is complete enough for an agent to 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?

Schema description coverage is 100%, so the schema already documents all 7 parameters. The description adds the semantic distinction that server_id omitted means account-wide key, and that login_notify_method should be 'none' for per-server keys. This adds value beyond the schema, but the schema already carries most of the parameter meaning, so a 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 states a specific verb ('Создать') and resource ('новый API-ключ'), and clarifies the two scopes: account-wide or per-server. It also includes the endpoint path (api_keys/add), which disambiguates it from sibling tools like list_server_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 implies when to use it: when creating a new API key, and it distinguishes account-level vs server-level keys via server_id. It doesn't explicitly name alternatives or exclusions, but the context of creation vs listing/updating/deleting is clear from the sibling names and the description's scope statement.

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

create_pxe_configA
Destructive

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

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

TDQS

A3.8/5.0
Behavior3/5

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

The description repeats and emphasizes the destructive nature with 'ДЕСТРУКТИВНО', which is consistent with destructiveHint=true. It adds the step context but does not disclose what specifically gets overwritten or destroyed, nor does it mention the required 'confirm' flag or side effects on existing PXE configuration.

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 plus a destructive warning. Every element carries purpose or caution, with the key action front-loaded. There is no filler or unnecessary detail.

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?

Despite being a destructive 9-parameter operation with no output schema, the description only supplies a workflow step and a warning. It omits prerequisites, what the operation affects, expected results, and how it relates to companion tools like create_reinstall_task or clear_pxe_config. This is incomplete for safe 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?

Input schema description coverage is 100%, so the schema already documents all 9 parameters. The description adds no parameter-level meaning beyond the schema, so it stays at the baseline 3 rather than compensating or enriching 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 gives a specific verb ('создать') and resource ('PXE-конфиг') plus the purpose ('для установки ОС'), and labels it as 'Шаг 2 PXE-переустановки'. This clearly distinguishes it from related concepts like clear_pxe_config by stating it creates, not clears, a PXE config.

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?

'Шаг 2 PXE-переустановки' provides clear contextual guidance: this tool is the second step in a PXE reinstall workflow. It does not explicitly exclude alternatives or list prerequisites, but the step placement is a useful usage signal beyond just naming the action.

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 сервера
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true, so the agent knows it's destructive. The description adds a critical warning: 'ДЕСТРУКТИВНО: часть процесса, затирающего диски сервера' (destructive: part of the process that wipes server disks), which provides context beyond the annotation. However, it doesn't disclose other behavioral aspects like the need for confirmation (implicit in 'confirm' parameter) or any side effects beyond disk wiping. Given the annotation already flags destructiveness, the addition is modest, hence a 3.

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 concise: three sentences, with the key information front-loaded ('Шаг 1 PXE-переустановки...'). The destructive warning is clearly separated, and every sentence adds value. 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 two-parameter tool with a clear workflow context, the description is quite complete: it explains what it returns ('reinstall_key'), how it fits into the reinstall process, and warns of destructiveness. It lacks details on prerequisites (e.g., server must be powered off?) or the full reinstall flow, but given the simplicity and schema richness, it's nearly sufficient. A 4 is warranted.

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 'confirm') are already documented in the schema. The description does not add any new information about the parameters themselves; it only implies via the destructive note why 'confirm' might be needed, but that's not explicit. Since the schema covers everything, 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 specific verb ('create'), the resource ('master key for reinstall'), and the context ('Step 1 of PXE reinstall'), and distinguishes it from sibling tools like 'reinstall_server' and 'check_task'. The key generated ('reinstall_key') is identified, and the relation to 'check_task' is explicit, 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 implies usage as part of a reinstall workflow: it is the first step, and the key is used by 'check_task' to track stages. However, it does not explicitly state when not to use it or mention alternatives (e.g., 'reinstall_server'), leaving some room for an agent to confuse it with the higher-level reinstall operation. That said, the workflow context is clear enough for a competent agent.

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Подробное описание требуемых работ
confirmYesMust be true to run the operation.
request_typeNoТип работ, если задаётся справочником

TDQS

A4.6/5.0
Behavior4/5

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

The description reveals a key behavioral trait beyond the annotations: invoking this tool triggers physical work by a data-center duty shift, which has real-world implications. It also instructs to describe the work in maximum detail in comment. Although it doesn't detail post-creation steps, annotations already cover read/write and destructive nature.

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 concise sentences, each serving a distinct purpose: what the tool does, how to fill the critical comment field, and when to use it. It is front-loaded with purpose and contains no redundant 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 provides enough context for correct invocation: purpose, usage condition, and key parameter detail. It doesn't explicitly describe the full consequence of creating the request (e.g., human dispatch, expected response), but combined with the schema and annotations, an agent can correctly select and use the tool.

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

Parameters4/5

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

Schema coverage is 100%, so all parameters are documented in the schema. The description adds meaningful guidance for the comment parameter, explicitly requiring maximum detail, which goes beyond the schema's 'Подробное описание требуемых работ'. This represents a small but valuable increment.

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 ('Создать' - create), a specific resource ('заявку на удалённые работы'), and the endpoint (rhr/add). It clearly distinguishes this tool from sibling RHR tools by stating it is for physical data-center shift work that cannot be done remotely.

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?

It explicitly states when to use the tool: 'Использовать, только если модуль удалённого управления сервером недоступен/не работает'. This gives a clear condition and implies the alternative is the remote server management module, leaving no ambiguity.

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Имя снапшота
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=false and destructiveHint=false. The description adds value by disclosing that the operation is asynchronous and that status must be tracked via check_task. It does not cover the confirmation requirement in prose, but that is present in the schema with a clear 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 two short sentences with no filler. It front-loads the core purpose and immediately adds the critical async/check_task detail. 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 three-parameter tool with full schema descriptions and annotations, the description is nearly sufficient. It gives the essential async follow-up behavior and clear purpose. A small gap is the lack of any pointer to sibling snapshot operations, but that is not critical 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?

Schema coverage is 100%, with every parameter (id, name, confirm) already described in the input schema. The tool description adds no parameter-specific detail beyond the operation itself, so the schema carries the semantic burden and 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 and resource: 'Создать снапшот виртуальной машины' (create a VM snapshot) and even includes the API endpoint 'vm/create_snapshot'. This clearly distinguishes it from sibling tools like get_snapshots, restore_snapshot, and remove_snapshot.

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 async operation note and 'status via check_task' give some post-invocation guidance. However, it never explicitly says when to use this tool versus restore_snapshot or remove_snapshot, nor does it state any exclusions or prerequisites. Usage is largely implied by the name and purpose rather than made 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 ключа
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

Annotations already set destructiveHint: true and readOnlyHint: false, so the destructive nature is known. The description adds specific consequence: applications using the key will lose access. This goes beyond the annotation by explaining the impact, which is valuable context. 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 extremely concise: two short sentences that state the action, the endpoint, and the critical destructive consequence. It front-loads the essential information and contains no filler. 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 simple delete operation with two parameters fully documented in the schema, the description covers the key behavioral aspect (destructive impact on applications). It does not describe the return value or post-deletion state, but for a delete call this is minor. Combined with annotations and schema, it is nearly 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 describes both parameters: id (integer, 'ID ключа') and confirm (boolean, 'Must be true to run the operation.'). Schema coverage is 100%, so the description does not need to explain them further. The description adds no additional parameter semantics beyond the schema, warranting 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?

The description clearly states the action (Удалить/delete) and the resource (API-ключ/API key), and even includes the endpoint path (api_keys/delete). This is specific and differentiates it from siblings like create_api_key, update_api_key, and list_api_keys. The destructive warning further reinforces 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 when to use it (when you intend to revoke an API key and accept that dependent applications will lose access) but does not explicitly mention alternatives or conditions for choosing this over update_api_key (e.g., to disable rather than delete). The destructive note provides some guidance but not full exclusions.

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 сервера
confirmYesMust be true to run the operation.

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already convey that this is a non-read-only but non-destructive operation. The description adds no behavioral traits beyond what the tool name states; it does not mention effects on the service, the confirm guard, or any lifecycle restrictions.

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 resource. The parenthetical API name repeats the tool name, which is mildly redundant but does not significantly hurt clarity.

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, the schema and annotations cover parameter semantics and safety profile. However, the description lacks usage context and behavioral detail, leaving some gaps around when withdrawal is appropriate and what actually happens.

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 already have clear descriptions. 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.

Purpose5/5

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

The description states a specific action, 'отозвать' (withdraw), and a clear resource, 'заявку на отмену услуги' (cancellation request). This distinguishes it from related siblings like request_cancellation and get_cancellation_requests without needing to open 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?

There is no explicit when-to-use or when-not-to-use guidance. The verb and resource imply this is the inverse of request_cancellation, and the sibling list provides context, but the agent must infer the usage rather than being told.

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
confirmYesMust be true to run the operation.
contact_idYesID контакта

TDQS

A3.6/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, and the description reinforces this with 'ДЕСТРУКТИВНО'. It does identify the specific object being deleted, but it adds no additional behavioral context beyond what the annotations and the word 'delete' already convey. 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 short, front-loaded phrase that states the action and resource in the first clause and warns about destructiveness in the second. There is no filler or unnecessary elaboration, making it efficiently scannable for an agent.

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 delete operation with two fully documented required parameters and destructive annotations, the description plus schema is sufficient to invoke the tool correctly. It clearly identifies the target and warns about destructiveness; however, it does not describe any postconditions or side effects, which keeps it from being completely thorough.

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%: contact_id is described as 'ID контакта' and confirm is described as 'Must be true to run the operation.' The description itself adds no parameter-level 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 uses a specific verb, 'Удалить' (delete), and a specific resource, 'дополнительный контакт аккаунта' (additional account contact), and even names the underlying method whmcs/delete_contact. This clearly distinguishes it from sibling contact 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?

The description provides no when-to-use or when-not-to-use guidance and does not mention alternatives such as update_contact or get_contacts. The usage is only implied by the verb 'delete' and the tool name, with no explicit context or prerequisites.

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
confirmYesMust be true to run the operation.
domain_idYesID домена из list_dns_domains
server_idYesID сервера

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide destructiveHint=true and readOnlyHint=false, but the description adds value by explicitly labeling the operation as ДЕСТРУКТИВНО and requiring the pdns/edit permission, along with the underlying API call name. This enriches the context beyond the structured hints and contains no contradiction.

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, with two short sentences that front-load the core action, then immediately state the destructive nature and permission requirement. Every word earns its place, and the formatting with capitalization adds emphasis without clutter.

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 tool, the description covers the scope, destructive flag, and permission requirement, which are the key operational constraints. It does not mention the confirm parameter or return values, but the confirm parameter is documented in the schema, and there is no output schema, so these are not critical gaps. The information provided is sufficient for an agent to understand the operation's impact and prerequisites.

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 well-documented in the input schema. The description itself does not add further parameter details, leaving the baseline at 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?

The description clearly states a specific verb (delete) and resource (domain by ID), and specifies the full scope: the DNS zone, the domain itself, and all its subdomains. This distinguishes it from sibling tools like delete_dns_subdomain and delete_dns_zone, 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 implies usage by stating the exact scope (domain + zone + subdomains), so an agent can infer it should be used for full domain deletion rather than partial operations. However, it does not explicitly mention alternatives or exclusions, such as 'do not use for deleting only a subdomain', leaving some inference to the agent.

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Имя зоны
confirmYesMust be true to run the operation.

TDQS

A3.8/5.0
Behavior3/5

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

The destructiveHint annotation already covers destructiveness; the description adds value by explicitly requiring the pdns/edit permission. It does not disclose additional behaviors such as irreversibility side effects or confirmation handling, but the schema covers the confirm flag.

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 action, scope, destructiveness, and permission requirement with no filler. Every element 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 destructive delete operation, the description plus fully documented schema covers purpose, scope, required permission, and destructive nature. It does not describe return values, but there is no output schema and the operation is straightforward.

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 every parameter already explained in the input schema. The description adds no parameter-specific 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 specific action (delete), a precise resource (DNS record), and the scope (from a zone), and even references the internal endpoint pdns/delete_dns. This clearly distinguishes the tool from sibling tools like delete_dns_zone, delete_dns_domain, and delete_dns_subdomain.

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 scope 'from zone' implies this is for individual DNS records, and the destructive warning plus required permission gives some usage context. However, it does not explicitly name alternative tools or state when not to use this tool versus deleting a zone or domain.

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 сабдомена
confirmYesMust be true to run the operation.
server_idYesID сервера

TDQS

A4/5.0
Behavior4/5

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

The description adds an auth prerequisite not present in the annotations ('Требует права pdns/edit') and explicitly flags destructiveness with 'ДЕСТРУКТИВНО', reinforcing destructiveHint=true in natural language that an agent will weight heavily. It is fully consistent with annotations (readOnlyHint=false, destructiveHint=true), so no contradiction exists. It does not, however, describe irreversibility or potential cascade effects on related DNS records.

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 clauses totaling about ten words front-load the action, then the destructiveness warning, then the permission requirement. Every clause earns its place 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.

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 destructive delete with full schema documentation and matching annotations, the essential calling conditions are covered: purpose, destructiveness, permission prerequisite, and the required confirm flag (via schema). Minor gaps remain — no error behavior, no response shape (no output schema exists), and no disclosure of side effects despite openWorldHint=true — but nothing an agent needs to invoke it safely 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 all three parameters (id, confirm, server_id) already documented in the input schema, so the baseline of 3 applies. The description adds no parameter-level detail — it only restates the object being deleted. The confirm-flag requirement is left entirely to 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 opens with a specific verb and resource — 'Удалить сабдомен из таблицы сабдоменов' (delete subdomain from the subdomains table) — and even references the internal endpoint (pdns/delete_subdomain). This clearly distinguishes it from sibling tools like delete_dns_domain, delete_dns_record, and delete_dns_zone, which act on different resource types.

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 'из таблицы сабдоменов' implies this is the subdomain-level deletion tool, which gives contextual differentiation from domain/record/zone siblings, but no alternative is named and no explicit when/when-not conditions are given. The permission note 'Требует права pdns/edit' states a precondition but does not guide tool selection.

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Имя зоны
confirmYesMust be true to run the operation.

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 'ДЕСТРУКТИВНО' warning is consistent. The description adds valuable context beyond annotations: it specifies that the operation deletes all records and metadata, and that it requires pdns/edit rights. This is meaningful behavioral disclosure for a destructive tool.

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

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 and destructive scope are front-loaded, followed by the permission requirement. 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 two-parameter tool with a confirm flag and full schema coverage, the description is nearly complete. It covers what is deleted, the destructive nature, and the required permission. It does not describe the response format, but there is no output schema and the operation is a simple delete, so this 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 both parameters ('Имя зоны' and 'Must be true to run the operation'). The description adds no additional parameter-level detail beyond what the schema provides, so the 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 states a specific verb ('Удалить' = delete), a specific resource ('DNS-зону по имени'), and the full scope of what is deleted ('вместе со всеми записями и метаданными'). It also names the internal operation (pdns/delete_zone), which distinguishes it from sibling tools like delete_dns_domain, delete_dns_record, and delete_dns_subdomain.

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 clearly indicates this is a destructive operation and requires the pdns/edit permission, which helps an agent decide whether it is authorized to call it. It does not explicitly name alternatives or state when not to use it, but the destructive warning and permission requirement provide clear context for when it is appropriate.

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-образа
confirmYesMust be true to run the operation.

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 readOnlyHint=false, so the description adds value by naming the endpoint, explicitly restating destructiveness, and disclosing the authorization restriction for non-staff users. This goes beyond the structured annotations without contradicting them.

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

Conciseness5/5

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

The description is three short, purposeful sentences: the action with endpoint, the destructive warning, and the access caveat. It is front-loaded and contains no filler or redundant restating.

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, no output schema, and strong annotations, the description is nearly sufficient. It covers the operation, ID-based targeting, confirmation requirement via schema, and access restriction; a minor gap is not pointing the agent to a sibling like list_iso_images for obtaining a valid ISO ID, though that is inferable.

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 id and confirm already documented. The description adds no new parameter-level meaning beyond the 'by ID' phrasing, 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 states the exact action (Удалить/delete), the target resource (ISO-образ), and the required identifier (by ID), plus the endpoint iso/delete. This clearly distinguishes it from sibling tools like list_iso_images, mount_iso, unmount_iso, and add_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 Guidelines3/5

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

The description provides useful access context by warning that the operation is staff-only and that clients will likely receive a permission error, but it does not explicitly compare against alternatives or state when-not-to-use conditions. Usage is implied rather than fully guided.

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 заявки
confirmYesMust be true to run the operation.

TDQS

A3.5/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; the description reinforces this with 'ДЕСТРУКТИВНО' and names the object that will be canceled, which is useful. It does not add other behavioral context such as irreversibility, authorization requirements, or side effects, so it remains at a middle score.

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

Conciseness4/5

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

The description is very short and front-loads the action, with the destructive warning placed immediately after. Minor redundancy ('Отменить/закрыть' and the parenthetical 'rhr/discard') prevents a perfect conciseness score.

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 destructive tool with full schema coverage and relevant annotations, the description is mostly sufficient: it states the operation, the target, and the destructive nature. It could be more complete by clarifying the expected state after cancellation or explicitly requiring confirm=true in prose, though the schema already covers the 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%, with both id and confirm documented in the input schema. The description adds no additional meaning about parameter values, formats, or relationships 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.

Purpose4/5

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

The description states a specific action (cancel/close) and a clear resource (заявка на удалённые работы, rhr/discard), so an agent can tell this is the cancellation counterpart to create/list/add-comment rhr tools. It does not explicitly name a sibling to differentiate, so it stops short of a 5.

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

Usage Guidelines3/5

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

The verb 'Отменить/закрыть' implies this tool is for canceling an existing remote-work request, but the description gives no explicit when-to-use guidance, prerequisites, or alternatives. Sibling tools like create_rhr_request and list_rhr_requests are not referenced, so an agent must infer the appropriate context.

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-адрес записи
confirmYesMust be true to run the operation.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, and the description redundantly repeats 'ДЕСТРУКТИВНО' (DESTRUCTIVE). It adds the context 'служебная операция' (service operation), which suggests an internal administrative function. However, it does not disclose side effects, confirmation requirements, or irreversibility beyond what annotations provide, so it adds limited value.

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 brief—two clauses—and front-loads the primary action. It is concise with no filler. However, it could have included a hint about the required confirm parameter or a caution about permanence, but for its length it is efficient.

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

Completeness3/5

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

Given the simple 3-parameter schema, full schema coverage, and annotations (readOnlyHint=false, destructiveHint=true), the description is adequate but not complete. It does not mention the confirmation requirement (confirm=true) or any return behavior, though these are partially covered by the schema. For a destructive operation, an explicit statement that confirmation is mandatory 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%: all three parameters (id, ip, confirm) have descriptions. The description itself does not mention or elaborate on any parameters, so it adds no additional meaning 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?

Description states a clear verb and resource: 'Удалить запись о NAT из базы данных' (delete NAT record from database), which is specific and unambiguous. However, it does not explicitly differentiate from sibling tools like remove_static_nat or clear_static_nat, which also deal with NAT, so it lacks explicit 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 gives no guidance on when to use this tool versus alternatives. It only labels it as a 'служебная операция' (service operation), implying internal use, but does not specify conditions, prerequisites, or scenarios where this tool is preferred over similar NAT-related operations.

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 сабдомена
confirmYesMust be true to run the operation.
server_idNoID сервера

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already signal a mutating, non-destructive operation; the description adds the auth requirement (pdns/edit) and confirms the update semantics. It does not disclose side effects or exactly what changes are applied, but the permission note provides some context 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 two short sentences, front-loaded with the primary action and followed by a necessary permission note. 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 three-parameter mutation with complete schema coverage and annotations, the description plus schema is mostly sufficient. It lacks any mention of what fields the update changes or the effect of confirm, and there is no output schema, but the risk is low.

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, confirm, and server_id each have schema descriptions. 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.

Purpose5/5

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

The description states the action ('Обновить сабдомен' = update subdomain) with a clear verb and resource. The endpoint reference and sibling names (add/delete/list_dns_subdomains) make the operation distinguishable from related DNS 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?

The description provides no explicit guidance on when to use this tool versus add_dns_subdomain or delete_dns_subdomain. It only states a permission requirement; any usage context must be inferred from the tool name and siblings.

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 сервера
confirmYesMust be true to run the operation.

TDQS

C2.9/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 write nature is expected. The description adds no behavioral context beyond the bare action—no mention of side effects, irreversibility, authorization requirements, or the openWorldHint implication that external billing systems are affected.

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. It is appropriately concise, though its brevity verges on under-specification rather than being a model of efficiency.

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 no output schema and an ambiguous term ('next'), the description is incomplete. It does not explain what 'next invoice' means operationally, what the result will be, or what the agent should expect or verify after calling 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%, with clear descriptions for id and confirm. The tool description adds no extra meaning to these parameters, so the baseline of 3 is appropriate; it neither compensates nor improves on 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 specific verb ('create') and resource ('invoice for the server'), which distinguishes it from read-only sibling tools like get_invoice or get_server_invoices. However, the term 'next' is ambiguous and the description does not clarify whether it means the next due invoice, the next period, or the next in sequence, keeping it from a 5.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like create_addfunds_invoice or get_invoice. There is no mention of prerequisites, exclusions, or context that would help an agent decide between billing-related tools.

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_payC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to run the operation.
invoicesYesМассив номеров инвойсов

TDQS

C2.9/5.0
Behavior3/5

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

The annotations include destructiveHint=false, readOnlyHint=false, and openWorldHint=true. The description does not contradict annotations. However, it adds minimal behavioral context beyond the 'ДЕНЬГИ' alarm, which is not informative. For a payment operation, the description should disclose that it initiates a financial transaction and likely requires confirmation, but the confirm parameter is in the schema. The description adds little 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.

Conciseness3/5

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

The description is extremely short, but the 'ДЕНЬГИ' is a cryptic extra element that doesn't add clarity. It is arguably concise, but the all-caps 'ДЕНЬГИ' could be noise. The core information is front-loaded, but the lack of useful context makes it less effective.

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 payment operation with no output schema and only two parameters, the description is insufficient. It doesn't explain what will happen after execution (e.g., whether it creates an invoice, charges money, or just groups invoices). It also doesn't mention any side effects (e.g., emails sent to clients). The absence of output schema means the description should clarify expected outcomes, but it doesn't.

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 any parameter-specific meaning beyond what the schema provides—it doesn't explain the format of invoice numbers or the meaning of the confirm flag beyond the schema's 'Must be true to run the operation.' Since coverage is high, 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 tool creates a group invoice to pay multiple invoices at once (whmcs/mass_pay), which is a specific verb and resource. Although it doesn't explicitly differentiate from siblings, the sibling list is diverse and no direct alternative exists, so the purpose is clear enough.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, such as having outstanding invoices, or context about when group payment is appropriate. It also doesn't mention any exclusions or alternatives, leaving the agent to infer usage.

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
confirmYesMust be true to run the operation.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide only readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the description adds meaningful behavioral detail by disclosing that the operation is asynchronous and that the response includes a callback key for check_task. This is beyond what the annotations convey and helps the agent manage expectations correctly.

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 carry all essential information with no wasted words. The main purpose is front-loaded, followed by the async behavior and input-source guidance, 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?

Given the moderate complexity, complete parameter schema, and annotations, the description provides everything needed to invoke the tool correctly: the action, async callback behavior, and where to obtain valid image identifiers. Since there is no output schema, the explicit mention of the check_task callback key is especially valuable.

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 some value by pointing to list_iso_images/get_uploaded_isos as the source for the ID/name parameters, but it does not significantly elaborate on parameter types or relationships beyond what the schema already states.

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: 'Смонтировать ISO-образ на сервер', making the tool's action unmistakable. It also includes the endpoint path and clarifies the source of image identifiers via list_iso_images/get_uploaded_isos, which differentiates it from image-management siblings like upload_iso or add_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?

The description provides clear usage context: it is an asynchronous operation and returns a callback key for check_task, telling the agent how to proceed after invocation. It also directs the agent to list_iso_images or get_uploaded_isos for the required IDs/names. It does not explicitly state when not to use it or contrast it with unmount_iso, so it stops short of a full 5.

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
confirmYesMust be true to run the operation.

TDQS

A3.6/5.0
Behavior4/5

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

The description explicitly warns that the server will lose network connectivity on the interface, adding meaningful context beyond the destructiveHint annotation. It does not contradict the annotations and helps the agent anticipate 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 a single, front-loaded sentence that states the action and the key destructive consequence. Every word earns its place; there is no redundant or irrelevant 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 destructive toggle operation with a confirm parameter, the description and schema together are sufficient. It could mention reversibility via port_on, but that is not essential for correctly invoking this 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?

The input schema already describes all three parameters at 100% coverage, including the confirm flag and the port source. The description does not add additional parameter-level meaning, 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 ('turn off the server network port') and identifies the resource ('server network port'). It is specific enough to be distinguished from the sibling port_on by its opposite operation, though it does not explicitly name the sibling.

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 like port_on, nor on prerequisites such as checking current connectivity via get_network_status. The destructive effect is stated, but the intended use context is left implicit.

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

port_onA

Включить сетевой порт сервера (net/port_on).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
portYesФизический порт свитча из get_network_status
confirmYesMust be true to run the operation.

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 mutating operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds the action of enabling but does not disclose side effects, failure modes, or whether the port must be physically present. Since annotations cover the basic safety profile, the description adds minimal behavioral context beyond the obvious.

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 is concise and directly states the action. There is no unnecessary verbiage, and the parenthetical 'net/port_on' provides a clear reference to the underlying API method.

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 enable action with fully documented parameters and no output schema, the description is largely complete. It could mention that the operation requires confirm=true, but that is already in the schema. The lack of any behavioral warnings or return info is acceptable given the tool's simplicity and the presence of sibling tools that cover related actions.

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 (id, port, confirm) are already documented with clear descriptions. The tool description adds no extra meaning to parameters, but since the schema carries the burden, a 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 uses a specific verb ('Включить' - enable) and a clear resource (network port of server). It distinguishes itself from the sibling tool port_off, which presumably disables, so an agent can tell them apart 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 Guidelines4/5

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

The purpose implies when to use it (to enable a port) and the existence of port_off as the complementary action. However, there is no explicit statement about when not to use it or alternatives beyond the name. The description is adequate but not explicit about prerequisites like confirm=true, which is already in the schema.

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_userB

Удалить временного IPMI-пользователя (eq/remove_ipmi_user).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

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, signaling a mutating operation, and the schema requires confirm=true for execution. The description adds only the 'temporary' scope and does not describe side effects, reversibility, or what happens after deletion, but the annotation coverage lowers the burden.

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

Conciseness4/5

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

The description is a single concise sentence with the action and resource front-loaded. However, the parenthetical '(eq/remove_ipmi_user)' is redundant with the tool name and does not earn 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 simple two-parameter deletion tool, the schema covers the required inputs, and annotations convey the mutating behavior. Still, the description lacks any usage context, failure modes, or confirmation semantics beyond the schema, making it minimally adequate rather than complete.

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

Parameters3/5

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

Schema description coverage is 100%, with both id and confirm already documented. The description adds no additional parameter-level meaning beyond what the schema provides, 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 verb ('Удалить' – delete/remove) and a clear resource ('временного IPMI-пользователя' – temporary IPMI user). It clearly distinguishes this tool from siblings like add_ipmi_user and reset_ipmi.

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 such as add_ipmi_user or reset_ipmi. The word 'temporary' implies a use case, but there is no explicit context, prerequisites, or exclusions.

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Имя снапшота
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

Annotations already signal destructiveHint=true and readOnlyHint=false. The description adds that the snapshot is deleted irreversibly and that the VM must be powered off, which is useful behavioral context beyond the annotations. No contradiction exists.

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

Conciseness5/5

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

The description is two short sentences with no wasted words. The action is front-loaded, followed immediately by the critical destructive warning and the precondition, making it easy to scan and act on.

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 operation with three fully documented parameters, the description is adequate: it names the resource, explains irreversibility, and gives the key VM-state requirement. It does not describe return values or failure cases, but those are not necessary 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?

The input schema already covers 100% of parameters with clear descriptions: id (VM ID), name (snapshot name), and confirm (must be true). The description adds no parameter-level semantics, so the baseline score of 3 applies.

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

Purpose4/5

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

The description clearly states the action as deleting a snapshot and labels it destructive, which makes the tool's purpose unambiguous and distinguishes it from create_snapshot, restore_snapshot, and get_snapshots. However, it does not explicitly name or contrast sibling snapshot tools, so it misses the top score for explicit 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 provides a clear usage precondition: deletion is only possible on a powered-off VM. It also warns that deletion is irreversible. It does not mention alternatives or exclusions, but the prerequisite and warning give sufficient guidance for an agent.

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 сервера
confirmYesMust be true to run the operation.

TDQS

C2.7/5.0
Behavior1/5

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

The description says 'Удалить' (remove/delete), which indicates a destructive operation, while annotations set destructiveHint=false. This is a direct contradiction. The description also does not disclose the operational impact of removing the DNAT rule.

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, front-loaded sentence with no filler. The parenthesized endpoint 'nat/remove_static_nat' is slightly redundant with the tool name but does not significantly hurt clarity.

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?

The tool call itself is minimally documented, but the contradictory destructive annotation and lack of usage context leave an agent uncertain about side effects and when to choose this over sibling NAT tools. There is also no output schema to clarify the expected 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%, with both id and confirm documented. The description adds no meaningful parameter detail beyond naming the target resource, 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 uses a specific verb 'Удалить' (remove) and identifies a clear resource: the static DNAT to an IPMI server. This is unambiguous, but it does not explicitly differentiate the tool from similar siblings like clear_static_nat or drop_nat.

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 add_static_nat, clear_static_nat, or drop_nat. No prerequisites, conditions, or exclusion criteria are provided; the description only states the operation itself.

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 сервера
confirmYesMust be true to run the operation.
cancellation_typeYes1 — немедленно (частичный возврат при возможности), 0 — в конце биллинг-периода
terminate_reason_customNoПричина отмены

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 the description adds crucial context: immediate cancellation may trigger a partial refund, and the operation requires an environment flag. This goes beyond the annotation by explaining the consequence and prerequisite.

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 dense sentences with no filler. The destructive warning is front-loaded, and the cancellation_type semantics are packed efficiently.

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 with no output schema, the description covers the key behavioral aspects: what happens with each type, the refund possibility, and the required environment flag. It doesn't describe the response format, but that's a minor gap for a request-type 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%, so the schema already documents all parameters. The description adds the refund consequence for cancellation_type=1 and the HOSTKEY_ALLOW_DESTRUCTIVE requirement, but doesn't add meaning beyond the schema for id, confirm, or terminate_reason_custom. 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 (WHMCS service cancellation), and distinguishes the two cancellation modes. It also names the WHMCS endpoint, which helps identify the tool among many 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 description explains when to use each cancellation_type (immediate vs end-of-billing-period) and warns that destructive operations require HOSTKEY_ALLOW_DESTRUCTIVE=1. It doesn't explicitly name alternative tools, but the destructive warning and mode distinction provide clear usage context.

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 сервера
confirmYesMust be true to run the operation.

TDQS

A3.6/5.0
Behavior4/5

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

The description discloses that the operation creates a ticket for the data center duty shift, and that status and correspondence are tracked in the ticket with a link sent to email. This adds useful behavioral context beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), which only indicate a write-side effect. 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 concise sentences with no filler. It front-loads the core action ('проверить сервер и загрузить его в ОС') and immediately states the consequence (ticket creation). Every word earns its place, making it highly 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 tool with only two parameters and no output schema, the description covers the primary outcome (ticket creation) and how to monitor progress (status and correspondence in the ticket, email link). It doesn't mention prerequisites or asynchronous behavior, but for a low-complexity operation this 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?

Both parameters already have clear descriptions in the schema (id = server ID, confirm = must be true to run), giving 100% schema coverage. The description adds no additional parameter semantics, so it provides no value beyond the structured schema. Baseline of 3 is appropriate for 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 specific action: 'проверить сервер и загрузить его в ОС' (check the server and boot it into OS), and clarifies it creates a Remote Hands ticket. This distinguishes it from sibling tools like request_rh_power_on, request_rh_reboot, and request_rh_pxe_boot, which have different actions. However, it doesn't explicitly define what 'check' entails, leaving some ambiguity.

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 the many sibling RH request tools (e.g., request_rh_power_on, request_rh_kvm, create_rhr_request). There is no mention of alternatives, conditions, or exclusions. The agent must infer usage solely from the action described, without explicit routing.

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 сервера
confirmYesMust be true to run the operation.

TDQS

A4.2/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. The description adds meaningful context beyond that: it creates an external ticket for the datacenter duty shift, and status/correspondence live in the ticket with the link delivered by email. This discloses the asynchronous, external side-effect behavior well.

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 operation name and action, with no filler. Every sentence contributes either to what the tool does or what outcome the caller should expect.

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 compensates by explaining the outcome: a ticket is created, status is tracked in the ticket, and a link arrives by email. It is complete enough for an agent to invoke the operation and manage expectations about follow-up.

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 does not add material meaning beyond the schema: it mentions the server target but does not elaborate on id or the confirm flag, leaving parameter semantics to 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 action: 'подключить IP KVM к серверу' (connect IP KVM to the server) and clarifies it creates a Remote Hands ticket. This distinguishes it clearly from sibling request_rh_power_on/power_off/reboot/pxe_boot/check 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 context is clear: use this tool when a Remote Hands request is needed to physically connect an IP KVM to a server. It does not explicitly name alternatives or exclusions, but the described operation is self-contained and distinct enough to guide selection.

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

request_rh_power_offA
Destructive

Заявка Remote Hands: выключить сервер вручную (jira/request_poff). ДЕСТРУКТИВНО для работающих сервисов. Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

TDQS

A4.1/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, and the description reinforces that while adding new details: it creates a Remote Hands ticket, status and conversation live in the ticket, and a link arrives by email. This is valuable non-obvious behavior beyond the structured fields.

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

Conciseness5/5

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

Two sentences carry purpose, warning, and outcome with no filler. The destructive warning is front-loaded before the ticket-lifecycle detail.

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 full schema coverage and no output schema, the description covers what the tool does, why it is dangerous, and what side effects to expect (ticket, email link). No critical calling information 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 schema already describes both parameters at 100% coverage, so the baseline is 3. The destructive warning indirectly justifies the confirm flag, but the description does not add explicit meaning beyond the schema for either id or confirm.

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 verb, the resource (Remote Hands ticket to manually power off a server), and the effect, which separates it from sibling tools like request_rh_power_on or request_rh_reboot. It also identifies no ambiguity about what the action produces.

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 communicates clear context — a manual datacenter shutdown and a destructive warning — so an agent can tell when it might be relevant. However, it does not explicitly state when to prefer this over alternatives such as power_off or request_rh_reboot, nor 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.

request_rh_power_onA

Заявка Remote Hands: включить сервер вручную (jira/request_pon). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

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, non-destructive operation, and the description adds meaningful context: it creates a Remote Hands ticket, involves the data-center duty shift, and tracks status/correspondence in the ticket with a link sent by email. This goes beyond the annotations and clarifies the side effect and follow-up channel.

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 tight sentences with no filler. The first sentence names the operation and the second explains the resulting ticket and follow-up, so every sentence 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 two-parameter action with full schema coverage and meaningful annotations, the description is largely complete. It explains what will happen, where status will be visible, and how the user will be notified. It could mention the immediate API response shape, but that is a minor gap for this 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?

The input schema already documents both parameters fully: id is the server ID and confirm must be true. The description adds only that the target is a server, which mostly restates the schema. With 100% schema coverage, a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific action ('включить сервер вручную' / manually power on a server) performed via a Remote Hands ticket, which clearly differentiates it from sibling tools like request_rh_power_off, request_rh_reboot, and power_on. It also names the internal implementation (jira/request_pon), leaving no ambiguity about 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 description makes the intended context clear: this is a Remote Hands request for a duty shift to manually power on a server. However, it does not explicitly state when to prefer this tool over power_on or the other request_rh_* siblings, and it offers no exclusions or alternative-routing guidance.

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 сервера
confirmYesMust be true to run the operation.

TDQS

A4.3/5.0
Behavior4/5

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

The annotations only indicate readOnlyHint=false and destructiveHint=false; the description adds meaningful behavior: it creates a Remote Hands ticket, routes it to the data-center duty shift, and explains that status and correspondence live in the ticket with a link sent to 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 three short, dense sentences. It front-loads the operation and purpose, then states when it is needed and what the user gets back. No filler or redundant phrasing.

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 fully covers what happens, why it is used, and how to track the result. It also implicitly explains that the tool does not directly perform the boot but creates a human-executed ticket, which is essential 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%, and the schema already documents 'id' as server ID and 'confirm' as a required boolean. The description does not add new parameter-level details, so it provides no extra semantic value 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?

The description names a specific verb and resource: 'загрузить сервер по PXE' (boot server via PXE) via a Remote Hands request. It clearly distinguishes this from sibling request_rh_* tools by specifying the PXE-boot action and ticket-creation behavior.

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 use context: 'Нужна при переустановке ОС на серверах без модуля удалённого управления.' This tells an agent when to use the tool, though it does not explicitly enumerate alternatives or 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.

request_rh_rebootB
Destructive

Заявка Remote Hands: перезагрузить сервер вручную (jira/request_reboot). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, so the safety profile is known. The description adds useful context: it creates a ticket for the data center duty shift, and status/correspondence will be in the ticket with a link sent to email. This clarifies that the action is not immediate and is asynchronous. However, it does not disclose any side effects beyond the ticket creation, such as potential downtime or scheduling delays. It adds some value beyond annotations but not extensive.

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, front-loaded with the main purpose and followed by a brief explanation of the outcome. There is no fluff; every sentence earns its place. It could be slightly more concise (e.g., removing the parenthetical 'jira/request_reboot' which may be an internal reference), but it is overall efficient 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?

For a tool with two required parameters and no output schema, the description adequately covers what the tool does and where results will be reported (ticket and email). It lacks explicit mention of prerequisites (e.g., server existence) or the expected time frame for the manual reboot, but these are not critical for the agent to invoke it correctly. The description is sufficient for a simple ticket-creation action, though it could note that the reboot is manual and not guaranteed to be immediate.

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% coverage for both parameters: 'id' is described as 'ID сервера' and 'confirm' as 'Must be true to run the operation.' The description adds no additional parameter semantics; it does not explain the purpose of 'confirm' beyond what the schema already states, nor does it clarify the expected id format. Since schema coverage is full, 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 tool's purpose: it creates a Remote Hands ticket to manually reboot a server. The verb 'создаёт тикет' (creates a ticket) and the resource 'Remote Hands' are specific. It distinguishes itself from other RH tools (power on/off, etc.) by mentioning 'перезагрузить' (reboot), but it does not explicitly contrast with the sibling 'reboot_server' which likely does a software reboot. Still, the purpose is unambiguous and actionable.

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. It does not mention that this is for physical/manual reboots when remote reboot is unavailable, nor does it compare to 'reboot_server' or other RH tools like 'request_rh_power_on'. The agent is left to infer usage context from the tool name and the 'manual' hint, but explicit when-to-use guidance is absent.

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

request_sales_assistanceA

Тикет в отдел продаж (jira/request_assistance): отмена или перенос услуги и подобные запросы. Опишите детали в message.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoID сервера, если запрос касается сервера
confirmYesMust be true to run the operation.
messageYesДетали запроса: что отменить/перенести и почему
subjectNoТема запроса

TDQS

A3.6/5.0
Behavior3/5

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

Annotations convey that the operation is not read-only and is open-world. The description adds that this creates a Jira/request_assistance ticket and that details belong in 'message', but it does not disclose side effects or whether the request is immediately acted upon.

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, front-loaded, and contains no filler. The first part states the tool's purpose and the second gives a clear instruction about the main parameter.

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-submission tool, the description covers the core scenario and message requirement. However, it does not mention the required 'confirm' flag, expected behavior after submission, or what response the caller should expect.

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 four parameters, so the baseline is 3. The description only reinforces that details should go in 'message' and adds no new parameter meaning beyond the schema.

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

Purpose4/5

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

The description clearly identifies the tool as a ticket to the sales department for cancellations, service transfers, and similar requests. It names the concrete purpose and resource, although it does not explicitly distinguish itself from sibling request_cancellation.

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 context for when to use the tool: 'отмена или перенос услуги и подобные запросы'. It does not mention exclusions or alternatives, 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.

reset_billing_passwordA

Сбросить пароль аккаунта биллинга (whmcs/reset_password): на указанный email придёт ссылка для сброса. Email должен совпадать с email аккаунта.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail аккаунта
confirmYesMust be true to run the operation.

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 destructive. The description adds useful behavioral context: an email link will be sent and the email must match the account email. It does not mention prerequisites, rate limits, or what happens after the link is sent, but the additional context is sufficient for a simple reset operation.

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 with no filler. The core action and the key constraint are stated immediately, making the description easy to parse and act on.

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 action with full schema coverage and clear annotations, the description covers the essential operational detail: what happens (link sent) and the key precondition (email must match). No output schema exists, but explaining return values is not necessary for this kind of 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?

Schema coverage is 100%, so the schema already documents both parameters. The description adds a meaningful clarification that the email must match the account email, which strengthens the 'email' semantics beyond the schema's brief 'Email аккаунта'. The 'confirm' parameter is left to the schema, which is acceptable given full 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 ('reset billing account password') and explains the mechanism: a reset link is sent to the specified email. It is unambiguous and easily distinguishable 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 Guidelines4/5

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

The description clearly indicates this tool is for resetting a billing account password and sets an important condition: the email must match the account email. It gives clear context, though it does not explicitly enumerate when not to use it or name alternatives.

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 сервера
confirmYesMust be true to run the operation.

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 destructive. The description adds a clear trigger condition and the internal operation name, but does not disclose side effects such as temporary unavailability of the IPMI module during reset. 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 states the action, internal operation, and usage condition. There is no filler or redundant 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 two-parameter tool with full schema coverage and a clear trigger condition, the description is nearly complete. It could briefly mention expected side effects on IPMI availability, but the core invocation path 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%: both id and confirm are documented in the input schema, including the requirement that confirm must be true. The description adds no additional parameter-level detail, so the baseline of 3 applies.

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

Purpose5/5

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

The description states a specific operation: reboot the server's IPMI module, including the internal command code (eq/unit_reset). It clearly distinguishes this from server-level reboot tools in the sibling list such as reboot_server and request_rh_reboot.

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 explicitly says when to use the tool: when IPMI is not responding. It does not list when not to use it or name alternative tools, but for a targeted IPMI reset operation this condition is useful and clear.

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Имя снапшота
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, and the description adds concrete behavioral context by stating that the VM's current disk state will be overwritten by the snapshot state. This goes beyond the bare annotation without contradicting it.

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

Conciseness5/5

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

The description is two short sentences with no filler. The destructive warning is front-loaded and the endpoint reference 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 destructive restore operation, the description adequately covers the key side effect (disk overwrite), and all required parameters are documented in the schema. It lacks details about response behavior or prerequisites, but these are not critical 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%, so the schema already explains id, name, and confirm. The tool description does not add additional 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 action and resource: 'Восстановить ВМ из снапшота' (restore VM from snapshot). The verb/resource pairing is unique and clearly separates it from sibling snapshot tools like create_snapshot, remove_snapshot, and get_snapshots.

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 by the purpose: use this when a VM should be restored to a previous snapshot state. The destructive warning ('ДЕСТРУКТИВНО') gives cautionary context but the description does not explicitly mention alternatives or specify 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.

run_post_install_taskA

Выполнить Jenkins/Ansible-задачу на сервере (jenkins/call): ID или имя задачи из list_post_install_tasks + доп. параметры. Например, установка GPU-драйверов после переустановки ОС.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
taskYesID или имя задачи из list_post_install_tasks
paramsNoДополнительные параметры задачи
confirmYesMust be true to run the operation.

TDQS

A3.6/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 may affect external systems, and the description adds that it executes a Jenkins/Ansible task on a server. It does not disclose whether execution is asynchronous, how results are returned, or what side effects occur beyond running the task.

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

Conciseness4/5

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

The description is short and front-loaded, with a helpful example that clarifies intent. The parenthetical 'jenkins/call' adds a minor technical detail that is not essential for an agent selecting or invoking the tool, preventing a perfect score.

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 is adequate for identifying the operation and basic inputs, but with no output schema it does not explain what the call returns or whether the task runs asynchronously. The required confirm parameter is visible in the schema, but the description itself does not reinforce this important guardrail.

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 parameters. The description mostly restates that the task parameter is an ID or name from list_post_install_tasks and mentions additional parameters, without adding deeper semantics about required confirmation or parameter formats.

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: 'Выполнить Jenkins/Ansible-задачу на сервере' (execute a Jenkins/Ansible task on a server). It clearly distinguishes itself from list_post_install_tasks by indicating that the task ID or name comes from that list, so an agent can separate run from list operations.

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 concrete example use case (installing GPU drivers after OS reinstall) and references list_post_install_tasks as the source of task IDs/names. However, it does not explicitly state when not to use the tool or mention alternatives such as check_task for monitoring task progress.

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
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations are minimal (readOnlyHint=false, destructiveHint=false, openWorldHint=true). The description adds that it restores active status, which is a behavioral outcome, but it does not disclose side effects, prerequisites, or reversibility. The openWorldHint suggests unknown effects, which the description does not address.

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 that front-loads the action and outcome. It includes the technical operation path in parentheses, which is useful without adding verbosity.

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

Completeness3/5

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

There is no output schema, so the description should hint at return values or outcomes; it does not. It also omits prerequisites like having a pending deletion or the requirement that confirm be true (though the schema covers that). Given the tool's simplicity and the sibling tools, the description is adequate but not thorough.

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 both parameters (confirm and account_id) are already described. The description adds no additional meaning about parameters, 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 clearly states the action (cancel S3 deletion process) and the outcome (restore active status), including the specific operation path. It distinguishes itself from sibling deletion tools like s3_delete_account and s3_delete_payment_account by explicitly focusing on cancellation.

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 a deletion initiated through billing needs to be undone, but it does not explicitly state when to use this tool versus alternatives such as get_cancellation_requests or s3_delete_account. No clear exclusions or alternative routing is provided.

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

s3_create_accountB

Создать S3-аккаунт: привязка тарифного плана и начального бакета (s3/create_account). Требует авторизации.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketNoИмя начального бакета
confirmYesMust be true to run the operation.
plan_idNoID тарифного плана из s3_list_plans
locationNoЛокация из s3_get_locations

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate the operation is not read-only but is not destructive; the description agrees by saying 'Создать' and adds the useful requirement of authorization. However, it does not disclose side effects, idempotency, or what 'binding' actually changes beyond the annotation-provided safety profile.

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

Conciseness4/5

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

The description is a short, front-loaded pair of clauses: purpose first, then the authorization requirement. It is scannable and free of filler, though it does not go beyond simple efficiency to provide richer routing value.

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

Completeness3/5

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

For a four-parameter creation tool with no output schema, the description explains the core action and auth requirement, but it does not mention what a successful call returns or that plan_id and bucket may be optional despite being described as part of the binding. This is minimally viable but not fully self-sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description only loosely echoes the schema by mentioning tariff plan and initial bucket, and does not add extra meaning about formats, defaults, or relationships beyond what the schema already documents.

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, 'Создать S3-аккаунт', and adds a distinguishing scope: 'привязка тарифного плана и начального бакета'. This clearly separates it from sibling tools like s3_create_bucket and s3_create_order, and the inline endpoint reference s3/create_account further anchors its identity.

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 prefer s3_create_account over related siblings such as s3_create_bucket, s3_create_order, or s3_delete_account. 'Требует авторизации' is a prerequisite, not a selection rule, so an agent gets no alternative routing or exclusions.

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

s3_create_bucketB

Создать новый бакет в существующем S3-аккаунте (s3/create_bucket).

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketYesИмя бакета
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

B3.2/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 adds the 'existing S3-account' prerequisite, which is useful. It does not disclose other behavioral aspects like reversibility or error handling, but 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.

Conciseness4/5

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

The description is a single short sentence, efficient and to the point. It includes a redundant endpoint reference in parentheses, but this does not significantly harm readability.

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 and the schema covers parameters, but the description omits behavioral expectations such as the confirm requirement and what happens on success or failure. It is adequate for a straightforward create operation but lacks some contextual depth.

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 parameters. The description adds no parameter-specific meaning beyond what is in the schema, so it meets the baseline but does not 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?

The description states a clear verb (create) and resource (bucket), and adds context 'in existing S3-account'. However, it closely mirrors the tool name and does not differentiate from sibling S3 tools beyond the verb, so it stops short of a 5.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites like account existence or how to handle multiple accounts, nor does it note that confirm must be true or that account_id can be determined via s3_get_users. All such context is left to the schema.

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
confirmYesMust be true to run the operation.
plan_idNoID тарифного плана
locationNoЛокация

TDQS

A4.4/5.0
Behavior5/5

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

The description adds a critical behavioral fact beyond the annotations: the operation creates a real order/invoice and involves real money ('ДЕНЬГИ'). This is exactly the kind of context that helps an agent avoid harmful calls, and it does not contradict the provided 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, purposeful sentences. The first states the action and billing link; the second delivers the financial warning in a prominent way. No wasted words, and the key warning is front-loaded enough to be noticed.

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 schema fully documents parameters and annotations indicate this is a mutating operation, the description adds the essential financial-impact context. Minor gaps remain: it does not describe the response/return value or point to sibling tools like s3_list_plans/s3_get_locations for valid plan_id/location values, but these are not required to invoke 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 input schema already provides descriptions for all three parameters (confirm, plan_id, location), so schema coverage is 100%. The tool description adds no parameter-level details beyond the overall 'paid order' context, which matches the baseline score 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 uses a specific verb ('Создать') and resource ('платный заказ на S3-хранилище'), and explicitly ties it to billing by mentioning 'привязка к биллингу' and 'создаёт реальный заказ/инвойс'. This clearly distinguishes it from sibling tools like s3_create_account and s3_create_bucket, and the endpoint is included for 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 provides clear context: use this when creating a paid S3 order linked to billing, and the 'ДЕНЬГИ' warning implies careful use. It does not explicitly name alternatives or state when not to use it, 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.

s3_delete_accountA
Destructive

Полностью удалить S3-аккаунт пользователя (s3/delete_account). ДЕСТРУКТИВНО: все бакеты и данные будут удалены. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark the operation as destructive, but the description adds specific behavioral context: all buckets and data will be removed, and the operation requires HOSTKEY_ALLOW_DESTRUCTIVE=1. This is meaningful detail beyond the boolean annotations, though it stops short of discussing irreversibility or cancellation paths.

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 destructive warning and environment requirement are front-loaded, making the most critical information immediately visible to the agent.

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 account-level operation with no output schema, the description covers the core consequence and required environment flag, and the schema fully documents parameters. The main gap is that it does not mention whether deletion can be undone or routed through s3_cancel_account_deletion, but this is not essential 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%, so the parameter semantics baseline is 3. The description itself does not add parameter details, but the schema already documents that confirm must be true and account_id is optional with guidance to check s3_get_users.

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: 'Полностью удалить S3-аккаунт пользователя' (completely delete the user's S3 account), with a specific verb and resource. It also identifies the underlying API operation (s3/delete_account) and implicitly distinguishes itself from sibling tools like s3_delete_bucket and s3_delete_file by targeting the account itself.

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 gives an important prerequisite (HOSTKEY_ALLOW_DESTRUCTIVE=1) and warns that all buckets and data will be deleted, which implies the tool is for full account removal. However, it does not explicitly state when to use this tool versus alternatives such as s3_delete_bucket or s3_cancel_account_deletion, nor does it mention any exclusions.

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Имя бакета
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already carry destructiveHint=true, so the description adds value by specifying exactly what gets destroyed: 'все файлы бакета будут удалены' (all bucket files will be deleted). This concrete consequence goes beyond the generic annotation and is essential for an agent assessing risk.

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

Conciseness4/5

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

The description is short and front-loads the destructive warning, which is appropriate for a high-risk operation. The parenthetical '(s3/delete_bucket)' is slightly redundant with the tool name, but it does not undermine clarity.

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 combination of description, schema, and annotations is sufficiently complete: the scope of destruction is explicit, the required parameter is documented in the schema, and the lack of an output schema is acceptable for a simple delete 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 baseline is 3. The description adds no parameter-level detail beyond the schema, but none is required because each parameter (bucket, confirm, account_id) is already documented in the input 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-аккаунта' (delete bucket from S3 account), which clearly states what the tool does. It also includes the API method path (s3/delete_bucket) and is easily distinguishable from siblings like s3_delete_file or delete_iso_image because it names the bucket as the target.

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 by the resource type and name—use this to delete a bucket—but there is no explicit guidance about when NOT to use it or which alternative to choose. It does not mention sibling tools like s3_delete_file or s3_delete_account, so the routing 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.

s3_delete_fileA
Destructive

Удалить файл из бакета (s3/delete_file). ДЕСТРУКТИВНО: файл удаляется безвозвратно.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesКлюч (имя) файла
bucketYesИмя бакета
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already mark this destructiveHint=true, and the description goes beyond that by stating 'файл удаляется безвозвратно' (the file is deleted permanently/irreversibly). This usefully discloses that the operation cannot be undone, which is not present in the annotation itself.

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 definition is short and puts the action first, followed by a direct warning. It loses the perfect mark only because the parenthetical '(s3/delete_file)' repeats the tool name and adds no new 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 simple destructive S3 delete operation, the combination of purpose, irreversibility warning, full parameter schema, and destructive annotation is largely sufficient. Missing aspects such as behavior on nonexistent files or response format are minor and do not prevent 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 already documents all parameters with descriptions, including the required confirm flag and optional account_id with a pointer to s3_get_users. The description adds no parameter-level meaning beyond the schema, so 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 uses a concrete verb and resource: 'Удалить файл из бакета' (delete a file from a bucket). This clearly identifies the operation and differentiates it from sibling tools like s3_delete_bucket and s3_delete_account, so an agent can select it on purpose alone.

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

Usage Guidelines2/5

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

No when-to-use or alternative guidance is provided; the destructive warning does not say to confirm the file key first or to use s3_get_files/s3_delete_bucket for related operations. The purpose is implied, but the description offers no exclusions or explicit routing.

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
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

A4/5.0
Behavior5/5

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

The description goes well beyond the destructiveHint annotation by specifying that an active service will have a completion date set and that HOSTKEY_ALLOW_DESTRUCTIVE=1 is required. This gives concrete behavioral context and safety-critical information beyond what annotations already declare.

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 carrying necessary information: the action, the destructive consequence, and the required environment variable. The content is front-loaded with the purpose and immediately followed by the most critical safety 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?

Given the annotations and schema already cover safety and parameters, the description adds the key behavioral consequence and the environment prerequisite. It does not explain the return value or whether the deletion can be canceled, but this is a relatively simple initiation operation and those details are not clearly necessary.

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 confirm and account_id are already documented. The tool description does not add further parameter-specific meaning, but there was no need to compensate because the schema is sufficient. 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 (initiate deletion of an S3 account) and the mechanism (via billing service cancellation), which clearly separates it from a direct immediate delete. It is clear and specific, but it does not explicitly name sibling tools like s3_delete_account or s3_cancel_account_deletion to further 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?

The description implies this tool should be used when you want to initiate deletion through billing cancellation rather than doing it directly, and it gives a prerequisite (HOSTKEY_ALLOW_DESTRUCTIVE=1). However, it does not explicitly state when not to use it or point to any alternative sibling tools, so guidance is mostly implicit.

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_infoB

Обновить информацию о трафике S3-аккаунта (s3/update_traffic_info). Доступно только администраторам.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to run the operation.
account_idNoID S3-аккаунта (если требуется; уточняйте через s3_get_users)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already mark the call as not read-only and not destructive. The description adds one useful behavioral fact beyond annotations: the operation is restricted to administrators. It does not explain side effects, what 'updating traffic info' changes, or expected outcomes, so transparency is only partial.

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 clear sentence with the action front-loaded. It loses slight credit because the parenthetical endpoint '(s3/update_traffic_info)' merely repeats the tool name and adds no information.

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

Completeness3/5

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

For a simple 2-parameter, no-output-schema tool the description is minimally adequate: it names the action and admin requirement. However, it does not state what the operation does concretely or what a successful call returns, leaving some ambiguity for an agent deciding whether to invoke 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 confirm and account_id. The description itself adds no parameter detail; per the baseline rule, a 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 uses a specific verb and resource: 'Обновить информацию о трафике S3-аккаунта' (update S3 account traffic info), which names the operation and its target. It is distinct enough from the many S3 sibling tools (s3_get_users, s3_delete_account, etc.), though it does not explicitly contrast with any sibling.

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 only usage guidance is the authorization constraint 'Доступно только администраторам' (admins only), and the schema hint points to s3_get_users for resolving account_id. No explicit when-to-use/when-not-to-use or alternative tool is given, so the usage context is mostly implied.

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_deviceB
Destructive

Установить порядок загрузки сервера (eq/boot_dev): pxe — сетевая загрузка (шаг 3 переустановки), disk — загрузка с диска (шаг 6), cd — смонтированный ISO.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
mediaYesУстройство загрузки
confirmYesMust be true to run the operation.

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already classify this as a destructive, non-read-only operation, and the description adds little behavioral detail beyond explaining what each media option means. It does not disclose side effects, prerequisites, or post-conditions, such as whether the server must be powered off or whether the change takes effect immediately.

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 purpose and then maps each enum value to its meaning. There is no redundant text, and the structure is easy to parse.

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 covers all parameters and annotations indicate destructiveness, but the description lacks explicit usage guidance and doesn't state any prerequisites or consequences. For a destructive operation, the agent would benefit from more context about when to invoke it, though the step references provide some navigational hints.

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. The description adds extra meaning to the 'media' enum by explaining each value (pxe = network boot, disk = disk boot, cd = mounted ISO) and even references 'eq/boot_dev', which provides context beyond the schema's brief descriptions.

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 ('set server boot order') and lists the three allowed media values with their meanings (pxe, disk, cd), which clearly identifies the tool's purpose. It doesn't explicitly differentiate from sibling tools like request_rh_pxe_boot or create_pxe_config, so it's clear but lacks named sibling distinctions.

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 each media value should be used by referencing reinstallation steps (pxe=step 3, disk=step 6), but it doesn't explicitly state when to use this tool versus alternatives or provide exclusions. The context is present but not fully explicit.

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

set_main_ipA

Назначить основной IP-адрес сервера (ip/set_main), когда адресов несколько.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
mainYesIP-адрес, который станет основным
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, so the description's 'assign' action is consistent with a state change that is not destructive. The description adds the behavioral context that this is for multi-address scenarios, but it does not elaborate on side effects, reversibility, or authorization requirements. Given the annotations already cover the safety profile, the added value is modest but not trivial.

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 action, the resource, the API reference, and the condition of use. Every phrase earns its place, and the key 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 setter operation with four required parameters all documented in the schema, and no output schema, the description provides sufficient context: what it does and when to use it. It could potentially mention the need for confirmation, but that is already captured in the schema's 'confirm' parameter description. 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?

The schema description coverage is 100%, so all four parameters (id, ip, main, confirm) are already documented in the input schema. The description adds no additional meaning about the parameters beyond what the schema provides, which is 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 clearly states a specific action (assign the main IP address) on a specific resource (server), and includes the API endpoint identifier (ip/set_main). It also specifies the context ('when there are several addresses'), which distinguishes it from other IP-related operations like get_ip_info, update_ptr_record, or block_ip.

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 clear condition for use: 'when there are several addresses.' This implies the tool is used when a server has multiple IPs and one needs to be designated as primary. It does not explicitly name alternatives or exclusions, but the context is sufficient for an agent to decide when to invoke this tool versus other IP management tools.

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_ipA

Снять блокировку IP-адреса на сервере (net/unblock_ip).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
confirmYesMust be true to run the operation.

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 and destructiveHint=false, establishing that this is a non-read-only, non-destructive operation. The description adds the context that the operation targets a server ('на сервере'), which is minor value beyond annotations. It does not contradict annotations, but it does not disclose additional behaviors such as side effects or confirmation requirements (which are in the schema). Given the annotation coverage, 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, front-loaded sentence that directly states the action. It is concise and free of fluff, though it borders on restating the tool name with only the added 'на сервере' context. This is efficient but lacks the richness of a more structured 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 simple action tool with full schema coverage and annotations providing the safety profile, the description is mostly complete. It names the action and target. The absence of an output schema is acceptable for such a simple operation, and no critical information appears missing, though it does not mention any return value or error 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?

The input schema provides 100% coverage with descriptions for all three parameters (id, ip, confirm), including the requirement that confirm must be true. The description adds no additional parameter information, so it meets the baseline for high schema coverage without needing to compensate.

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 'Снять блокировку IP-адреса на сервере' clearly states the specific verb (снять/remove) and resource (IP-address on server), unambiguously identifying the tool as the inverse of the sibling block_ip. However, it does not explicitly name the sibling or differentiate beyond the inherent action, so it stops short of a perfect score.

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 used to unblock an IP that has been blocked on a server, but it does not explicitly state when to use it versus alternatives or mention any exclusions (e.g., 'use this when an IP is blocked'). The context is sufficient but not explicit, aligning with the 'implied usage' level.

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

unmount_isoA

Размонтировать ISO-образ с сервера (iso/unmount_iso). Асинхронная операция — вернётся callback-ключ для check_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
confirmYesMust be true to run the operation.

TDQS

A4/5.0
Behavior4/5

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

Beyond annotations (readOnlyHint=false, destructiveHint=false), the description discloses that the operation is asynchronous and returns a callback key for check_task. This is valuable behavioral context not covered by annotations. However, it doesn't elaborate on side effects (e.g., whether unmounting affects the server state) or error conditions, so it's good 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?

The description consists of two concise sentences with no filler. The main action is stated first, followed by the asynchronous behavior. Every word adds value, making it appropriately sized and 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?

Given the simple parameter set, full schema coverage, and absence of an output schema, the description covers the essential points: what it does and that it's async with a callback key. It could optionally mention prerequisites (e.g., ISO must be mounted), but that's fairly obvious. Overall, it's sufficient for an agent to call 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 both parameters (id and confirm) are already fully described in the schema. The description adds no extra meaning about how the parameters are used or formatted. With high schema coverage, the baseline is 3, and nothing more is contributed.

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 ('Unmount') and resource ('ISO image from server'), and it distinguishes this tool from its siblings like 'mount_iso' and 'upload_iso'. It also includes the API route 'iso/unmount_iso', removing any ambiguity about the intended 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 gives no explicit guidance on when to use this tool versus alternatives (e.g., mount_iso, delete_iso_image). It only states what it does, leaving the agent to infer that it's for detaching an ISO. There are no prerequisites or exclusions mentioned, so it's adequate but not thorough.

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

update_api_keyA

Изменить параметры API-ключа (api_keys/edit): имя, IP-белый список, уведомления, активность.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID ключа
ipNoБелый список IP
nameYesИмя ключа
activeYestrue — ключ активен
confirmYesMust be true to run the operation.
login_notify_methodYesСпособ уведомлений о входах
login_notify_addressNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate that this is a non-read-only, non-destructive operation. The description adds the endpoint and the list of changeable fields, but it does not disclose side effects, such as the requirement for confirm=true to apply changes (which is only in the schema) or potential impact on active sessions. It is adequate but not enriched 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 sentence that immediately states the verb, resource, and main modifiable fields. It is compact, front-loaded, and free of unnecessary words or repetitions.

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 7 parameters and no output schema, this description gives a sufficient overview of the purpose and main fields. The schema covers parameter details, and annotations cover the safety profile. It could mention the confirm requirement, but that is already in the schema, so the description is mostly 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%, so the schema already documents most parameters. The description repeats the names of key parameters (name, IP, notifications, activity) but adds no deeper semantic detail beyond the schema, and it omits mention of the confirm and login_notify_address 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 states a specific verb 'Изменить' (change) with the resource 'API-ключа' (API key) and enumerates the modifiable fields: name, IP whitelist, notifications, activity. This clearly distinguishes it from sibling operations like create_api_key, delete_api_key, and get_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 clearly implies the context for use: modifying parameters of an existing API key. It does not explicitly name alternatives or state exclusions, but the verb 'Изменить' and the resource scope make the use case unambiguous relative to create/delete operations.

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

update_billing_clientC

Изменить данные клиента в биллинге (whmcs/update_client): ФИО, компания, адрес, email, телефон и т.д.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to run the operation.
billing_cityNo
billing_emailNo
billing_stateNo
billing_countryNo
billing_address1No
billing_address2No
billing_lastnameNo
billing_postcodeNo
billing_firstnameNo
billing_companynameNo
billing_phonenumberNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false (mutation) and destructiveHint=false (non-destructive). The description adds little beyond confirming it is an update operation. It does not disclose side effects, whether confirmation is required, or any impact on related records. The mention of 'whmcs/update_client' hints at an external API call but provides no additional behavioral detail.

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 resource. It wastes no words and is easy to parse. While it could be structured with bullet points for clarity, it is appropriately sized for the information it conveys.

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

Completeness2/5

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

Given the tool has 12 parameters, only one required, and no output schema, the description should provide more context about required fields, how to identify the client, and expected results. It does not mention the mandatory 'confirm' parameter or any success/failure behavior. The description is too sparse to fully guide an agent in invoking this tool correctly.

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

Parameters2/5

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

Schema coverage is only 8% (only 'confirm' has a description). The description lists a few fields (ФИО, company, address, email, phone) but omits many parameters like city, state, country, postcode, address2. It uses 'etc.' which is vague and does not compensate for the lack of schema descriptions. The agent would be left guessing about the exact meaning of several parameters.

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

Purpose4/5

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

The description clearly states the tool's purpose: updating client data in the billing system (WHMCS). It specifies the resource (client) and the action (change), and lists example fields (ФИО, company, address, email, phone). It distinguishes from read-only siblings like get_billing_client by the verb 'change', though it does not explicitly differentiate from update_contact.

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 like update_contact or reset_billing_password. It does not mention prerequisites (e.g., client identification) or context in which it is appropriate. The intended usage is only implied by the name and description, leaving the agent to infer when this is the right choice.

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 контакта
confirmYesMust be true to run the operation.
password2NoНовый пароль контакта
contact_idYesID контакта
phonenumberNoТелефон (включает 2FA по SMS)

TDQS

A4/5.0
Behavior4/5

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

Description adds behavioral context beyond annotations by noting that specifying a phone enables 2FA via SMS. It also clarifies the scope as 'additional contact' (not primary), which is not in annotations. No contradiction with readOnlyHint=false or 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 a single, front-loaded sentence that lists the purpose and a key side-effect with no redundant details. It is appropriately sized and structured for quick parsing.

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

Completeness4/5

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

For an update tool with full schema coverage and no output schema, the description covers the main action and a critical side-effect (2FA). It doesn't mention required confirmation or error conditions, but those are documented in the schema; overall it is sufficient for an agent to understand the 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?

Schema description coverage is 100%, so the baseline is 3. The description reiterates email, password, and phone but adds no new meaning beyond the schema, except confirming the phone's 2FA behavior which is already in 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?

Description states 'Изменить дополнительный контакт' (update additional contact) and lists affected fields (email, password, phone). This clearly distinguishes it from sibling tools like add_contact or delete_contact, 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 Guidelines3/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 like add_contact or update_billing_client. The usage is implied as an update for existing contacts, but no exclusions or prerequisites are stated.

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

update_ptr_recordB

Обновить PTR-запись для IP-адреса (ip/update_ptr). Несколько записей передаются разделителем %0A.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID сервера
ipYesIP-адрес
ptrYesНовое значение PTR
confirmYesMust be true to run the operation.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, matching the 'update' action without contradiction. The description adds one behavioral detail beyond annotations: multiple records are passed with %0A separator. However, it does not clarify side effects, whether existing PTR records are replaced, or the role of the confirm flag, leaving a partially transparent picture for a mutating operation.

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 action and resource, then provides the useful multi-record delimiter note. There is no redundant or filler content, and it earns its place with both purpose and a parameter clarification.

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 4-required-parameter mutation tool with no output schema, the description covers the core action and the multi-record encoding, but leaves gaps: the purpose of the confirm flag is not explained, nor is the expected result or error behavior. The lack of return-value documentation is notable because no output schema exists, so the description could have carried more of 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 coverage is 100% with descriptions for all parameters, so the baseline is 3. The description goes beyond the schema by explaining that multiple records are transmitted using %0A as a delimiter, directly clarifying the intended format of the 'ptr' parameter. This adds meaningful semantic information about the parameter's value structure.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Обновить PTR-запись для IP-адреса' (update PTR record for IP address), which makes the action unambiguous. It does not explicitly differentiate from sibling tools like get_ptr_record or add_dns_record, but the resource and verb are sufficiently distinct. The parenthetical API name 'ip/update_ptr' reinforces the intent without fully distinguishing it from alternatives.

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 'to read a PTR record use get_ptr_record' or 'use add_dns_record for regular DNS records'. The only usable context is the API endpoint and the multi-record delimiter note, which is more about parameter usage than tool selection. No when-not or exclusionary conditions are given.

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

upload_isoB

Загрузить новый ISO-образ по URL (iso/upload). Доступно клиентам.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesПрямой URL ISO-образа
nameNoИмя образа в библиотеке
confirmYesMust be true to run the operation.

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 mutating but non-destructive operation. The description adds the client-availability constraint and the endpoint, but does not disclose side effects, confirmation behavior, or what happens on upload (e.g., whether it replaces an existing image). 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 a single short sentence that front-loads the action and resource, then adds the endpoint and availability. No wasted words, though it could have used the space to add usage guidance.

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 3-parameter upload tool with full schema coverage and no output schema, the description is minimally adequate. It identifies the action, resource, endpoint, and client availability, but lacks guidance on when to use it versus add_iso_image and what the response or side effects are.

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. The description adds no extra meaning beyond the endpoint context; it doesn't clarify the relationship between 'url' and 'name' or the role of 'confirm'. Baseline 3 is appropriate when the schema carries the 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 ('Загрузить' = upload) and resource ('новый ISO-образ по URL'), and includes the endpoint path (iso/upload). It clearly distinguishes the action from sibling tools like mount_iso, unmount_iso, and delete_iso_image, though it doesn't 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 says it is available to clients ('Доступно клиентам'), which gives some context on who may use it, but it does not state when to use this tool versus alternatives like add_iso_image or list_iso_images, nor does it mention prerequisites or exclusions.

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.1
    • 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

Many tools are distinct, but there are overlapping concepts like DNS zones vs. domains, and multiple tools for listing buckets (s3_get_buckets vs s3_get_buckets_via_queue). The sheer volume (132) increases the chance of misselection despite clear descriptions.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., get_invoice, create_api_key, delete_dns_record). However, there are inconsistencies like 'logout', 'port_on/off' vs 'power_on/off', and some tools use different verb forms (list vs get, create vs add) for similar operations.

Tool Count1/5

132 tools is extreme and overwhelming for an MCP server. Even a comprehensive hosting API would be better split into multiple focused servers. The count far exceeds practical usability and increases cognitive load for agents.

Completeness4/5

The tool surface covers a wide range of domains: server management, billing, DNS, S3, remote hands, and API key management. There is a raw API call tool for gaps, making the coverage quite comprehensive. Minor gaps exist (e.g., no direct server hostname update tool), but they are addressable.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers