Skip to main content
Glama
theYahia

@theyahia/voximplant-mcp

by theYahia

MCP-сервер для Voximplant — облачная телефония, звонки и SMS через ИИ

🌍 Часть WWmcp — коллекции из 46 MCP-серверов для развивающихся рынков (Россия, СНГ, MENA, Gulf, SE Asia, Africa). Единственная коллекция MCP, покрывающая не-западные API.

Если вы искали, как подключить Voximplant к нейросети, поднять историю звонков и записи разговоров или запустить обзвон и A2P-рассылку из чата — это оно. 21 инструмент и 2 скилла: звонки и их записи, SMS, сценарии VoxEngine, правила маршрутизации, очереди ACD/SmartQueue, телефонные номера и биллинг. Спрашиваете «сколько звонков потеряли вчера» — получаете цифру со ссылками на записи.

npm CI License: MIT

Установка

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

VOXIMPLANT_ACCOUNT_ID и VOXIMPLANT_API_KEY — в панели управления Voximplant (раздел API).

Аутентификация по api_key официально помечена как deprecated, но рабочая — её достаточно, если доступ к аккаунту есть только у вас. Современная альтернатива — service-account JWT (RS256); этот сервер использует классический account_id + api_key.

2. Подключите сервер

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "voximplant": {
      "command": "npx",
      "args": ["-y", "@theyahia/voximplant-mcp"],
      "env": {
        "VOXIMPLANT_ACCOUNT_ID": "your-id",
        "VOXIMPLANT_API_KEY": "your-key"
      }
    }
  }
}

Claude Code:

claude mcp add voximplant -e VOXIMPLANT_ACCOUNT_ID=your-id -e VOXIMPLANT_API_KEY=your-key -- npx -y @theyahia/voximplant-mcp

VS Code / Cursor:

{
  "servers": {
    "voximplant": {
      "command": "npx",
      "args": ["-y", "@theyahia/voximplant-mcp"],
      "env": {
        "VOXIMPLANT_ACCOUNT_ID": "your-id",
        "VOXIMPLANT_API_KEY": "your-key"
      }
    }
  }
}

Streamable HTTP:

npx @theyahia/voximplant-mcp --http
# Сервер: http://localhost:3000/mcp · health: http://localhost:3000/health · порт: PORT=8080

Related MCP server: VoIPbin MCP Server

Инструменты (21)

Инструмент

Описание

get_call_history

История звонков за период

start_call

Инициировать исходящий звонок по правилу (номер передаётся сценарию через customData)

get_acd_state

Состояние ACD-очередей: звонки в очереди, статусы операторов

get_sq_state

Текущее состояние SmartQueue-очереди

get_recordings

Ссылки на записи разговоров (и transcription_url) за период

get_record_storages

Список хранилищ записей

send_sms

Отправить SMS

get_sms_history

История SMS за период

get_a2p_sms_history

История доставки A2P-SMS

send_a2p_sms

⚠️ Массовая A2P-рассылка (до 100 номеров) — действие с оплатой

get_account_info

Информация об аккаунте (баланс, тариф). Секреты (api_key, callback_salt) скрыты

get_transaction_history

История биллинговых транзакций (расходы)

get_applications

Список приложений (опц. с правилами/сценариями)

get_rules

Правила маршрутизации приложения

get_phone_numbers

Телефонные номера аккаунта (поддержка SMS, привязка)

get_caller_ids

Caller ID и статус их верификации

get_queues

ACD-очереди (опц. с навыками и числом операторов)

get_skills

Каталог навыков ACD для маршрутизации

get_scenarios

Список сценариев VoxEngine

update_scenario

Обновить код/имя сценария VoxEngine

get_users

Список пользователей

Формат вывода: инструменты возвращают pretty-JSON ответа API; ошибки приходят как { "error": "..." } с флагом isError. Ответ get_account_info проходит строгий витлист — секретные поля (api_key, callback_salt) в него не попадают.

Скиллы (2)

Скилл

Описание

skill-call-history

Сводка истории звонков за последние 24 часа

skill-account-info

Информация об аккаунте Voximplant

Примеры

Покажи историю звонков за вчера
Отправь SMS на +79001234567
Что сейчас в ACD-очередях — кто свободен?
Покажи баланс и расходы за январь
Какие у меня номера с поддержкой SMS?
Обнови сценарий 123 — добавь логирование
Начни звонок на +79001234567 по правилу 456
Дай ссылки на записи звонков за вчера

WWmcp — связки с соседними серверами

Voximplant закрывает голос и SMS; соседние серверы из WWmcp дополняют сценарий:

Пример сценария: «Найди должников по платежам (yookassa), обзвони их голосом по сценарию (voximplant) и отправь SMS-напоминание тем, кто не ответил».

Разработка

npm install
npm run build      # компиляция в dist/ (тесты исключены)
npm run typecheck  # проверка типов, включая тесты
npm test           # vitest

Проверка живых предположений об API (имена методов, параметры) — в docs/VERIFICATION.md.

⭐ Поддержать

Если сервер полезен — поставьте звезду этому репозиторию и WWmcp. Это помогает другим найти коллекцию серверов для не-западных API.

Лицензия

MIT


Часть WWmcp · Telegram: @vhodvai

Available Tools

23 tools
get_a2p_sms_historyB

История доставки A2P-SMS с фильтрами по номерам, статусу и периоду.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
to_dateNoКонец периода (YYYY-MM-DD HH:mm:ss, UTC)
from_dateNoНачало периода (YYYY-MM-DD HH:mm:ss, UTC)
source_numberNoФильтр по номеру отправителя (SenderID)
delivery_statusNoФильтр по статусу доставки
destination_numberNoФильтр по номеру получателя

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the resource and filters, offering no information about side effects (e.g., read-only nature), pagination behavior, rate limits, or response format. This is a significant gap for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, tight sentence with no filler. It conveys the essential purpose efficiently and is appropriately sized for a straightforward history retrieval tool.

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

Completeness3/5

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

For a tool with 7 optional parameters and no output schema, the description is adequate but minimal. It does not mention that all filters are optional, nor does it describe the response structure or pagination defaults (though these are partially captured in the schema). An agent could call it correctly, but more context 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 all 7 parameters have individual descriptions. The tool description merely summarizes them as 'filters by numbers, status and period' without adding new semantics beyond what the schema already provides. Thus 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 clearly states the tool retrieves A2P-SMS delivery history with filters, which distinguishes it from the sibling get_sms_history by specifying the A2P type. However, it does not explicitly contrast with siblings, so it falls 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 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 like get_sms_history or send_a2p_sms. The description only states what it does, not when it should be chosen, leaving the agent to infer usage context.

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

get_account_infoA

Получить информацию об аккаунте Voximplant (баланс, тариф, лимиты). Секретные поля (api_key, callback_salt) скрыты из ответа.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that secret fields (api_key, callback_salt) are hidden, which is useful. However, it does not mention authentication requirements, rate limits, or any side effects (though it is likely read-only). The disclosure adds some value but is incomplete for a read operation without 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 brief, two sentences, with the main purpose front-loaded and the security detail as a secondary note. Every sentence contributes value, and there is no unnecessary 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?

The description is adequate for a simple parameterless get operation, covering what is returned and what is hidden. However, it does not address error handling or how this tool fits into the broader toolset. Given the many sibling tools, a brief mention of when to use this over others would improve completeness, but the lack of output schema is mitigated by the explicit field list.

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

Parameters4/5

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

There are no parameters, and the schema is empty with 100% coverage. The baseline for 0 parameters is 4; the description adds no parameter-specific information, which is acceptable given there are none. The schema already fully describes the input expectations.

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 ('account information'), and specifies the content (balance, tariff, limits). It distinguishes this tool from siblings like get_transaction_history or get_users by focusing on account-level settings, 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 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 get_transaction_history or get_call_history. The description only states what it does, leaving the agent to infer the appropriate context. Since there are many sibling tools, explicit exclusions or conditions would be valuable.

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

get_acd_stateB

Получить состояние ACD-очередей Voximplant (звонки в очереди, статусы операторов).

ParametersJSON Schema
NameRequiredDescriptionDefault
acd_queue_idNoФильтр по ID очереди ACD: число, список через запятую или 'any'. По умолчанию — все очереди.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It conveys that this is a state read operation and names the returned dimensions (queued calls and operator statuses), but it does not explicitly cover permissions, exact return shape, or any other behavioral constraints.

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-loads the action, and contains no filler; the parenthetical adds a compact clarification of the queue state. It could be improved with explicit usage guidance rather than more text.

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-optional-parameter state query, the description is minimally adequate and clarifies what 'state' means. However, since there is no output schema, some return-structure details such as counts, arrays, status codesses, or empty-result behavior are left unspecified.

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 single parameter is already fully described in the schema, including filtering by ID/list/'any' and the default of all queues. The description adds no extra parameter 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 clearly states the action and resource: retrieve the state of Voximplant ACD queues, and it gives concrete meaning for that state: calls in queue and operator statuses. It is distinguishable from list-type tools like get_sq/queues by the 'state' focus, though it does not explicitly name a competing 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?

There is no guidance about when to use this tool versus alternatives such as get_sq_state, get_queues, or get_call_history, and no prerequisites or conditions are mentioned. The intended use is only inferable from the name and brief description.

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

get_applicationsC

Список приложений Voximplant (опционально с правилами/сценариями).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
with_rulesNoВключить правила маршрутизации
application_idNoФильтр по ID приложения
with_scenariosNoВключить сценарии
application_nameNoФильтр по имени приложения

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states that the tool lists applications, but does not mention that it is a read-only operation, whether it has side effects, or any pagination or performance implications. The lack of safety or side-effect information is a significant gap for a tool that may be called by an agent without prior knowledge.

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, brief sentence that front-loads the main purpose. It is concise, but perhaps too terse – it omits any elaboration on usage, defaults, or behavior. It is not verbose, but the brevity sacrifices essential information for completeness.

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 6 parameters, no annotations, and no output schema, the description is insufficient. It fails to mention pagination defaults, filtering capabilities beyond rules/scenarios, or any return value specifics. An agent would have to rely entirely on the schema and might not know how to effectively use this listing tool beyond a trivial 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 minimal value by explicitly mentioning 'rules/scenarios', which maps to the with_rules and with_scenarios parameters, but that is also evident from the parameter descriptions. No additional semantics beyond what the schema already 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 states a specific verb ('list') and resource ('Voximplant applications'), and mentions optional inclusion of rules/scenarios. It clearly indicates what the tool does, but does not explicitly differentiate it from sibling tools like get_scenarios or get_rules, which are related but distinct resources.

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 any context, prerequisites, or exclusions. The agent is left to infer that this is for listing applications, but no explicit usage guidance is given.

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

get_caller_idsB

Список Caller ID аккаунта и статус их верификации.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
activeNoТолько активные/верифицированные
offsetNoСмещение (offset)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral burden. It implies a read-only list operation, which is helpful, but it does not disclose authentication requirements, rate limits, or any potential side effects (though likely none). It also does not state what happens when no caller IDs exist or how the verification status is represented, leaving some ambiguity.

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 directly states the tool's purpose. It is efficient and front-loaded with the key information, though it could be slightly more informative without becoming verbose.

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

Completeness3/5

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

Given the tool's low complexity (3 optional parameters, no output schema), the description covers the essential purpose but does not describe the return structure (e.g., array of objects with fields). Without an output schema, the agent must infer the return shape from the description, which is somewhat incomplete but acceptable for a straightforward list operation.

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

Parameters3/5

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

The input schema has 100% description coverage, so each parameter (count, active, offset) is already well-documented. The tool description adds no additional context about parameter semantics, such as how to combine filters or whether 'active' means 'verified'. Baseline 3 is appropriate since the schema does the heavy lifting.

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

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 resource ('Caller ID') and mentions the verification status, making the purpose clear. It does not explicitly differentiate from siblings like get_phone_numbers, but the resource is distinct enough that an agent can infer the tool's specific role.

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 any conditions, exclusions, or broader context. An agent would not know if this overlaps with get_phone_numbers or get_sms_history, and there is no explicit 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_call_historyB

Получить историю звонков Voximplant за период.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
to_dateYesКонец периода (YYYY-MM-DD HH:mm:ss, UTC)
from_dateYesНачало периода (YYYY-MM-DD HH:mm:ss, UTC)

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are present, so the description carries the burden of behavior. The 'get' verb implies a read-only operation, which is helpful, but the description doesn't disclose any explicit behavior such as pagination nad, ordering, or absence of side effects. It does add the period-scoping behavior, which is the main 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?

A single, efficient sentence in Russian with no filler. It states core purpose immediately and does not waste words, but it is slightly under-specified; extra context on what is included or excluded would raise the 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?

With 100% parameter schema coverage and a simple read-only operation, the description is almost sufficient. However, given no output schema, no annotations, and many sibling history tools, a bit more detail about the returned data or when to prefer this over get_sms_history would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all four parameters fully. The description only reinforces that the two date parameters define a period, adding no extra semantic 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 names the resource ('историю звонков' = call history) and the operation ('Получить' = get), with a period constraint. It is unambiguous about what is returned, though it does not explicitly distinguish itself from sibling tools like get_sms_history or get_transaction_history.

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 compared to alternatives. The description doesn't mention exclusions, prerequisites, or use cases, so an agent cannot infer when this should be chosen over other history/summary tools.

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

get_phone_numbersB

Список телефонных номеров аккаунта Voximplant (привязка, поддержка SMS, продление).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
country_codeNoКод страны (напр. RU)
sms_supportedNoТолько номера с поддержкой SMS
application_idNoФильтр по ID приложения

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. 'List...phone numbers' signals that this is a read-only inquiry, and the parenthetical adds some data-context detail. It still doesn't explain pagination behavior, response shape, or any account-level constraints such as permissions or rate limits.

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

Conciseness5/5

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

The description is a single, compact sentence. It front-loads the core action and resource, then adds a parenthetical that adds relevant scope. There is no waste or filler.

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 a simple list operation with fully described parameters, and the description conveys that it returns account phone numbers with some associated context such as SMS support and renewal. However, with no output schema and no annotations, it could be more explicit about what the returned records contain and how pagination works.

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 description adds minimal extra meaning beyond that; 'поддержка SMS' loosely maps to sms_supported, but it adds no meaningful semantics for count, offset, country_code, or application_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 states the action ('list') and the resource ('phone numbers of the Voximplant account') clearly in one sentence. It is not a mere tautology, though it does not explicitly differentiate itself from sibling tools such as get_sms_history or get_call_history.

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 explains when to choose this tool over alternatives, when not to use it, or any prerequisites. The parenthetical mentions features like SMS support and renewal, but does not connect them to filter parameters or intended use cases.

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

get_queuesB

Список ACD-очередей Voximplant (опционально с навыками и числом операторов).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
with_skillsNoВключить навыки очередей
application_idNoID приложения (обычно требуется API для скоупа очередей)
with_operatorcountNoВключить число операторов

TDQS

B3.3/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. 'List' indicates a read-only retrieval operation, and the optional flags signal that the response can be enriched, but the description does not discuss pagination behavior, rate limits, authentication, or whether application_id is required for scoping. Basic read-only transparency is present, yet key operational details remain implicit.

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, tight sentence without filler. It front-loads the core operation and resource, then compresses the optional capabilities into a short parenthetical.

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

Completeness3/5

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

With no output schema and no annotations, the description leaves the return structure unstated, and the role of pagination and application scoping is not described in the description. However, the schema covers all parameters and the tool has no required arguments, so the description is sufficient for a basic list operation but with real gaps around return and scoping context.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already explains all four parameters. The description's mention of skills and operator counts adds only a brief non-technical paraphrase of with_skills and with_operatorcount, rather than deeper 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 identifies the resource ('ACD queues') and the operation ('list') clearly, and it even notes the optional enrichments (skills and operator count). It is not fully specific enough to distinguish from siblings like get_acd_state or get_sq_state without checking those tools, but the resource name makes the general 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 Guidelines2/5

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

The description provides no guidance about when to choose this tool over sibling tools, nor does it state exclusions such as obtaining real-time ACD state from get_acd_state or heading to get_skills for standalone skill information. The usage context is only implied by the resource name.

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

get_recordingsA

Получить список записей разговоров за период. Возвращает URL для скачивания записи (и transcription_url, если транскрипция готова).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..100)
offsetNoСмещение (offset)
to_dateYesКонец периода (YYYY-MM-DD HH:mm:ss, UTC)
from_dateYesНачало периода (YYYY-MM-DD HH:mm:ss, UTC)
call_session_history_idNoID конкретной сессии для получения записи

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal that the tool returns a download URL and optionally a transcription_url when transcription is ready, which is useful. However, it does not mention pagination, error handling, or that it is a read-only operation, leaving some behavioral aspects unclear.

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 primary purpose first and then highlights key return values. It is concise with zero filler, making it easy for an agent to quickly grasp the tool's function.

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 there is no output schema, the description adequately compensates by naming the download URL and transcription_url as key return fields. It also implies a list response ('list of ... recordings'). While it doesn't detail the full response structure or pagination, these are partially covered by the schema parameters (count/offset). The coverage is good for a simple list-retrieval 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 schema description coverage is 100%, meaning every parameter is already documented in the input schema. The description adds minimal value beyond the schema—only reinforcing the 'period' association with from_date/to_date. It does not clarify count, offset, or call_session_history_id beyond their existing schema descriptions, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action: 'Get a list of call recordings for the period' (Получить список записей разговоров за период). It specifies the verb (get) and resource (list of call recordings) with a time-period qualifier. However, it does not explicitly distinguish itself from siblings like get_call_history or get_record_storages, so it misses the full 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 implies usage for retrieving recordings within a date range but provides no explicit guidance on when to use this tool over alternatives or when not to use it. No comparison to sibling tools or exclusions are mentioned, so it only weakly suggests the intended context.

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

get_record_storagesB

Список хранилищ записей разговоров.

ParametersJSON Schema
NameRequiredDescriptionDefault
record_storage_nameNoФильтр по имени хранилища записей

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only listing operation, but does not explicitly state that it is safe, nor does it describe any filtering behavior, pagination, or side effects. It gives the basic type of action (listing storages) but nothing about how the tool behaves beyond its name.

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 phrase with no unnecessary words. It is front-loaded with the core purpose. Every word earns its place, 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.

Completeness3/5

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

For a simple tool with one optional parameter and no output schema, the description is minimally adequate but leaves gaps. It does not state what fields each record storage contains, any default behavior (e.g., returns all storages), or the structure of the result. Since the output schema is missing, a bit more detail about the returned items would improve the agent's ability to use the result 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%, since the only parameter has a description: 'Фильтер по имени хранилища записей' (filter by record storage name). The tool description does not add any extra meaning to this parameter beyond what the schema already provides. The baseline of 3 is appropriate because the schema covers the parameter fully and the description merely in a similar way.

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, specific resource: 'Список хранилищ записей разговоров' (list of call recording storages), which names both the resource (storages) and the operation (list/get). It is distinct from siblings like get_recordings or get_call_history, though it does not explicitly name alternatives. This makes the purpose clear, but it is more of a noun phrase than an explicit action statement.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not indicate when to use this tool vs get_recordings, get_call_history, or other siblings. There is no mention of prerequisites, when not to use it, or related alternatives. The agent is left to infer from the name alone.

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

get_rulesB

Получить правила маршрутизации Voximplant для приложения.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
application_idYesID приложения

TDQS

B3.1/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden. It says 'get', implying a read operation, but does not explicitly state that it has no side effects, nor does it describe the return format or any pagination behavior (though the schema implies count/offset). The description is too minimal to establish behavioral transparency beyond the basic action.

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, directly to the point, with no wasted words. It is front-loaded with the action and resource, making it easy to scan.

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 retrieval tool with no output schema, the description is minimally sufficient: it tells the agent it will get routing rules. However, it does not describe the shape of the returned data or any caveats (e.g., large rule sets). The schema covers pagination, so the essential calling parameters are present, but the overall context is thin.

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 in the schema itself. The description adds nothing beyond the schema, which is acceptable baseline for full coverage, but does not enhance comprehension of parameter meanings.

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 (get) and the resource (Voximplant routing rules for an application). It distinguishes from sibling 'get' tools by specifying 'routing rules', which is a distinct concept from e.g. get_queues or get_acd_state. It lacks a mention of any alternative or sibling, 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. It does not mention the required application_id context or any scenario where this tool is preferred. The description is purely a statement of function, with no usage context or exclusions.

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

get_scenariosC

Получить список сценариев Voximplant.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
scenario_nameNoФильтр по имени сценария

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It only states 'get list' with no mention of side effects, permission requirements, pagination behavior, or response format. For a read operation, the lack of explicit read-only declaration is a gap.

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 front-loads the core purpose. There is zero fluff, and every word adds value. It is as short as possible while remaining informative.

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 description is minimal for a tool with 3 optional parameters, no output schema, and no annotations. It lacks information about pagination limits, filtering semantics, or expected response structure. An agent would need to open the schema to understand basic usage, but even then, broader context (e.g., what scenarios are) is absent.

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 each parameter has a description in the schema. The tool description adds no additional meaning about the parameters (e.g., how count/offset interact or how scenario_name filters). Baseline 3 applies because schema adequately documents the 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 a get operation on the resource 'list of scenarios' within the Voximplant domain. It is specific enough to distinguish from unrelated siblings like get_users or send_sms, but does not differentiate it from closely related scenario tools (e.g., update_scenario) beyond the verb.

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 vs alternatives. It does not mention filtering capabilities, pagination, or any conditions that would favor this tool over others. The agent is left to infer usage from the name alone.

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

get_skillsB

Каталог навыков (skills) ACD для маршрутизации.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
skill_nameNoФильтр по имени навыка

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Каталог' suggests a read-only listing, but the description does not explicitly state that, nor does it mention response contents, pagination behavior, authentication needs, or side effects. This is a significant gap for an unannotated tool.

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

Conciseness4/5

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

The description is a single short sentence with no filler; the resource and purpose are front-loaded. It is concise enough, though the brevity leaves behavioral and usage details unaddressed.

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 retrieval tool with zero required parameters and 100% schema coverage, the description is minimally workable. Still, there is no output schema, no annotation context, and no mention of response format or pagination, so an agent must make reasonable assumptions beyond 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 description coverage is 100%, so the schema already explains count, offset, and skill_name. The description adds no parameter-level details, but the high coverage makes the baseline score appropriate. It only provides loose context that these skills are relevant to routing.

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 clearly: 'Каталог навыков (skills) ACD для маршрутизации' (catalog of ACD routing skills). This makes the tool’s purpose inferable and distinguishes it from action-oriented sibling tools like send_sms or update_scenario. It does not name a sibling or use an explicit verb, so it is clear but not maximally differentiated.

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?

'Для маршрутизации' implies the tool is relevant when working with ACD routing/skills. However, the description does not explicitly say when to choose this over related siblings like get_acd_state, skill-account-info, or skill-call-history, and gives no exclusion or alternative guidance.

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

get_sms_historyB

Получить историю SMS-сообщений за период с фильтрами по номерам.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
to_dateYesКонец периода (YYYY-MM-DD HH:mm:ss, UTC)
from_dateYesНачало периода (YYYY-MM-DD HH:mm:ss, UTC)
source_numberNoФильтр по номеру отправителя
destination_numberNoФильтр по номеру получателя

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'get history', which implies a read operation, but it does not disclose pagination behavior, result shape, read-only side effects, timezone nuances, or limitations. It adds little beyond what the tool name already suggests.

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 filler. It states the core action and scope immediately, which is an economical structure.

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 moderate complexity (6 params) and full schema coverage, the description is minimally adequate for invoking the tool but omits contextual help such as the output shape, clarification of standard SMS vs A2P, and relationship to sibling get_a2p_sms_history. The agent may need to probe the API to learn expected return structure.

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 input schema already fully describes each parameter. The description rephrases the date range as 'period' and the number filters as 'фильтрами по номерам', but it does not add additional semantics such as numeric ranges, defaults, or format behavior that are not already in the schema.

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

Purpose4/5

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

The description states the verb/resource clearly: 'get SMS message history over a period with filters by numbers'. This is easy to parse and distinguishes from call-history siblings. However, it does not explicitly differentiate from the sibling get_a2p_sms_history, so it misses one point.

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. The description does not mention get_a2p_sms_history, send_sms, or any conditions that would select this tool over sibling tools. The agent must infer usage solely from the name and filters.

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

get_sq_stateC

Текущее состояние SmartQueue-очереди (операторы, задачи).

ParametersJSON Schema
NameRequiredDescriptionDefault
sq_queue_idYesID SmartQueue-очереди: число, список через запятую или 'any'
sq_queue_nameNoИмя SmartQueue-очереди (альтернатива id)
application_idYesID приложения

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of explaining the call's behavior. It suggests a read-only snapshot by saying 'current state' and mentions operators/tasks, but it never explicitly says it performs a read operation, whether side effects exist, what happens for not found queues, or what the response format is. For a tool with zero annotations, this leaves meaningful gaps.

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 phrase that names the resource and its contents: 'Current state of SmartQueue queue (operators, tasks)'. There is no fluff or irrelevant wording. It is front-loaded and short, though the brevity itself means a small amount of useful elaboration (e.g., a verb) could be included without becoming overlong.

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 defining the response shape, the description must at least convey what happens when the tool is called. It says it returns 'current state (operators, tasks)', but gives zero hints about the structure of those objects, the time horizon (is it real-time?), or any constraints. It also does not clarify the required combination of parameters or typical failure modes. In a set of many state/tool tools, this is underspecified.

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 gives descriptions for all three parameters, and schema coverage is reported as 100%—so the burden lies on the schema, not the tool description. The description adds nothing about how to pass parameters, their meaning, or any dependencies; but because the schema already includes the needed detail, the 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 the core function: getting the current state of a SmartQueue, and names the data it covers (operators and tasks). It goes beyond a mere restatement of the tool name, which adds specificity. However, it does not explicitly differentiate from siblings like get_acd_state, relying on the 'SmartQueue' qualifier to set it apart.

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, which conditions suit it, or what alternatives to prefer. The description is purely a statement of what it returns and omits any comparison to sibling tools such as get_acd_state or get_queues, so an agent must infer suitability from the name alone.

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

get_transaction_historyC

История биллинговых транзакций за период (расходы аккаунта).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)
to_dateYesКонец периода (YYYY-MM-DD HH:mm:ss, UTC)
from_dateYesНачало периода (YYYY-MM-DD HH:mm:ss, UTC)
transaction_typeNoФильтр по типу транзакции

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only operation with the word 'История' (history), but says nothing about pagination behavior, response format, account scoping, or any side effects. This is a significant gap for a financial/history tool.

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

Conciseness4/5

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

A single sentence with no wasted words, front-loads the domain and key qualifier. It is appropriately sized for a simple read tool, though it could have included a bit more context without becoming bloated.

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 5 params, no output schema, and many history-related siblings, the description is thin. It covers the core purpose and the date scoping, but omits usage guidance and behavioral details. It is minimally viable but not complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds only the 'period' concept, which loosely informs from_date/to_date, and 'account expenses' but nothing beyond the schema. It neither compensates nor adds meaningful parameter-level guidance.

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

Purpose4/5

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

The description identifies a clear resource ('billing transactions') and scope ('for a period', 'account expenses'). It distinguishes this from call/SMS history siblings by explicitly saying 'billing' and 'расходы аккаунта', though it does not name 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 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 instead of get_call_history, get_sms_history, get_account_info, or other siblings. The description only says what it does, not which situations call for it.

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

get_usersC

Получить список пользователей Voximplant.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoКоличество записей (1..200)
offsetNoСмещение (offset)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'get', implying a read operation, but does not mention pagination behavior, potential large result sets, rate limits, authentication requirements, or error handling. The agent gains no insight into operational characteristics beyond a basic fetch.

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 redundancy. It is front-loaded with the verb and resource, and every word earns its place. Although extremely sparse, conciseness is excellent.

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 simplicity of the tool (2 documented parameters, no output schema), the description is still incomplete. It fails to indicate the return format, any limits beyond parameter bounds, or pagination semantics. With no output schema, the agent is left to infer the response structure, which is a significant 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%, with clear descriptions for count and offset including defaults and constraints. The tool description adds no additional meaning about how these parameters affect behavior, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('get') and the resource ('list of users'), identifying it as a Voximplant operation. It is distinct from sibling tools that target other resources like skills, call history, or SMS. However, it lacks any additional context to differentiate it beyond the resource name, which is straightforward in this case.

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. There is no mention of use cases, prerequisites, or scenarios where this tool is preferred. While the purpose is obvious given the resource, the description offers no situational context or exclusions.

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

send_a2p_smsA

⚠️ ДЕЙСТВИЕ С ОПЛАТОЙ: массовая A2P-рассылка SMS (до 100 получателей) через зарегистрированный SenderID. Реально отправляет сообщения и тарифицируется — обязательно подтвердите номера и текст с пользователем перед вызовом, не вызывайте автоматически.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesТекст сообщения
src_numberYesЗарегистрированный SenderID / номер отправителя A2P
store_bodyNoСохранять тело сообщения в истории
dst_numbersYesСписок номеров получателей (до 100) в формате E.164

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the action incurs charges, actually sends messages, and requires user confirmation. It does not mention the return format or potential side effects like history storage (though store_body parameter hints at it), but for a billing-sensitive tool, the payment warning is strong behavioral transparency.

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, dense sentence that front-loads the critical payment warning, then specifies the action and constraints. Every element adds value—no fluff, no repetition of schema data. The warning pyramid (danger first, then specifics) is effective for an agent.

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 tool that performs a paid mass SMS send, the description covers the key actionable information: the billing implications, the need for explicit user confirmation, recipient limit, and the required context. There is no output schema, but the description doesn't need to explain return values for this use case. An agent can safely decide whether to call it and how to proceed with user confirmation.

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

Parameters3/5

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

All parameters have schema descriptions covering 100% of the schema. The description itself adds no additional parameter semantics beyond what the schema already provides. Per rubric, baseline 3 is appropriate when schema coverage is high and the description doesn't need to compensate.

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 ('mass A2P SMS distribution'), the resource (via registered SenderID), and a clear scope (up to 100 recipients). It distinguishes this from regular SMS by emphasizing the A2P channel and bulk nature, and the sibling 'send_sms' is implicitly differentiated by the mass vs. single-message context.

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

Usage Guidelines5/5

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

Explicitly provides when-to-use guidance: must confirm numbers and text with the user before calling, and explicitly forbids automatic invocation. It also implies this is a paid operation, which is critical context for when this tool should be chosen over non-billed alternatives.

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

send_smsC

Отправить SMS через Voximplant.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesНомер отправителя или буквенный sender ID
sms_bodyYesТекст сообщения
destinationYesНомер получателя в формате E.164, напр. +79001234567

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description only says 'Send SMS via Voximplant', which implies a mutation but does not mention side effects, permission requirements, rate limits, or any other behavioral traits. This is almost entirely uninformative for an agent assessing the safety or consequences of calling the tool.

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

Conciseness4/5

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

The description is a single concise sentence that does not waste words. It is front-loaded with the core action, but it is arguably under-specified rather than efficiently concise. It earns a 4 because it is short and clear, though it sacrifices substance for brevity.

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 simple tool with three required parameters and no output schema, the description is too sparse to provide contextual completeness. It fails to mention when to use this tool versus send_a2p_sms, any prerequisites (e.g., phone number format), or what happens after sending. Given sibling tools exist and no annotations help, this description leaves significant gaps in 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?

The input schema covers 100% of parameters with descriptions (source, destination, sms_body), including a format example for destination. The description adds no additional parameter information. Baseline of 3 is appropriate since the schema already documents the parameters effectively and the description does not need 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 clearly states the action (send SMS) and the resource (SMS via Voximplant), providing a specific verb and resource. However, it does not distinguish this from sibling tools like send_a2p_sms, which may have overlapping functionality. The purpose is clear but lacks sibling differentiation, hence a 4 rather than 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like send_a2p_sms or get_sms_history. The description merely states the action without any context, prerequisites, or exclusions. An agent would have to infer usage from the name alone, which is insufficient for deciding between this and similar tools.

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

skill-account-infoA

Получить информацию об аккаунте Voximplant: баланс, тариф, лимиты.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates a read operation with no side effects, but lacks disclosure on behavior such as data freshness, potential errors, or rate limits.

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

Conciseness5/5

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

Single sentence that is direct, front-loaded with verb and resource, and contains no extraneous information. Every word adds value.

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

Completeness4/5

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

Given no output schema, the description lists three key data categories, providing a good sense of the tool's return. However, it does not describe the response format or mention if additional fields are present.

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

Parameters4/5

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

No parameters exist, but the description adds meaning by specifying the returned data (balance, tariff, limits), which is valuable beyond the empty schema. Baseline for 0 parameters is 4.

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 Voximplant account information including balance, tariff, and limits. It distinguishes from siblings like get_account_info by listing specific attributes, but does not explicitly differentiate its scope from potentially similar 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 on when to use this tool versus alternatives like get_account_info or other sibling tools. The description provides no context about prerequisites or conditions for use.

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

skill-call-historyA

Получить сводку истории звонков за последние 24 часа.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It neither confirms that the operation is read-only nor describes any side effects, permissions, or limitations. The word 'summary' implies aggregation but is not explicit.

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 delivers the essential information without any redundancy. It is 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?

Given the tool has no parameters and no output schema, the description is minimally complete. However, it lacks context about what the summary includes (e.g., call counts, durations) and how it differs from get_call_history, which is a sibling tool. More detail would improve completeness.

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 baseline is 4. The description adds meaning by specifying the 24-hour window, which is not in 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 clearly states the verb 'get' and the resource 'summary of call history for the last 24 hours', providing a specific time constraint that distinguishes it from siblings like get_call_history which may be broader.

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 (e.g., get_call_history or get_active_calls). The description is too brief to provide usage context.

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

start_callA

Инициировать исходящий звонок через Voximplant по правилу маршрутизации. Номер назначения передаётся сценарию через customData — сценарий VoxEngine должен его обработать.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYesID правила маршрутизации (StartScenarios запускает его сценарий)
caller_idNoCaller ID — передаётся сценарию в customData (StartScenarios не имеет отдельного параметра caller_id).
destinationYesНазначение звонка (номер E.164, SIP URI или внутренний extension). Передаётся сценарию через customData: сценарий читает VoxEngine.customData() и инициирует звонок (callPSTN/callPBX/callSIP).
script_custom_dataNoПереопределить customData целиком. Если задано — destination/caller_id игнорируются.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It explains that the destination is passed via customData to the VoxEngine scenario, which must process it, and that script_custom_data can override. However, it does not disclose side effects (e.g., call cost, required permissions) or the expected outcome of the call initiation.

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 key data-flow detail. No redundant wording or filler. It is optimally concise 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?

For a tool that initiates a call, with no output schema and no annotations, the description is too sparse. It does not mention the return value (e.g., call ID, success status), error conditions, or any post-call behavior. An agent would be unsure what the tool actually returns or how to interpret the result.

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

Parameters4/5

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

Schema description coverage is 100%, so each parameter is documented in detail. The description adds value by explaining how parameters interrelate: destination and caller_id are transmitted via customData, and script_custom_data overrides them. This provides context beyond the individual parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool's action: initiating an outbound call via Voximplant using a routing rule. It is distinct from sibling tools, which are mostly get_* or send_sms operations. The purpose is unambiguous and the tool name is not merely restated.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus others, no mention of prerequisites (such as having a rule or scenario configured), and no exclusions. The description implies it is the tool for starting calls but does not help an agent decide between it and alternatives.

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

update_scenarioC

Обновить код или имя сценария VoxEngine. Позволяет агенту динамически менять логику звонка.

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptNoНовый JavaScript-код сценария VoxEngine
scenario_idYesID сценария Voximplant
scenario_nameNoНовое имя сценария (необязательно)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies mutation but does not state side effects, permission requirements, reversibility, or impact on ongoing calls. The claim about 'dynamically changing call logic' is vague and could even be misinterpreted as affecting live calls without qualification.

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 communicates the core action. It is not bloated, though it could be slightly better structured by front-loading the required parameter or adding a note about checking existing scenarios first.

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 annotations and no output schema, the description is under-specified. It does not mention that scenario_id is required, what happens to active calls using the old script, whether the change takes effect immediately, or any confirmation/response behavior. An agent might invoke it without understanding risks, making this incomplete for safe use.

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 have descriptive names and meanings in the schema. The description only mirrors the schema by mentioning 'code or name', without adding deeper relationships (e.g., whether script and scenario_name are mutually exclusive or how scenario_id is used). Since coverage is high, the baseline of 3 is appropriate, but the description adds minimal extra value.

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

Purpose4/5

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

The description clearly states the verb ('update') and the resource ('VoxEngine scenario'), and specifies what can be updated ('code or name'). It differentiates from sibling tools, which are mostly read-only getters, so the purpose is distinct and 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?

There is no explicit guidance on when to use this tool versus alternatives, nor any mention of prerequisites (e.g., retrieving the scenario first with get_scenarios). The phrase 'allows the agent to dynamically change call logic' gives a high-level use case but not concrete usage conditions 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. 21 tool updatesv2.0.0
    • Addedget_a2p_sms_history
    • Addedget_acd_state
    • Removedget_active_calls
    • Addedget_applications
    • Changedget_call_history5 fields changed
      • changedInput schema / properties / count / description
        Previous value: -"Количество записей"New value: +"Количество записей (1..200)"
      • changedInput schema / properties / from_date / description
        Previous value: -"Начало периода (YYYY-MM-DD HH:mm:ss)"New value: +"Начало периода (YYYY-MM-DD HH:mm:ss, UTC)"
      • changedInput schema / properties / offset / description
        Previous value: -"Смещение"New value: +"Смещение (offset)"
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • changedInput schema / properties / to_date / description
        Previous value: -"Конец периода (YYYY-MM-DD HH:mm:ss)"New value: +"Конец периода (YYYY-MM-DD HH:mm:ss, UTC)"
    • Addedget_caller_ids
    • Addedget_phone_numbers
    • Addedget_queues
    • Addedget_record_storages
    • Changedget_recordings5 fields changed
      • addedInput schema / properties / count / description
        Added value: +"Количество записей (1..100)"
      • changedInput schema / properties / from_date / description
        Previous value: -"Начало периода (YYYY-MM-DD HH:mm:ss)"New value: +"Начало периода (YYYY-MM-DD HH:mm:ss, UTC)"
      • addedInput schema / properties / offset / description
        Added value: +"Смещение (offset)"
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • changedInput schema / properties / to_date / description
        Previous value: -"Конец периода (YYYY-MM-DD HH:mm:ss)"New value: +"Конец периода (YYYY-MM-DD HH:mm:ss, UTC)"
    • Changedget_rules3 fields changed
      • changedInput schema / properties / count / description
        Previous value: -"Количество правил"New value: +"Количество записей (1..200)"
      • changedInput schema / properties / offset / description
        Previous value: -"Смещение"New value: +"Смещение (offset)"
      • addedInput schema / properties / offset / minimum
        Added value: +0
    • Changedget_scenarios3 fields changed
      • changedInput schema / properties / count / description
        Previous value: -"Количество сценариев"New value: +"Количество записей (1..200)"
      • changedInput schema / properties / offset / description
        Previous value: -"Смещение"New value: +"Смещение (offset)"
      • addedInput schema / properties / offset / minimum
        Added value: +0
    • Addedget_skills
    • Changedget_sms_history5 fields changed
      • addedInput schema / properties / count / description
        Added value: +"Количество записей (1..200)"
      • changedInput schema / properties / from_date / description
        Previous value: -"Начало периода (YYYY-MM-DD HH:mm:ss)"New value: +"Начало периода (YYYY-MM-DD HH:mm:ss, UTC)"
      • addedInput schema / properties / offset / description
        Added value: +"Смещение (offset)"
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • changedInput schema / properties / to_date / description
        Previous value: -"Конец периода (YYYY-MM-DD HH:mm:ss)"New value: +"Конец периода (YYYY-MM-DD HH:mm:ss, UTC)"
    • Addedget_sq_state
    • Addedget_transaction_history
    • Changedget_users3 fields changed
      • changedInput schema / properties / count / description
        Previous value: -"Количество пользователей"New value: +"Количество записей (1..200)"
      • changedInput schema / properties / offset / description
        Previous value: -"Смещение"New value: +"Смещение (offset)"
      • addedInput schema / properties / offset / minimum
        Added value: +0
    • Addedsend_a2p_sms
    • Changedsend_sms5 fields changed
      • changedInput schema / properties / destination / description
        Previous value: -"Номер получателя"New value: +"Номер получателя в формате E.164, напр. +79001234567"
      • addedInput schema / properties / destination / minLength
        Added value: +1
      • addedInput schema / properties / sms_body / minLength
        Added value: +1
      • changedInput schema / properties / source / description
        Previous value: -"Номер отправителя"New value: +"Номер отправителя или буквенный sender ID"
      • addedInput schema / properties / source / minLength
        Added value: +1
    • Changedstart_call5 fields changed
      • changedInput schema / properties / caller_id / description
        Previous value: -"Номер в Caller ID (если не указан — берётся из правила)"New value: +"Caller ID — передаётся сценарию в customData (StartScenarios не имеет отдельного параметра caller_id)."
      • changedInput schema / properties / destination / description
        Previous value: -"Номер назначения для звонка"New value: +"Назначение звонка (номер E.164, SIP URI или внутренний extension). Передаётся сценарию через customData: сценарий читает VoxEngine.customData() и инициирует звонок (callPSTN/callPBX/callSIP)."
      • addedInput schema / properties / destination / minLength
        Added value: +1
      • changedInput schema / properties / rule_id / description
        Previous value: -"ID правила маршрутизации для звонка"New value: +"ID правила маршрутизации (StartScenarios запускает его сценарий)"
      • changedInput schema / properties / script_custom_data / description
        Previous value: -"Кастомные данные для сценария VoxEngine"New value: +"Переопределить customData целиком. Если задано — destination/caller_id игнорируются."
    • Changedupdate_scenario1 field changed
      • changedInput schema / properties / script / description
        Previous value: -"Новый JavaScript код сценария VoxEngine"New value: +"Новый JavaScript-код сценария VoxEngine"
  2. 13 tool updatesv1.2.3
    • First observedget_account_info
    • First observedget_active_calls
    • First observedget_call_history
    • First observedget_recordings
    • First observedget_rules
    • First observedget_scenarios
    • First observedget_sms_history
    • First observedget_users
    • First observedsend_sms
    • First observedskill-account-info
    • First observedskill-call-history
    • First observedstart_call
    • First observedupdate_scenario

TDQS

C2.8/5.0

Scored across 23 tools

Disambiguation2/5

There is direct overlap between get_account_info and skill-account-info, which appear to expose the same account information, and get_call_history and skill-call-history are also very similar. Additionally, get_acd_state, get_sq_state, and get_queues all touch queue/state concepts and may be confused without reading carefully.

Naming Consistency3/5

Most tools follow a clear get_* pattern, with action verbs like send_, start_, and update_ for mutations. However, skill-account-info and skill-call-history break the convention using hyphenated noun phrases, creating a noticeable inconsistency in an otherwise predictable naming scheme.

Tool Count3/5

23 tools is on the heavy side and borders on overwhelming for a single MCP server. The breadth is somewhat justified by Voximplant's wide platform surface, but duplicate account-info and call-history tools inflate the count without adding real capability.

Completeness2/5

The tool surface is heavily read-oriented: most resources are queryable, but mutation coverage is sparse. There is no create/delete/update for users, phone numbers, queues, rules, or scenarios beyond update_scenario, and no way to manage recordings or caller IDs, so agents cannot perform full lifecycle operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers