Skip to main content
Glama

Server Details

Hosted MCP server for the Wavix telecom platform: SMS, voice, 2FA, SIP, numbers, 10DLC, CDRs.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Wavix/wavix-mcp-server
GitHub Stars
3
Server Listing
Wavix

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.4/5 across 122 of 122 tools scored. Lowest: 2/5.

Server CoherenceA
Disambiguation4/5

Tools are organized by resource with a clear action suffix (create/list/get/update/delete), making most purposes distinct. However, with 122 tools, some pairs like `cdrs_list` vs `cdrs_list_all` or `ten_dlc_brand_campaigns_list` vs `ten_dlc_campaigns_list` could cause confusion without careful reading of descriptions.

Naming Consistency5/5

All tool names follow a consistent `resource_action` snake_case pattern (e.g., `api_keys_create`, `call_control_answer`, `ten_dlc_brands_list`). Verbs are standardized across the set, with only a few exceptions like `check` or `nudge` that still fit the verb-first style. No mixed casing or inconsistent separators.

Tool Count1/5

At 122 tools, this is an extremely large surface that overwhelms the typical MCP agent's ability to select the right tool. Even though the count reflects the full Wavix API, the sheer number far exceeds the 50+ threshold for 'extreme mismatch' and is impractical for most use cases.

Completeness4/5

The tool set covers a broad range of communications features: numbers, calls, messages, billing, CDRs, sub-accounts, 10DLC compliance, speech analytics, and WebRTC. Missing operations like `sub_accounts_delete` or a 2FA service management endpoint are minor gaps that can be worked around via portal or other tools, but overall lifecycle coverage is strong.

Available Tools

122 tools
api_keys_activateAInspect

Activates an API key. Once activated, the API key can be used for authentication again.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAPI key ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNo
Behavior2/5

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

No annotations are provided, so the description must carry the burden. It discloses the primary effect but not whether activation is idempotent, what happens if the key is already active, or any permission requirements. This lacks sufficient behavioral detail for a state-changing operation.

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

Conciseness5/5

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

Two short sentences, information-dense and front-loaded. The first sentence states the action; the second clarifies the outcome. No wasted words.

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

Completeness3/5

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

For a simple one-param tool, the description is adequate but minimal. It doesn't address edge cases (already active, nonexistent id) or prerequisites. While output schema exists, the description could benefit from a note about idempotency or typical use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 'id' parameter is fully described in the schema ('API key ID'), so the description adds no additional param semantics. With schema coverage at 100%, the baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the action ('Activates an API key') and the effect ('can be used for authentication again'). It distinguishes from sibling tools like api_keys_deactivate and api_keys_create by specifying the reactivation purpose.

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

Usage Guidelines3/5

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

The description implies usage for re-enabling a previously deactivated key via the word 'again', but it does not explicitly state when to use this tool vs. alternatives. No exclusions or alternative tools are mentioned, leaving the guidance at an implied level.

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

api_keys_createBInspect

Creates an API key. Optional IP restrictions can be configured to limit access.

ParametersJSON Schema
NameRequiredDescriptionDefault
callsNoAccess call records and active calls, and control live call actions such as starting, answering, ending, audio playback, DTMF, streaming, and transcription requests.
labelNoAPI key label.
trunksNoView, create, update, and delete SIP trunks and their settings.
two_faNoView 2FA service details and verification logs, trigger OTPs by voice or SMS, and validate verification codes.
accountNoView and update account profile information and timezone.
billingNoAccess invoices, balance, payment methods, usage reports, and billing settings, including payment method updates.
numbersNoView, buy, release, and configure phone numbers, browse inventory, and manage the cart.
messagesNoAccess message history and Sender IDs, send messages, manage opt-outs, and create or delete Sender IDs.
webhooksNoList, create, and delete webhooks.
campaignsNoView campaign analytics and Sender ID or Brand status, schedule bulk voice or SMS campaigns, register Brands, and create short links.
is_activeNoIndicates whether the API key should be activated upon creation.
validatorNoView number validation results and trigger single or bulk validation or HLR lookup requests.
embeddableNoManage widget tokens, including listing, viewing, creating, updating, and deleting them.
recordingsNoList, download, and delete call recordings.
subaccountsNoManage subaccounts: list and view them, create, update, and suspend them.
permitted_ipsNoList of permitted IP addresses for this API key. Each must be a valid IPv4 address. Required when `is_restriction` is true.
is_restrictionNoIndicates whether to restrict API key access by IP address. When enabled, only requests from IP addresses listed in `permitted_ips` are allowed.
is_scopes_enabledNoWhen `true`, scope fields below are enforced. When `false` (default), the key has full access. Omitted scope fields default to `{ allow: none }`, so with `is_scopes_enabled: true` and no scopes set the key has no access.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesAPI key ID.
callsYesAccess call records and active calls, and control live call actions such as starting, answering, ending, audio playback, DTMF, streaming, and transcription requests.
labelYesAPI key label.
valueYesAPI key value.
trunksYesView, create, update, and delete SIP trunks and their settings.
two_faYesView 2FA service details and verification logs, trigger OTPs by voice or SMS, and validate verification codes.
accountYesView and update account profile information and timezone.
billingYesAccess invoices, balance, payment methods, usage reports, and billing settings, including payment method updates.
numbersYesView, buy, release, and configure phone numbers, browse inventory, and manage the cart.
messagesYesAccess message history and Sender IDs, send messages, manage opt-outs, and create or delete Sender IDs.
webhooksYesList, create, and delete webhooks.
campaignsYesView campaign analytics and Sender ID or Brand status, schedule bulk voice or SMS campaigns, register Brands, and create short links.
is_activeYesIndicates whether the API key is active.
validatorYesView number validation results and trigger single or bulk validation or HLR lookup requests.
created_atYesCreation date and time in ISO 8601 format.
embeddableYesManage widget tokens, including listing, viewing, creating, updating, and deleting them.
recordingsYesList, download, and delete call recordings.
subaccountsYesManage subaccounts: list and view them, create, update, and suspend them.
last_used_atYesTimestamp of the most recent authenticated request made with this key.
permitted_ipsYesList of permitted IP addresses. If `is_restriction` is false, an empty list means no IP restrictions. If `is_restriction` is true, an empty list prevents all requests.
is_restrictionYesIndicates whether IP restrictions are enabled. When enabled, the API key works only from IP addresses in `permitted_ips`.
is_scopes_enabledYesWhen `true`, the key is restricted to the permissions defined in the scope fields below. When `false`, the key has full access.
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only states creation and IP restriction capability. It does not mention that the key/secret is typically shown only once, that this is a long-lived write operation, or any authentication/permission requirements.

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

Conciseness5/5

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

The description is two sentences and front-loaded with the primary action. The second sentence about IP restrictions is relevant and earns its place without redundancy.

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

Completeness3/5

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

An output schema exists and the input schema is fully self-documenting, which lowers the burden on the description. However, the description lacks usage alternatives and critical behavioral notes (e.g., full access when scopes are disabled), leaving it adequate but not fully complete given the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds a minimal paraphrase of permitted_ips and is_restriction ('IP restrictions'), but does not meaningfully extend beyond the schema's already detailed 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 'Creates an API key' with a specific verb and resource, distinguishing it from siblings like api_keys_delete or api_keys_list. The additional mention of optional IP restrictions adds scope without confusion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any mention of prerequisites or post-creation steps. The agent must infer usage solely from the tool 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.

api_keys_deactivateAInspect

Deactivates an API key. Once deactivated, the API key cannot be used for authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAPI key ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNo
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses a key behavioral outcome: after deactivation, authentication fails. However, it does not mention reversibility (via reactivation) or any permission requirements, leaving room for more 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?

One succinct sentence, front-loaded with the action, followed immediately by the consequence. Every word earns its place with no redundancy.

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

Completeness4/5

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

The tool is simple (single parameter, output schema exists), and the description covers purpose and post-condition. It does not mention reactivation via a sibling, but given low complexity, it is nearly complete.

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

Parameters3/5

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

Schema coverage is 100% for the single 'id' parameter, and the description adds no additional meaning beyond what the schema's 'API key ID' already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Deactivates an API key') with a specific verb and resource, distinguishing it from siblings like api_keys_activate and api_keys_delete. The consequence ('cannot be used for authentication') adds further clarity.

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

Usage Guidelines4/5

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

The description implies when to use it (to disable an API key) and the effect, but does not explicitly contrast with alternatives like api_keys_delete or api_keys_activate. Sibling names provide context, but the description itself lacks explicit when/when-not guidance.

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

api_keys_deleteAInspect

Deletes an API key. This action is permanent.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAPI key ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNo
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It explicitly states that the action is permanent, which is a critical side-effect warning. However, it does not mention other relevant behaviors such as idempotency, effects on actively used keys, or what happens if the key does not exist.

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

Conciseness5/5

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

The description is extremely concise: two short sentences that deliver the core action and the essential permanence warning. Every word earns its place with no redundancy or filler.

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

Completeness4/5

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

Given the simplicity of the tool (one parameter, output schema present), the description covers the main purpose and a critical caveat. It could be more complete by mentioning side effects or prerequisites, but for a simple delete, it is largely sufficient.

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

Parameters3/5

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

The schema fully documents the single parameter 'id' as 'API key ID.' The description adds no additional meaning or usage details beyond what the schema already provides. With 100% schema coverage, the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Deletes') and the resource ('an API key'), with an additional warning that the action is permanent. This distinguishes it from sibling tools like api_keys_deactivate, which implies a softer or reversible action.

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

Usage Guidelines3/5

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

The description implies when to use the tool (when you want to permanently delete an API key), but does not explicitly mention alternatives or when not to use it. It does not contrast with api_keys_deactivate, which might be a reasonable alternative for temporary disabling.

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

api_keys_listAInspect

Returns a list of API keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoLabel to filter API keys. Partial match supported.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 states only that the tool returns a list, with no mention of pagination, rate limits, filtering behavior beyond the schema (though the schema does mention label partial match), or confirmation that this is a read-only operation.

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

Conciseness5/5

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

The description is a single sentence of six words, front-loaded with the core action. Every word is necessary and there is no filler or redundant information.

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

Completeness4/5

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

For a simple list tool with one fully documented optional parameter and an output schema, the minimal description is largely sufficient. However, it could have mentioned that the list can be filtered via the label parameter, even though that is in the schema. Overall, the description is adequate given the low complexity.

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

Parameters3/5

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

The input schema has 100% coverage, with the single optional parameter 'label' already described as 'Label to filter API keys. Partial match supported.' The description adds no extra meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Returns a list of API keys' uses a specific verb (Returns) and resource (list of API keys), clearly distinguishing it from sibling tools like api_keys_activate, api_keys_create, api_keys_deactivate, and api_keys_delete, which are all mutation operations.

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

Usage Guidelines3/5

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

The description implies usage through its verb: you call this tool when you need to retrieve API keys. However, it provides no explicit guidance on when to use it versus alternatives, nor any exclusions or preconditions, so it falls short of a 4 but goes beyond having no guidance at all.

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

billing_invoices_downloadAInspect

Get a download URL for a billing invoice PDF.

Returns {download_url, content_type, status_code, note} instead of the binary PDF stream. Fetch download_url to obtain the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/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 transparently discloses a key behavioral trait: the tool returns a dict with download_url, content_type, status_code, and note rather than the binary PDF, and instructs the agent to fetch the download_url. This adds meaningful context beyond the schema.

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

Conciseness5/5

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

The description is two sentences: first states the purpose, second explains the return format and next step. It is concise, front-loaded, and contains no filler.

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

Completeness4/5

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

For a simple one-parameter tool with an output schema, the description covers the essential contextual points: what the tool does, what it returns, and what to do with the result. It is slightly incomplete in not explaining parameter semantics or error/note details, but overall sufficient for a tool of this complexity.

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

Parameters2/5

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

Schema description coverage is 0% and the only parameter (id) is not mentioned in the description. The description does not clarify that id is the invoice identifier, leaving the agent to infer from the tool name. The description fails to add meaning beyond the raw schema.

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

Purpose5/5

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

The description uses a specific verb+resource ("Get a download URL for a billing invoice PDF") and clearly distinguishes this tool from the sibling billing_invoices_list by focusing on downloading a specific invoice's PDF rather than listing invoices.

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

Usage Guidelines3/5

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

The description implies when to use this tool (when you need a download URL for an invoice PDF) but does not explicitly state when not to use it or name alternative tools. The phrase "instead of the binary PDF stream" gives some context but stops short of clear usage guidance.

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

billing_invoices_listBInspect

Returns a paginated list of financial statements.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to retrieve.
per_pageNoNumber of records per page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It only mentions pagination, omitting details like default page size, maximum per_page, ordering, authorization scope, or whether only certain invoice states are returned. The output schema exists but is separate from the description.

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

Conciseness5/5

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

The description is a single, concise sentence with no filler. Every word contributes to the core purpose, and it is front-loaded with the action. This is an appropriate size for such a simple list operation.

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

Completeness3/5

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

The tool is simple and has an output schema, so the description is minimally adequate. However, it lacks context about the invoice scope (e.g., only unpaid, all invoices) and fails to distinguish from billing_transactions_list, leaving some ambiguity that is not resolved by the sparse description or annotations.

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

Parameters3/5

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

Schema description coverage is 100% with clear descriptions and examples for both page and per_page. The description adds no extra parameter semantics beyond the word 'paginated', which is already implied. Baseline of 3 applies because the schema handles parameter meaning.

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

Purpose4/5

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

The description 'Returns a paginated list of financial statements' uses a specific verb and resource, clearly indicating a list operation for billing invoices. It does not explicitly differentiate from siblings like billing_transactions_list or billing_invoices_download, and 'financial statements' is slightly vague, but the tool name clarifies the resource.

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 mention when to use this tool versus billing_transactions_list or billing_invoices_download, nor does it offer any context about filtering, sorting, or prerequisites. An agent would have no reason to prefer this over a sibling.

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

billing_transactions_listCInspect

Returns a paginated list of financial transactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to retrieve.
typeNoFilter by transaction type.
to_dateYesEnd date in `YYYY-MM-DD` format.
paymentsNoIndicates whether to include account top-ups only.
per_pageNoNumber of records per page.
from_dateYesStart date in `YYYY-MM-DD` format.
details_containsNoTransaction details for filtering.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 does convey the read-only nature (returns a list) and pagination, but it omits scope (main account vs sub-accounts), pagination behavior (defaults/limits), and what counts as 'financial transactions'. With 7 parameters, this is thin disclosure.

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

Conciseness4/5

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

A single efficient sentence with the verb front-loaded and zero filler. It is appropriately concise, though it leans toward under-specification rather than a balanced description.

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

Completeness3/5

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

The output schema covers return values and the input schema is thorough, lightening the description's load. However, it lacks usage context, sibling differentiation, and any behavioral detail beyond pagination. It is adequate for a simple list tool but has clear gaps given 7 parameters and no annotations.

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

Parameters3/5

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

Schema description coverage is 100%—all 7 parameters have descriptions, including the rich type enum mapping for all transaction types. The description itself adds no parameter information, but per the baseline rule for high coverage, 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 'Returns a paginated list of financial transactions' uses a specific verb (returns) and clearly identifies the resource (financial transactions) with a notable attribute (paginated). However, it does not distinguish from similar siblings like sub_accounts_transactions_list or billing_invoices_list, which could cause scope confusion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention billing_invoices_list for invoices, sub_accounts_transactions_list for sub-accounts, or any prerequisites or use cases.

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

buy_cities_listAInspect

Returns a list of cities for countries where has_provinces_or_states is false.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry ID.
text_enabled_onlyNoIndicates whether to return only cities with text-enabled numbers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries full behavioral burden. It reveals the `has_provinces_or_states` filter but does not disclose that a specific country must be supplied via the required `country` parameter, nor does it mention the `text_enabled_only` behavior. It also leaves ambiguity whether it returns cities across all matching countries or only for the given country.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no waste. It immediately states the return type and the key filter, making it easy to scan and understand.

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 too brief for full completeness. It creates ambiguity by saying 'for countries' (plural) while the schema requires a single country ID. It also does not mention the optional `text_enabled_only` parameter or provide any guidance relative to sibling tools. Although an output schema exists, the description should clarify the required country scope to avoid misinterpretation.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well-documented ('Country ID' and 'Indicates whether to return only cities with text-enabled numbers'). The description adds no additional parameter context, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Returns a list of cities') and the specific resource: cities for countries where `has_provinces_or_states` is false. This is a specific verb+resource that distinguishes it from sibling tools like `buy_region_cities_list` or `buy_countries_list`.

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

Usage Guidelines3/5

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

The description implies usage context: use this tool for countries without provinces/states. However, it does not explicitly mention when to use it versus alternatives like `buy_region_cities_list` or `buy_countries_list`, nor does it state exclusions or prerequisites.

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

buy_countries_listAInspect

Returns a list of countries where phone numbers are available.

ParametersJSON Schema
NameRequiredDescriptionDefault
text_enabled_onlyNoIndicates whether to return only countries with text-enabled phone numbers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Returns' implies a read-only operation, but no additional behavioral details are disclosed (e.g., pagination, filtering behavior, or the meaning of 'available'). The description is not misleading but lacks depth beyond the obvious read-only nature.

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

Conciseness5/5

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

The description is a single concise sentence: 'Returns a list of countries where phone numbers are available.' It is front-loaded with the action and resource, contains no filler, and every word contributes to meaning.

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

Completeness4/5

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

For a simple list tool with one optional parameter and an output schema, the description adequately conveys the tool's function. It could mention the relationship to sibling tools (e.g., countries as a prerequisite for regions/cities), but the basic functionality is fully described.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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% because the only parameter 'text_enabled_only' has a description in the schema. The tool description itself does not mention this parameter, but since the schema fully explains it, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool returns a list of countries where phone numbers are available. The verb 'Returns' and resource 'countries' specify the exact purpose, and it distinguishes itself from siblings like buy_cities_list and buy_regions_list by focusing on countries.

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

Usage Guidelines3/5

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

The description implies usage when a list of available countries is needed, but provides no explicit guidance on when to use this tool versus alternatives like buy_cities_list or buy_regions_list. There is no mention of exclusions or prerequisites, so guidance is minimal.

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

buy_numbers_listAInspect

Returns a paginated list of phone numbers available for purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity ID.
pageNoPage number to retrieve.
countryYesCountry ID.
per_pageNoNumber of records per page.
text_enabled_onlyNoIndicates whether to return only text-enabled phone numbers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states that the result is paginated, but does not explicitly say it's a read-only operation, what side effects (if any) exist, or any constraints beyond the parameters. No contradiction with annotations since none are provided.

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

Conciseness5/5

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

The description is a single, clear sentence that does not waste words. It is front-loaded with the core action and resource, making it easy to parse.

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

Completeness4/5

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

The tool is a simple list operation with a complete input schema and an existing output schema, so the description doesn't need to explain return values. The main gap is lack of usage guidance, but given the simple nature and structured fields, the description is mostly sufficient.

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

Parameters3/5

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

The input schema has 100% parameter descriptions, so the schema already covers all parameter semantics. The description adds no additional meaning about parameters beyond mentioning pagination, which is already implicit in the page/per_page fields.

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 returns a paginated list of phone numbers available for purchase. This distinguishes it from sibling tools like buy_cities_list or my_numbers_list by explicitly mentioning the purchase context and the listing action.

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

Usage Guidelines3/5

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

The usage is implied by the name and description, but there is no explicit guidance on when to use this tool versus alternatives like my_numbers_list (existing numbers) or buy_countries_list (countries for purchasing). No exclusions or alternative tools are mentioned.

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

buy_region_cities_listAInspect

Returns a list of cities in the specified region for countries where has_provinces_or_states is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYesRegion ID.
countryYesCountry ID.
text_enabled_onlyNoIndicates whether to return only cities with text-enabled numbers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It discloses the conditional behavior and return type, but does not mention side effects, error handling, or authentication. For a simple read-only list operation, this is acceptable but minimal.

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

Conciseness5/5

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

The description is a single sentence that front-loads the action and resource, with no filler or redundant detail.

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

Completeness4/5

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

For a simple list tool with an output schema, the description covers the core operation and the key condition. It could mention text_enabled_only or error scenarios, but these are adequately handled by the schema and output schema.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds relational context by tying country and region together and explaining the condition on has_provinces_or_states, which goes beyond the schema's individual field descriptions.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and resource ('a list of cities in the specified region') and adds a decisive condition ('for countries where has_provinces_or_states is true'). This clearly distinguishes it from sibling tools like buy_cities_list and buy_regions_list.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool: only for countries with provinces or states. However, it does not explicitly name alternative tools or state when not to use it, though the condition effectively serves this purpose.

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

buy_regions_listAInspect

Returns a list of regions (states or provinces) for countries where has_provinces_or_states is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry ID.
text_enabled_onlyNoIndicates whether to return only regions with text-enabled numbers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It discloses a key behavioral condition (only returns regions for countries where has_provinces_or_states is true) and states it returns a list. It does not cover edge cases like invalid country IDs, empty results, or pagination, but for a simple read-only list tool this is acceptable yet not exhaustive.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the action and key condition without redundant wording. Every word contributes directly to understanding the tool's purpose.

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

Completeness4/5

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

With an output schema present and only two parameters, the description covers the essential scope: regions, the country filter, and the conditional availability based on has_provinces_or_states. It could have briefly pointed to buy_countries_list to identify eligible countries, but overall it is sufficient for the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100%: both 'country' and 'text_enabled_only' are already well-described in the input schema. The tool description adds no additional parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool returns a list of regions (states or provinces), with a specific condition (only for countries where has_provinces_or_states is true). The verb 'Returns' and resource 'regions' make the purpose concrete, and the condition helps differentiate from related list tools like buy_countries_list or buy_cities_list, though no sibling tool is explicitly named.

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

Usage Guidelines3/5

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

The description implies the tool should be used only for countries that have provinces or states, and the required 'country' parameter reinforces that. However, it does not explicitly mention alternatives or provide when-not-to-use guidance relative to sibling tools such as buy_region_cities_list.

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

call_control_answerBInspect

Answers an inbound call. Optionally initiate media streaming upon answering.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
stream_urlNoWebSocket URL to stream the call.
stream_typeNo
call_recordingNoIndicates whether the call should be recorded.
stream_channelNo
call_transcriptionNoIndicates whether the call should be transcribed after it ends.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
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 states the core action and optional streaming, but omits side effects, error conditions, call lifecycle behavior, and the existence of recording/transcription options. This is a significant gap for a call-routing 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?

The description is two sentences with the primary action front-loaded and the optional behavior in the second sentence. Every word is informative, and there is no filler or redundancy.

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's moderate complexity (6 parameters, streaming modes, recording/transcription toggles), the description is underspecified. It fails to explain when streaming is appropriate, how parameters interact, or the expected preconditions (e.g., call must be incoming and unanswered). The output schema exists but does not compensate for the lack of invocation context.

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

Parameters3/5

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

The input schema already contains detailed descriptions for all parameters, including enum-specific behavior for stream_type and stream_channel. The tool description adds no parameter-specific meaning beyond the generic mention of 'media streaming', so it provides minimal value over the schema.

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

Purpose5/5

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

The description uses the specific verb 'Answers' and identifies the resource as 'inbound call', clearly distinguishing it from sibling tools like call_control_create or call_control_audio_play. It also mentions the optional streaming behavior, making the tool's scope unambiguous.

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

Usage 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 call_control_streams_create or call_control_audio_play. There is no mention of prerequisites, call state requirements, or exclusions, leaving the agent to infer usage only from the tool's name and purpose.

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

call_control_audio_playBInspect

Plays audio in an active call.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
audio_fileYesURL of the audio file to play

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without mentioning prerequisites (e.g., active call required), side effects (e.g., what happens if audio already playing), or failure behavior. This is a significant gap for a tool that plays media in a call.

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

Conciseness5/5

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

The description is a single sentence with zero wasted words. It is front-loaded and appropriately sized for a simple tool.

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

Completeness2/5

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

Despite full schema coverage, the description lacks crucial context such as prerequisites (active call), behavior on invalid input, or interaction with existing audio streams. With no annotations, the description should provide more behavioral completeness for a 2-parameter tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (uuid and audio_file). The description adds no extra semantic meaning beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description 'Plays audio in an active call' uses a specific verb (plays), identifies the resource (audio), and specifies the context (active call). It clearly distinguishes from sibling tools like call_control_audio_stop by stating the action directly.

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

Usage Guidelines3/5

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

The phrase 'in an active call' implies the tool should be used when an active call exists, but there is no explicit guidance on when to use this vs. call_control_audio_stop or other call control tools. Usage is implied rather than stated.

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

call_control_audio_stopAInspect

Stops audio playback in an active call.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
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 only states the basic action without mentioning edge cases (e.g., what happens if no audio is playing), idempotency, error conditions, or prerequisites.

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

Conciseness5/5

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

One concise sentence with no wasted words. It is front-loaded and every word earns its place, making it easy to parse quickly.

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

Completeness3/5

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

For a simple one-parameter tool, the description covers the core action. However, with no annotations and minimal context about when to use it or expected behavior, it is only minimally complete for an AI agent to invoke correctly.

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

Parameters3/5

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

The schema already describes the single parameter (uuid: 'Call ID.') with 100% coverage. The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('stops') and resource ('audio playback in an active call'), clearly distinguishing it from sibling tools like call_control_audio_play. It tells the agent exactly what the tool does.

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

Usage Guidelines3/5

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

The description implies usage during an active call where audio is playing, but does not explicitly state when to use it versus alternatives like call_control_audio_play or other call_control tools. It provides no exclusions or alternative recommendations.

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

call_control_collectBInspect

Collects DTMF input in an active call.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
promptNoPrompt to play before collecting digits. Play a prerecorded audio file or use Wavix Text-To-Speech.
timeoutNoTimeout for digit collection in seconds.
max_digitsNoMaximum number of digits to collect.
max_attemptsNoMaximum number of attempts.
termination_characterNoDTMF character that ends input collection.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
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 only states the basic action, omitting details about call blocking, timeout handling, max attempts, termination behavior, or side effects on the call.

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

Conciseness5/5

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

The description is a single clear sentence with no unnecessary words, front-loading the primary action. It is appropriately concise for stating the tool's core purpose.

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?

Though the schema documents all parameters and an output schema exists, the description lacks contextual completeness for a complex call-control tool. It does not explain when to use it in a call flow, what happens after collection, or how it interacts with other call actions.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter described in the schema. The description adds no parameter semantics beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Collects') and resource ('DTMF input'), and clarifies the context ('in an active call'). This clearly distinguishes it from sibling call control tools like call_control_audio_play or call_control_answer.

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 during an active call when DTMF input is needed, but provides no explicit guidance on when to use this tool vs alternatives, no prerequisites, and no exclusions.

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

call_control_createBInspect

Starts an outbound call.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesDestination number in E.164 format
tagNoCall metadata
fromYesCaller ID. Must be an active or verified phone number in your account.
timeoutNoThe ring timeout, in seconds, before the call is considered unanswered.
recordingNoSpecifies whether to record the call
callback_urlYesThe callback URL where Wavix sends the call status updates
voicemail_detectionNoSpecifies whether the AMD is turned on for the call

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNoDestination number
tagNoCall metadata
fromNoCaller ID
uuidNoCall ID
directionNoCall direction - inbound or outbound
event_timeNoDate and time of the latest event
event_typeNoThe latest call event
call_startedNoDate and time when the call started
call_answeredNoDate and time when the call was answered
event_payloadNoEvent-specific data
call_completedNoDate and time when the call ended
machine_detectedNoIndicates whether the call was answered by an answering machine
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 'Starts an outbound call' and fails to mention side effects, async callback behavior, billing implications, permissions, or call lifecycle, which are significant for a call-control mutation.

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, well-formed sentence that immediately conveys the core action. It contains no filler or redundant content, making it highly concise and front-loaded.

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

Completeness2/5

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

Despite having an output schema and a rich input schema, the tool is a complex call-control action with asynchronous behavior (callback_url), optional recording, and voicemail detection. The description does not explain call lifecycle, prerequisites, or operational context, leaving significant gaps beyond what the schema covers.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no parameter-level meaning, but the schema's per-field descriptions are detailed, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource: 'Starts an outbound call.' This clearly distinguishes the tool from siblings like call_control_answer, call_control_get, and call_control_update, and leaves no ambiguity about what the tool does.

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

Usage 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, nor does it mention prerequisites or exclusions. It only implies use for initiating outbound calls, without contrasting with call_control_answer or other call-control tools.

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

call_control_deleteBInspect

Ends an active call.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. 'Ends an active call' does not explain whether the action is irreversible, what side effects occur (e.g., on recordings or billing), or how errors are handled.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the verb and object. There is no filler, repetition, or unnecessary detail.

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

Completeness3/5

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

The tool is simple with one parameter and an output schema, so the description covers the core action. However, it lacks important context such as preconditions and side effects, making it only minimally complete rather than robust.

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

Parameters3/5

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

The schema already fully documents the single 'uuid' parameter as 'Call ID' with 100% coverage. The description adds no new parameter semantics beyond referring to an active call, so it meets the baseline for full schema coverage.

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

Purpose5/5

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

The description 'Ends an active call' uses a specific verb and resource, making the tool's purpose immediately clear. It distinguishes itself from sibling call-control tools like call_control_answer or call_control_update, which have different actions.

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

Usage 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 state when to use this tool versus alternatives, nor does it mention prerequisites or conditions like the call needing to be active.

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

call_control_getCInspect

Returns a call.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
callYes
successYesIndicates whether the request was successful.
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. 'Returns a call' only implies a read operation and adds no information about error handling, permissions, or output specifics. It provides minimal value beyond the tool name.

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

Conciseness3/5

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

The description is a single short sentence, making it concise without wordiness. However, it is under-specifying, lacking useful details that would help an agent, so it is not as effective as a more informative but still concise description.

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

Completeness3/5

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

For a simple one-parameter getter with an output schema, 'Returns a call' provides minimum viable information. However, it misses context such as identifying the call by UUID (though present in schema) and could benefit from a note distinguishing it from call_control_list.

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

Parameters3/5

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

Schema description coverage is 100%, with the uuid parameter described as 'Call ID.' The description does not add any parameter information beyond the schema, so the baseline score of 3 applies.

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

Purpose4/5

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

The description 'Returns a call' clearly states the verb (returns) and resource (a call), indicating this tool retrieves a single call. However, it does not explicitly distinguish from sibling tools like call_control_list, which also relates to calls, so it lacks sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for retrieving a single call by UUID, nor does it reference call_control_list for multiple calls or any other exclusions.

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

call_control_listBInspect

Returns a list of active calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
callsYesList of calls
successYesIndicates whether the request was successful.
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. It only states the return type and basic scope but doesn't disclose pagination, ordering, data freshness, or any caveats. As a read operation, it likely has no side effects, but the description doesn't explicitly confirm this.

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 with no extraneous words. It is appropriately minimal for a simple list operation.

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

Completeness3/5

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

The tool is simple with no parameters and has an output schema, so the description doesn't need to cover much. It states the basic purpose but leaves questions about what constitutes an 'active call' and possible pagination unanswered, making it adequate but not rich.

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

Parameters4/5

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

The tool has zero parameters, so the description doesn't need to elaborate on parameter semantics. The baseline is 4 for no-parameter tools, and the description is consistent.

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 returns a list of active calls, using a specific verb and resource. It distinguishes from sibling tools like call_control_get by focusing on listing active calls rather than retrieving a single call, though it doesn't explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any use cases, conditions, or distinctions from other call control tools.

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

call_control_streams_createCInspect

Starts call media streaming.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
stream_urlYesWebSocket URL for call streaming
stream_typeYes
stream_channelYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates that the request was successful
stream_idNoStream ID
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for disclosing behavior. 'Starts call media streaming' implies a state change but does not mention that it creates a stream resource, requires an existing call, or has any side effects or failure modes. This is minimal transparency for a mutation-like operation.

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

Conciseness3/5

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

The description is a single, brief sentence, which is concise and front-loaded. However, it is under-specified rather than efficiently informative; it does not contain enough content to be highly useful, but it is not verbose either.

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

Completeness2/5

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

Despite having an output schema, the description is incomplete in context. It does not mention that streaming applies to an active call, that a WebSocket URL is required, or describe the oneway/twoway distinction. Given the tool's complexity and the absence of annotations, more context is needed for confident invocation.

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

Parameters2/5

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

The description adds no parameter-level meaning beyond the schema. Schema coverage is only 50%, so the description should compensate but does not. It fails to explain how uuid, stream_url, stream_type, and stream_channel relate to the streaming action, leaving the agent to rely solely on the schema's 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 'Starts call media streaming' uses a specific verb ('Starts') and resource ('call media streaming'), clearly distinguishing it from sibling tools like call_control_streams_delete and call_control_audio_play. It accurately and succinctly states the tool's purpose.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool, prerequisites (e.g., an active call), or how it compares to alternatives like call_control_audio_play. It is a single statement with no contextual framing, leaving the agent to infer usage from the name and schema.

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

call_control_streams_deleteCInspect

Stops call media streaming.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
stream_uuidYesStream ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits, but it only states the primary effect. It doesn't mention whether the operation is reversible, whether it requires an active stream, or any error conditions. This is minimal for a destructive operation.

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

Conciseness4/5

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

The description is a single, concise sentence with no wasted words. It is appropriately sized for a simple operation, though it could benefit from additional context without becoming verbose.

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?

While an output schema exists (so return values aren't needed), the description is missing critical context such as whether the stream must exist, idempotency behavior, or related resources. The operation is simple, but the sparse description leaves gaps for an agent.

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

Parameters3/5

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

The input schema has 100% coverage with clear descriptions for both parameters ('Call ID.' and 'Stream ID.'). The description adds no parameter-specific meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description 'Stops call media streaming' clearly specifies the action (stops) and the resource (call media streaming), distinguishing it from the sibling 'call_control_streams_create' which starts streaming. It avoids tautology by explaining the effect rather than just repeating the 'delete' in the name.

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, nor any preconditions or exclusions. It simply states the action, leaving the agent to infer usage from the name.

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

call_control_updateAInspect

Updates an active call. Only the tag field can be modified.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesCall metadata.
uuidYesCall ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYesIndicates whether the request was successful.
Behavior4/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. It proactively states a key constraint ('Only the `tag` field can be modified') and a precondition ('active call'), which goes beyond what the schema reveals. It does not disclose error behavior or permissions, but for a simple update tool this is a reasonable level of 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 extremely concise and front-loaded, using only two short sentences. Every word contributes meaning, with no filler or redundant information. It clearly states the primary action and the critical limitation.

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

Completeness4/5

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

Given the tool's simplicity (2 required parameters, no nested objects) and the presence of an output schema, the description is largely complete. It covers the essential purpose and the main behavioral constraint. It omits potential error modes, but for a trivial update operation, this is acceptable and the output schema handles return value expectations.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying that the `tag` parameter is the sole field that can be updated and that `uuid` refers to an active call. This supplements the somewhat vague schema descriptions ('Call metadata', 'Call ID') with practical usage semantics.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb ('Updates'), identifies the resource ('an active call'), and differentiates it from sibling tools by noting the only modifiable field ('Only the `tag` field can be modified'). This distinguishes it from other call_control_* tools like answer, create, or delete.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool (on active calls) and implicitly implies that it is for updating a call's tag. However, it does not explicitly mention when not to use it or name alternative tools, though the sibling list makes the distinction obvious.

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

call_recording_deleteBInspect

Deletes a call recording.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRecording ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request succeeded.
Behavior2/5

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

With no annotations, the description carries full burden. It only states 'deletes' without disclosing irreversibility, permissions, or side effects, which are critical for a destructive operation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no unnecessary words. It conveys the core action efficiently.

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

Completeness3/5

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

The tool is simple with a complete schema and output schema, but the description lacks any note about permanence or consequences of deletion. It is minimally complete but could benefit from explicit behavioral 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 coverage is 100% and the 'id' parameter is documented. The description adds no additional parameter semantics, so baseline 3 applies.

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

Purpose5/5

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

The description clearly states the specific action (Deletes) and resource (call recording), distinguishing it from sibling tools like call_recording_get and call_recording_list.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description simply states the action without usage context.

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

call_recording_getAInspect

Get a download URL for a call recording audio file.

Returns {download_url, content_type, status_code, note} instead of the binary audio stream. Fetch download_url to obtain the MP3.

ParametersJSON Schema
NameRequiredDescriptionDefault
call_uuidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description takes on the full burden and transparently discloses that the tool returns a dict with download_url, content_type, status_code, and note instead of the binary audio, and instructs to fetch download_url to obtain the MP3. It provides useful behavioral context beyond the schema.

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

Conciseness5/5

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

Two sentences, no filler, front-loaded with the primary purpose and followed by return details. Every sentence earns its place.

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

Completeness5/5

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

For a simple one-parameter read tool with an output schema, the description covers the purpose, return shape, and next step to obtain the audio file. It is complete enough for an agent to select and invoke correctly.

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

Parameters3/5

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

The only parameter, call_uuid, is not described in the schema (0% coverage). The tool description implies it identifies the call recording, but doesn't explicitly explain its format or provenance. This partially compensates for the schema gap but could be more explicit.

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

Purpose5/5

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

The description uses a specific verb 'Get' and resource 'call recording audio file' and clarifies it returns a download URL, distinguishing it from sibling tools like call_recording_list and call_recording_delete.

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

Usage Guidelines4/5

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

The description implies the use case: when you need a download URL for a call recording rather than the binary stream. It doesn't explicitly name alternatives or exclusion criteria, but the context is clear enough.

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

call_recording_listBInspect

Returns a paginated list of call recordings.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoDestination phone number for filtering. Full or partial input accepted.
fromNoOriginating phone number for filtering. Full or partial input accepted.
pageNoPage number to retrieve.
to_dateNoEnd date in `YYYY-MM-DD` format.
per_pageNoNumber of records per page.
call_uuidNoCall ID for filtering.
from_dateNoStart date in `YYYY-MM-DD` format.
sip_trunksNoList of SIP trunk logins to filter outbound calls.

Output Schema

ParametersJSON Schema
NameRequiredDescription
invalidNoAn invalid recording filter response
paginationNo
recordingsNo
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only mentions pagination, but omits whether this is a safe read operation, any permission requirements, default sorting, or how it behaves without filters. This is insufficient for a list tool with multiple optional parameters.

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

Conciseness5/5

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

The description is a single sentence that is direct and free of fluff. It front-loads the core purpose and does not waste words.

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

Completeness2/5

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

Despite having 8 parameters (all optional) and an output schema, the description fails to clarify the default behavior (e.g., returns all recordings when no filters are applied), ordering, or typical use cases. It is too sparse for a tool of this complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 even though the description adds no parameter information. Each parameter already has a clear description in the schema, so the tool description does not need to repeat them.

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 'Returns a paginated list of call recordings' uses a specific verb ('Returns') and clearly identifies the resource ('call recordings') and mode ('list'). It distinguishes itself from sibling tools like call_recording_get and call_recording_delete by emphasizing the list operation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as call_recording_get or cdrs_list. There are no exclusions or scenarios described, leaving the agent to infer usage solely from the tool name.

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

call_webhooks_createAInspect

Creates a call webhook. Wavix sends POST callbacks for on-call and post-call events.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebhook URL to send call events to.
event_typeYesAllowed values: `on-call`, `post-call`. - `on-call`: Sends real-time status updates when a call starts, is answered, and ends. - `post-call`: Sends a callback after the call ends with disposition, duration, and cost.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesWebhook URL
successYes
event_typeYesType of call events
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 the tool results in POST callbacks for specific events, which is useful behavioral context. However, it does not address potential issues like duplicate webhook URLs, authorization requirements, or idempotency, leaving significant gaps for a creation tool.

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

Conciseness5/5

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

The description is only two sentences, front-loads the action, and avoids redundancy. Every word earns its place, making it highly concise and well-structured.

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

Completeness4/5

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

Given the tool has only two parameters, both fully documented in the schema, and an output schema exists to explain return values, the description is nearly complete. It lacks only minor context about prerequisites or edge cases, but the simplicity of the tool makes the description adequate.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already provides detailed descriptions for both 'url' and 'event_type', including enum values with explanations. The description adds no additional parameter semantics beyond what is in the schema, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Creates a call webhook.' It also clarifies the purpose by stating that Wavix sends POST callbacks for 'on-call' and 'post-call' events, distinguishing this from sibling tools like call_webhooks_delete and call_webhooks_list.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool (to set up call event notifications) and is implicitly differentiated from siblings through the verb 'Creates' versus 'Delete' and 'List'. However, it does not explicitly mention when not to use it or alternative approaches, so it stops short of full guidance.

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

call_webhooks_deleteCInspect

Deletes a call webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_typeYesUse `post-call` to stop receiving post-call callbacks. Use `on-call` to stop receiving real-time call status updates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNo
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, but it only states the action without mentioning side effects, irreversibility, required permissions, or response structure. The schema's parameter description hints at stopping callbacks, but that is not in the tool description itself.

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

Conciseness4/5

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

The description is a single, concise sentence that is front-loaded and easy to parse. While it is efficient, it is over-minimal and could incorporate more context without sacrificing conciseness, so it does not earn a perfect score.

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

Completeness2/5

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

For a deletion tool, the description is underdeveloped. It does not explain what happens upon deletion, whether the operation is idempotent, or what the output schema contains. Although the schema clarifies the parameter meanings, the overall tool contract is incomplete without behavioral 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 schema provides 100% coverage of the single parameter 'event_type' with detailed explanations for each enum value, so the description does not need to add parameter semantics. The description adds no extra meaning beyond the schema, meeting the baseline for high schema coverage.

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

Purpose4/5

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

The description uses the specific verb 'Deletes' and identifies the resource 'call webhook', making the action clear and distinguishing it from sibling tools like call_webhooks_create and call_webhooks_list. However, it does not elaborate on what a call webhook is or mention the event types affected, which slightly reduces clarity.

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 or how it relates to alternatives. There is no mention of prerequisites, exclusions, or when to prefer other webhook tools. The only usage hints come from the parameter descriptions in the schema, which are not part of the tool's prose description.

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

call_webhooks_listAInspect

Returns a list of configured call webhooks. Wavix sends POST callbacks for on-call and post-call events.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesList of call webhooks configured for the phone number.
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states that the tool returns a list and explains the callback events, but it does not disclose additional behavioral traits such as pagination, ordering, authentication requirements, or side effects. It adds some context but not rich behavioral detail.

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

Conciseness5/5

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

The description is two concise sentences. The first sentence front-loads the primary action and resource, and the second adds relevant domain context about callback events without unnecessary detail. Every word earns its place.

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

Completeness4/5

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

The tool is simple (no parameters, output schema present). The description adequately conveys the tool's purpose and the domain events, making it sufficient for an agent to select and invoke it. It could explicitly mention that the operation is read-only, but that is implied by 'Returns a 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?

The input schema has zero parameters with 100% schema description coverage, so there are no parameter semantics for the description to clarify. Per the rubric, a baseline of 4 applies for no-parameter tools.

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

Purpose5/5

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

The description clearly states the action ('Returns a list') and the resource ('configured call webhooks'), distinguishing it from sibling create/delete operations. The added context about POST callbacks for 'on-call' and 'post-call' events reinforces what the webhooks are for, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool (when you need to list configured call webhooks), and the sibling names make it distinct from create/delete. However, it does not explicitly state when not to use it or mention alternatives, so it falls short of explicit exclusion guidance.

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

cart_addBInspect

Adds phone numbers to the cart.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesList of phone numbers to add to the cart.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the action without revealing idempotency, duplicate handling, whether a cart is created if missing, or any other side effects. This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single, clear sentence with no filler words. It is front-loaded with the action verb and resource, making it easy to parse quickly.

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

Completeness3/5

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

The tool is simple with one fully documented parameter and an output schema, which lowers the burden. However, the description omits important behavioral context such as whether the operation is additive, how duplicates are handled, or if a cart is implicitly created. It is minimally adequate but not thorough.

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

Parameters3/5

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

The schema fully describes the single 'ids' parameter with a list of phone numbers and an example, covering 100% of parameter documentation. The description adds no additional parameter semantics 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.

Purpose5/5

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

The description clearly states the verb 'Adds' and the resources 'phone numbers' and 'cart', distinguishing it from sibling tools like cart_remove, cart_get, and cart_checkout. The action is specific 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?

The description gives no guidance on when to use this tool versus alternatives. It does not mention related cart operations or any preconditions, leaving the agent 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.

cart_checkoutAInspect

Checks out the cart. Activation and monthly fees are deducted from the account balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesList of phone numbers to check out from the cart.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description carries the burden of disclosing behavior. It explicitly states that activation and monthly fees are deducted from the account balance, which is a significant financial consequence not evident from the tool name or schema. However, it does not cover potential failure modes such as insufficient balance or whether the operation is reversible.

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 highly concise with two sentences: the first states the primary purpose, and the second adds a key consequence. Every word earns its place, and the main action is front-loaded.

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

Completeness4/5

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

The tool has a simple one-parameter schema and an output schema (as indicated by context signals), so the description does not need to explain return values. It covers the main effect (checkout) and a critical consequence (fee deduction). Missing details like prerequisites or failure handling, but these are less critical given the simplicity and available schema.

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

Parameters3/5

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

The input schema covers 100% of the parameter documentation, with 'ids' described as 'List of phone numbers to check out from the cart.' The description adds no additional parameter meaning, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses the specific verb phrase 'Checks out the cart', clearly identifying the action of finalizing a purchase. This distinguishes it from sibling tools like cart_add, cart_get, and cart_remove, which handle other cart operations.

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

Usage Guidelines3/5

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

The description implies the tool is used to complete a cart purchase by noting that fees are deducted, but it does not explicitly state when to use it versus alternatives or provide exclusions. It offers context that this step has financial consequences, but no direct when-to-use guidance.

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

cart_getCInspect

Returns the cart.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 only states that the cart is returned, which implies a read operation, but it does not mention authentication requirements, error conditions, whether a new cart is created if none exists, or any side effects. This is insufficient 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.

Conciseness2/5

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

While the description is extremely short, it is redundant with the tool name and does not add value. It is under-specified rather than concise, as it fails to provide any context or detail that an agent would find useful.

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 zero-parameter getter, the description is minimally complete in stating the action, but it lacks essential context about which cart is returned, when the tool is appropriate to call, and any prerequisites or implications. The presence of an output schema reduces the need to explain return values, but the description still does not provide enough context for correct invocation.

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

Parameters4/5

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

The tool has zero parameters and the schema coverage is 100%. The description adds no parameter information, but none is needed. A baseline score of 4 is appropriate for a parameterless tool.

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

Purpose2/5

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

The description 'Returns the cart' is essentially a restatement of the tool name 'cart_get'. It provides no additional specificity about which cart is returned, whose cart, or any contextual qualifiers. While it identifies the action and resource, it does not distinguish itself beyond the name.

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 the sibling tools cart_add, cart_remove, and cart_checkout. An agent would have to infer usage solely from the tool name and sibling context, as the description offers no alternatives or exclusions.

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

cart_removeBInspect

Removes phone numbers from the cart.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesList of phone numbers to remove.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. 'Removes' implies mutation, but there is no information about idempotency, behavior on invalid or already-removed IDs, permanence of removal, or side effects. This is a significant gap for a mutation tool.

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

Conciseness5/5

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

The description is a single, direct sentence with zero waste. It efficiently conveys the core action without unnecessary elaboration.

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 low-complexity with one well-documented parameter and an output schema. However, the description lacks behavioral details (e.g., error handling, idempotency) and usage guidance relative to siblings. It is adequate but leaves clear gaps for an agent to understand full implications.

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

Parameters3/5

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

The input schema fully documents the only parameter 'ids' with a clear description and example, reaching 100% schema coverage. The tool description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('removes'), the resource ('phone numbers'), and the scope ('the cart'), which clearly distinguishes this from sibling tools like cart_add and cart_get. It unambiguously describes the tool's function.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool instead of alternatives like cart_add or cart_checkout. There is no mention of prerequisites, exclusions, or suitable contexts, leaving the agent without explicit usage direction.

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

cdrs_getCInspect

Returns call details.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
show_transcriptionNoIndicates whether to include transcription.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 disclosing behavioral traits. It only states that call details are returned, omitting any information about read-only nature, error handling, or the effect of the show_transcription parameter. This is a significant gap for a tool that could return sensitive data.

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

Conciseness3/5

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

The description is extremely brief and front-loaded, but it is under-specified rather than concise in a beneficial way. One sentence fails to convey essential context, making it similar to a placeholder.

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 many sibling tools and no annotations, the description is incomplete. It does not explain that the tool retrieves a single call detail by required uuid, nor does it clarify how it differs from cdrs_list, cdrs_search, or cdrs_transcription_get. The presence of an output schema partially compensates, but the lack of usage context is a clear gap.

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

Parameters3/5

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

The input schema provides descriptions for both parameters (uuid and show_transcription) with 100% coverage, so baseline is 3. The description adds no additional parameter semantics or relationship between parameters beyond what the schema already provides.

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

Purpose3/5

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

The description 'Returns call details' uses a verb and resource but is vague; it does not specify that it retrieves a single call by UUID. It lacks differentiation from sibling tools like cdrs_list or cdrs_search, so it is not specific enough to facilitate correct selection.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. The description does not mention use cases, exclusions, or relationship with the many sibling cdrs_* tools, leaving the agent without context for choosing it.

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

cdrs_listCInspect

Returns a paginated list of CDRs.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd date in `YYYY-MM-DD` format.
fromYesStart date in `YYYY-MM-DD` format.
pageNoPage number to retrieve.
typeYesCall direction to filter results. Allowed values: `placed`, `received`.
uuidNoCall ID to filter results.
per_pageNoNumber of records per page.
sip_trunkNoSIP trunk login to filter outbound calls. Ignored for inbound calls.
to_searchNoDestination phone number for filtering. Full or partial input accepted.
dispositionNoCall disposition to filter results. Allowed values: `answered`, `busy`, `rejected`, `failed`, `all`.
from_searchNoOriginating phone number for filtering. Full or partial input accepted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. It only states 'paginated list' and provides no details on filtering, pagination behavior, default values, or other operational traits. It is nearly tautological with the tool 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, direct sentence that states the core purpose without wasted words. It is appropriately sized and front-loaded.

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

Completeness2/5

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

Despite having a detailed parameter schema and an output schema, the description is too minimal for a tool with 10 parameters and several closely related siblings. It fails to mention required parameters, the difference from cdrs_list_all, or typical use cases, leaving the agent without enough context to select or invoke the tool confidently.

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

Parameters3/5

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

The schema has 100% description coverage, with each parameter offering a description, examples, and some defaults. The description adds no parameter-level meaning beyond the word 'list', so it does not enhance 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 clearly states the action ('Returns') and resource ('a paginated list of CDRs'), making the basic purpose unambiguous. However, it does not distinguish this tool from sibling tools such as cdrs_list_all or cdrs_search, which likely have overlapping list functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention that from/to/type are required, nor does it indicate how this tool relates to cdrs_list_all or cdrs_search.

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

cdrs_list_allBInspect

Returns CDRs in NDJSON format for bulk export.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd date in `YYYY-MM-DD` format.
fromYesStart date in `YYYY-MM-DD` format.
pageNoPage number to retrieve.
typeYesCall direction to filter results. Allowed values: `placed`, `received`.
uuidNoCall ID to filter results.
per_pageNoNumber of records per page.
sip_trunkNoSIP trunk login to filter outbound calls. Ignored for inbound calls.
to_searchNoDestination phone number for filtering. Full or partial input accepted.
dispositionNoCall disposition to filter results. Allowed values: `answered`, `busy`, `rejected`, `failed`, `all`.
from_searchNoOriginating phone number for filtering. Full or partial input accepted.
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 return format and purpose, but does not mention pagination behavior, data volume expectations, filtering scope, or any rate limits or read-only semantics beyond 'Returns'. This is insufficient for a tool with many parameters and no safety annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the essential purpose without wasted words. Every word contributes to conveying what the tool does.

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?

This is a complex tool with 10 parameters, no output schema, and no annotations. The one-sentence description does not cover important aspects such as how pagination behaves, whether all parameters are honored in bulk export, or any operational constraints. The description is not complete enough for an agent to use this tool confidently.

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

Parameters3/5

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

The schema descriptions cover 100% of the parameters with detailed meaning, so the description does not need to add parameter info. The baseline of 3 applies because the schema does the heavy lifting, and the description adds no additional parameter context (e.g., interactions or defaults beyond schema).

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

Purpose4/5

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

The description uses a specific verb ('Returns') with a clear resource ('CDRs'), output format ('NDJSON'), and use case ('bulk export'). It distinguishes from sibling tools like cdrs_list or cdrs_search by emphasizing the bulk-export aspect, though it does not explicitly name alternatives.

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

Usage Guidelines3/5

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

The phrase 'for bulk export' implies when to use this tool, but no explicit guidance is given about when not to use it or which sibling tools to prefer. There are no exclusions or alternative tool references, so usage guidance is only implied.

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

cdrs_retranscribeCInspect

Transcribes a recorded call.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.
languageNoLanguage.
webhook_urlNoWebhook URL to receive status updates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successYesIndicates whether the request was successful.
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states the basic action and gives no indication that retranscription may be asynchronous, overwrite existing data, incur costs, or require specific permissions. The presence of webhook_url suggests asynchronous behavior, but this is not mentioned in the description.

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

Conciseness4/5

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

The description is a single concise sentence, front-loaded with the core action and free of unnecessary words. It is easily readable and appropriately sized for a simple purpose statement, though it lacks explanatory depth.

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

Completeness2/5

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

Despite having an output schema and three parameters, the description is minimal and fails to provide critical context about the asynchronous workflow implied by webhook_url, whether the retranscription replaces the existing transcription, or any usage constraints. An agent would not know how the tool integrates with the broader CDR and transcription lifecycle.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 all three parameters with descriptions and examples, achieving 100% coverage. The tool description adds no additional meaning beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description clearly states the tool's action: 'Transcribes a recorded call.' It identifies a specific verb and resource. However, it does not distinguish this tool from siblings like cdrs_transcription_get or speech_analytics_retranscribe, and the name's 'cdrs' context is not reinforced in the description.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use retranscription versus fetching an existing transcription or using speech analytics retranscription. It does not mention prerequisite conditions, such as the call being recorded or having an existing transcription, nor does it explain when this tool should be preferred over alternatives.

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

cdrs_transcription_getBInspect

Returns a recorded call transcription.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesCall ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

There are no annotations, so the description carries the full burden. It only states the basic retrieval action and adds no behavioral context like authentication requirements, error behavior, or output format, leaving the agent without deeper expectations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple 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?

The tool is simple with one documented parameter and an output schema, so the minimal description is almost adequate. However, the lack of any behavioral or usage context makes it only minimally viable rather than fully complete.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'uuid' (described as 'Call ID'). The description adds no additional parameter semantics, so baseline 3 is appropriate.

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

Purpose4/5

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

The description 'Returns a recorded call transcription' uses a specific verb and resource, clearly indicating the tool's function. It is reasonably distinct from sibling tools like cdrs_get or speech_analytics_get, though it does not explicitly call out differences.

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 cdrs_retranscribe or speech_analytics_get. The description simply states the action without any context for choosing it.

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

my_numbers_deleteAInspect

Releases phone numbers back to stock.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsNoList of phone number IDs to release.
didsNoList of phone numbers to release.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states the action ('releases phone numbers back to stock') but does not mention whether the operation is permanent, if there are prerequisites (e.g., ownership, not in use), or any side effects (e.g., affecting active calls or billing). This is a significant gap for a destructive operation.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core action. It contains no fluff or redundant information, earning a perfect score for 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?

For a simple delete/release tool, the description is minimally adequate, but it lacks important context such as reversibility or validation behavior. The presence of an output schema and complete parameter descriptions offset some gaps, but because no annotations exist, the description alone does not fully cover the behavioral context expected for a destructive operation.

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

Parameters3/5

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

Schema description coverage is 100%, with both 'ids' and 'dids' having clear descriptions in the input schema. The tool description adds no parameter-specific meaning beyond what the schema already provides. A baseline score of 3 is appropriate because the schema already handles parameter semantics.

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

Purpose5/5

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

The description uses the specific verb 'releases' with a clear resource ('phone numbers') and context ('back to stock'), making it obvious what the tool does. It also distinguishes from sibling tools like my_numbers_update (changes settings) and my_numbers_list (lists numbers).

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 its use case through the verb 'releases' but does not explicitly state when to choose this tool over alternatives or provide exclusions. For example, it does not say 'Use this only when you want to permanently return numbers' or contrast with my_numbers_update. Guidance is implied rather than explicit.

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

my_numbers_destinations_updateCInspect

Updates inbound call routing for phone numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesList of phone number IDs to update.
destinationsYesInbound call destinations to apply.
sms_relay_urlYesCallback URL for inbound SMS and MMS messages.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states that routing is updated, without revealing whether updates replace existing destinations, whether SMS relay URL is affected, or any side effects. The mutation is implied but not elaborated.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is concise and front-loaded, but the brevity also omits useful context that could be structured or expanded.

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?

Even though an output schema exists, the description is under-specified for a mutation tool with three required parameters. It does not address whether this is an additive or replacing update, the relationship between destinations and sms_relay_url, or any edge-case behavior. The agent would need to inspect the schema deeply to understand semantics.

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

Parameters3/5

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

Schema coverage is 100%, and parameter descriptions are detailed (e.g., destination, priority, transport enum), so the schema does the heavy lifting. The description adds no extra meaning about how parameters interrelate or their combined effect, 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 uses a specific verb 'Updates' and a specific resource 'inbound call routing for phone numbers,' clearly conveying the tool's scope. It distinguishes itself from sibling tools like my_numbers_sms_update (SMS routing) and my_numbers_update (general number settings), though it does not name them explicitly.

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

Usage 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, nor does it mention prerequisites, exclusions, or the relationship to related updates. The description only states the action without context, leaving the agent to infer appropriate usage.

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

my_numbers_getCInspect

Returns a phone number.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPhone number ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesPhone number ID.
cityYesCity or rate center where the phone number originates.
cnamYesIndicates whether CNAM is enabled.
addedYesDate and time the phone number was purchased in ISO 8601 format.
labelYesLabel assigned to the phone number.
stateNoState where the phone number originates. For non-US numbers, this field may be null.
numberYesPhone number.
statusYesPhone number status. `active` means the number can receive and place calls; `inactive` means it cannot.
countryYesCountry where the phone number originates.
per_minYesPrice per inbound minute in USD.
secondsYesTotal inbound call duration in seconds for current month.
channelsYesMaximum number of concurrent inbound calls.
free_minNoNumber of free inbound minutes.
documentsYesUploaded documents for the phone number.
unlimitedNoIndicates whether usage is unlimited.
paid_untilYesDate until which the number is paid.
destinationYesInbound call destinations set for the phone number.
monthly_feeYesMonthly fee in USD.
sms_enabledYesIndicates whether SMS is enabled.
domestic_cliYesIndicates whether the number can be used as the Caller ID for local calls.
require_docsYesDocuments required to activate the phone number.
sms_relay_urlYesCallback URL for inbound SMS and MMS messages.
activation_feeYesOne-time activation fee in USD.
call_status_urlNoCallback URL for call status updates.
country_short_nameYesTwo-letter ISO country code.
transcription_enabledYesIndicates whether transcription is enabled.
call_recording_enabledYesIndicates whether call recording is enabled.
transcription_thresholdYesMinimum call duration in seconds to trigger transcription.
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. The phrase 'Returns a phone number' implies a read-only operation but does not explicitly state the absence of side effects, permission requirements, or error behavior. For a get tool, this is a minimal disclosure but not rich enough for an agent to understand all behavioral implications.

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

Conciseness3/5

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

The description is a single sentence of four words, which is extremely concise and front-loaded. However, it is under-specified, providing minimal information beyond the tool name. While not verbose, it does not meaningfully expand on the purpose, so a middle score is appropriate.

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

Completeness3/5

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

For a simple read tool with one parameter and an output schema, a brief description might suffice. However, the description lacks context about the domain (e.g., what a 'phone number' is in this system), behavior on missing IDs, and relationships to sibling tools. Given the presence of an output schema, the return structure is covered, but other contextual gaps remain.

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

Parameters3/5

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

The input schema provides a description for the `id` parameter ('Phone number ID.'), giving 100% schema coverage. The description adds no additional meaning beyond what the schema already states, so the baseline score of 3 applies.

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

Purpose4/5

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

The description uses a specific verb ('Returns') and identifies the resource ('a phone number'), clearly stating the tool's core function. However, it does not explicitly differentiate from the sibling tool `my_numbers_list`, which also deals with phone numbers, so the purpose is clear but lacks sibling differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as `my_numbers_list` or `my_numbers_update`. There is no mention of prerequisites, use cases, or when not to use this tool, leaving the agent to infer usage from the tool name.

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

my_numbers_listAInspect

Returns a paginated list of phone numbers on the account. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to retrieve.
labelNoLabel for filtering.
searchNoPhone number or partial number for filtering.
city_idNoCity or rate center for filtering.
per_pageNoNumber of records per page.
label_presentNoIndicates whether to return only numbers with or without labels.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesList of phone numbers on the account.
doc_typesYesDocuments required to activate phone numbers.
paginationYes
Behavior4/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 discloses that results are paginated with a default limit of 25 records per page, which is actionable behavioral information. It does not describe ordering, filtering behavior, or explicitly label it as read-only, but for a list operation this is reasonably sufficient.

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

Conciseness5/5

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

Two sentences, front-loaded with the primary purpose, followed by behavior and navigation instructions. No redundant or unnecessary words.

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

Completeness4/5

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

Given the tool has six optional parameters and an output schema, the description provides the essential context (list, pagination, default limit) and does not need to explain return values thanks to the output schema. It could be more explicit about available filters, but the schema fills that gap. Overall, it is sufficiently complete for an agent to understand and invoke the tool.

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

Parameters4/5

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

The schema covers 100% of parameters, so the baseline is 3. The description adds value by specifying the default page size (25) and that `page` and `per_page` are used for navigation, which goes beyond the schema's simple type descriptions. However, it does not comment on the filtering parameters (label, search, city_id, label_present), leaving that to the schema.

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

Purpose5/5

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

The description opens with 'Returns a paginated list of phone numbers on the account', which clearly identifies the verb (returns), the resource (phone numbers), and scope (on the account). This distinguishes it from sibling tools like buy_numbers_list (which is for purchasing) and my_numbers_get (which retrieves a single number).

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

Usage Guidelines3/5

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

The description provides usage context by stating it lists account numbers and how to navigate pagination with `page` and `per_page`. However, it does not explicitly state when to prefer this tool over alternatives or when not to use it, leaving the differentiation to inference from the name.

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

my_numbers_papers_uploadAInspect

Uploads a document for one or more phone numbers. Uploaded files must meet the following requirements:

  • Allowed formats: PNG, JPG, JPEG, TIFF, BMP, or PDF

  • Maximum file size: 10 MB

  • Files can't be password protected

  • PDF files must not contain digital signatures

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idNoSpecifies the type of document required to activate the phone number. Possible values are: `1` - Proof of identity, `2` - Proof of address, `3` - Proof of business registration.
did_idsNoList of phone number IDs.
doc_attachmentNoDocument file to upload.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses file size, format, and security constraints, which are non-obvious requirements. However, it does not describe the upload behavior beyond the action itself, such as whether it replaces existing documents or triggers downstream processes.

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

Conciseness5/5

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

The description is concise and front-loaded with the main verb and resource. The bullet-point requirements are structured for easy scanning. No redundant or excessive text.

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

Completeness4/5

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

The description covers the core action and essential file constraints, but lacks usage guidelines and post-upload behavior. Given the presence of an output schema and complete parameter descriptions, it is mostly sufficient, but could be more helpful with a note on when to use it.

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

Parameters4/5

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

The schema already documents all three parameters with descriptions, including enum values for doc_id. The description adds value by specifying allowed formats, size limits, and security restrictions for the doc_attachment parameter, which are not in the schema. This enriches the parameter semantics beyond the baseline.

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

Purpose5/5

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

The description clearly states a specific action (uploads a document) and its scope (for one or more phone numbers). It includes detailed file requirements that further specify what the tool does. Although it doesn't explicitly differentiate from sibling upload tools, the resource (phone numbers) is distinct and evident from the name and description.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only lists file format constraints, not usage context. No sibling alternatives are mentioned.

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

my_numbers_sms_updateBInspect

Enables or disables inbound SMS support for a phone number.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoPhone number ID.
sms_enabledNoIndicates whether inbound SMS is enabled.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request succeeded.
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the effect (enable/disable SMS) without mentioning side effects, permissions, reversibility, or response behavior. For a mutation tool, this is insufficient.

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

Conciseness5/5

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

The description is a single, clear sentence with no filler, front-loading the action and target. It is appropriately sized for a simple toggle operation.

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

Completeness3/5

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

The tool is simple, and the schema covers parameters, with an output schema present. However, the description lacks usage context and does not mention any constraints or side effects. Given the absence of annotations, it is minimally complete but leaves gaps for a mutation tool.

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

Parameters3/5

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

The input schema provides 100% coverage for both parameters (id and sms_enabled), including descriptions and examples. The tool description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb phrase 'Enables or disables' and clearly identifies the resource ('inbound SMS support for a phone number'). This distinguishes it from sibling tools like my_numbers_update and my_numbers_destinations_update, which manage other number settings.

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 preconditions, exclusions, or that this is the tool to toggle SMS specifically. The only implied context is from the tool name and description.

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

my_numbers_updateCInspect

Updates a phone number.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPhone number ID.
sms_relay_urlNoCallback URL for inbound messages. Set to `null` to remove routing.
call_status_urlNoCallback URL for call status updates.
transcription_enabledNoIndicates whether transcription is enabled.
call_recording_enabledNoIndicates whether call recording is enabled.
transcription_thresholdNoTranscription threshold in seconds.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesPhone number ID.
cityYesCity or rate center where the phone number originates.
cnamYesIndicates whether CNAM is enabled.
addedYesDate and time the phone number was purchased in ISO 8601 format.
labelYesLabel assigned to the phone number.
stateNoState where the phone number originates. For non-US numbers, this field may be null.
numberYesPhone number.
statusYesPhone number status. `active` means the number can receive and place calls; `inactive` means it cannot.
countryYesCountry where the phone number originates.
per_minYesPrice per inbound minute in USD.
secondsYesTotal inbound call duration in seconds for current month.
channelsYesMaximum number of concurrent inbound calls.
free_minNoNumber of free inbound minutes.
documentsYesUploaded documents for the phone number.
unlimitedNoIndicates whether usage is unlimited.
paid_untilYesDate until which the number is paid.
destinationYesInbound call destinations set for the phone number.
monthly_feeYesMonthly fee in USD.
sms_enabledYesIndicates whether SMS is enabled.
domestic_cliYesIndicates whether the number can be used as the Caller ID for local calls.
require_docsYesDocuments required to activate the phone number.
sms_relay_urlYesCallback URL for inbound SMS and MMS messages.
activation_feeYesOne-time activation fee in USD.
call_status_urlNoCallback URL for call status updates.
country_short_nameYesTwo-letter ISO country code.
transcription_enabledYesIndicates whether transcription is enabled.
call_recording_enabledYesIndicates whether call recording is enabled.
transcription_thresholdYesMinimum call duration in seconds to trigger transcription.
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 mentions 'Updates a phone number' without explaining partial vs. full update semantics, idempotency, or effects on existing settings. The schema describes parameter details, but the description itself adds no behavioral context.

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

Conciseness4/5

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

The description is extremely concise at four words, single sentence, and front-loaded. It wastes no words, but its brevity borders on under-specification, which is captured in other dimensions.

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

Completeness2/5

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

Despite rich schema and an output schema, the description is too minimal for a mutation tool. It lacks any information about when to use it, how it differs from other numeric update tools, or behavioral nuances that would help an agent invoke it correctly. Even with the schema, this is insufficient.

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

Parameters3/5

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

Schema coverage is 100% with detailed descriptions and examples for all six parameters. The tool description adds no parameter-level meaning beyond the schema, so the baseline score of 3 applies.

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

Purpose4/5

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

The description clearly states 'Updates a phone number,' providing a specific verb and resource. However, it does not distinguish itself from sibling tools like my_numbers_sms_update or my_numbers_destinations_update, which also modify phone number settings.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the more targeted my_numbers_sms_update or my_numbers_destinations_update. The description offers no context about which fields are appropriate or exclusions, so an agent cannot know when to choose this tool.

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

number_validator_create_bulkBInspect

Returns details for multiple phone numbers. If async is true, returns a token to poll for results.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
asyncYesIndicates whether the request should be executed asynchronously. If `true`, the response will include a `request_uuid` that can be used to poll for results. If `false`, the response will include validation results directly.
forceYesForce
phone_numbersYesList of phone numbers to get detailed information about.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are present, but the description discloses the async behavior: if `async` is true, a polling token is returned. This is a useful behavioral trait. However, the description doesn't clarify the side effects of the bulk creation (e.g., whether it consumes credits or has rate limits), and the `force` parameter is opaque. The word 'Returns' might understate that this could create a background job.

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

Conciseness5/5

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

Two sentences, to the point, with the main function first. No unnecessary words.

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

Completeness3/5

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

The description covers the core action and async behavior, and the output schema presumably documents return values. However, it omits any context on the `type` parameter's importance or the `force` flag, and doesn't mention that this is a bulk-creation operation. For a 4-parameter tool with async semantics, slightly more context would help.

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

Parameters3/5

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

The schema already provides descriptions for `async` and `phone_numbers` with good coverage (75%). The tool description adds no new parameter details beyond restating the async polling behavior. The `force` parameter is effectively undocumented both in schema ('Force') and description. Given high coverage, baseline is 3.

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

Purpose4/5

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

The description clearly states that the tool returns details for multiple phone numbers, identifying the core action and resource. However, it doesn't explicitly mention the 'create' aspect of the bulk operation, making it slightly ambiguous whether this initiates a job or returns cached results. The sibling tools suggest this may create a bulk validation task, but the description alone doesn't fully clarify.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description doesn't reference alternatives like number_validator_get or number_validator_results_get, nor does it state when async should be true vs false beyond a behavioral note. The agent is left to infer usage from the tool name and context.

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

number_validator_getCInspect

Returns details for a phone number.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesValidation type.
phone_numberYesPhone number in E.164 format or without "+".

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. Merely stating 'Returns details' implies a read operation but does not disclose whether any computation is performed, how errors are handled, or any other significant behavior.

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

Conciseness4/5

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

The description is a single, concise sentence with no extraneous content. It is front-loaded and easy to parse, though it is minimal to the point of under-specification.

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

Completeness3/5

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

An output schema exists, so return values are covered. However, the description lacks usage context, fails to differentiate from sibling tools, and provides no behavioral detail. For a simple tool this is adequate but not complete.

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

Parameters3/5

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

The input schema already provides full coverage for both parameters (phone_number and type) with descriptions and an enum for type. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states the action ('Returns') and resource ('details for a phone number') clearly. However, it does not distinguish this from sibling tools like number_validator_results_get, which could also be perceived as returning details.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as number_validator_create_bulk or number_validator_results_get. The description does not state that this is for single-number queries or mention any exclusions or prerequisites.

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

number_validator_results_getCInspect

Returns asynchronous validation results.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesRequest ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure. It only states that results are asynchronous, but does not explain polling behavior, status indicators, error conditions, or that the request_id originates from a bulk creation call.

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

Conciseness5/5

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

A single sentence that is direct and front-loaded. No wasted words; every word contributes to understanding the tool's purpose.

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 existence of sibling tools and an output schema, the description is minimal. It does not explain the relationship to number_validator_create_bulk, the lifecycle of an async request, or how to interpret the results. The output schema supplies return structure, but the missing context makes the description incomplete for effective selection and invocation.

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

Parameters3/5

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

The schema has 100% coverage with the single parameter 'request_id' described as 'Request ID.' The description adds no extra meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description 'Returns asynchronous validation results' clearly states the action and resource, using a specific verb and scope. It differentiates from siblings like number_validator_create_bulk (creation) and number_validator_get (likely synchronous), though it does not explicitly name alternatives.

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

Usage 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. It does not mention that it should be called after number_validator_create_bulk, nor does it clarify prerequisites such as needing a valid request_id from a prior async request.

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

profile_config_getAInspect

Returns the account balance and configuration details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It simply says 'Returns' which implies a read operation, but does not explicitly state that it is non-mutating, does not mention authentication requirements, or describe any side effects. The description adds minimal behavioral context beyond what the name already implies.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the main verb 'Returns', and contains no unnecessary words. It is perfectly concise and clearly structured for quick comprehension.

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

Completeness4/5

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

Given that the tool is extremely simple (no parameters, no nested objects) and an output schema exists, the description is mostly complete. It states what the tool returns, and the output schema covers the specifics of 'configuration details'. The only minor gap is the vague term 'configuration details', but this is acceptable as the output schema provides full detail.

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

Parameters4/5

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

The tool has zero parameters, and the schema is an empty object. Since there are no parameters to document, the description does not need to add parameter semantics. The baseline for 0 params is 4, and the description does not need to compensate for any missing 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 tool's purpose: 'Returns the account balance and configuration details.' This uses a specific verb ('returns') and identifies the resource (account balance and configuration). It distinguishes from siblings like profile_get by specifying the exact data (balance and config) rather than just profile info.

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 sibling tools, exclude any use cases, or state prerequisites. There is no hint about when to prefer profile_config_get over profile_get or other read tools.

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

profile_getBInspect

Returns the account profile and billing details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It accurately indicates a read operation ('Returns') and mentions the scope of data (account profile and billing details), but it does not disclose potential requirements such as authentication or any side effects. For a simple getter this is adequate, but it lacks details about what happens if no profile exists or how billing details are aggregated.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the action verb 'Returns,' and contains no filler or redundant phrasing. Every word contributes to the meaning, making it highly concise and well-structured.

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

Completeness3/5

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

The tool is simple, has an output schema, and zero parameters, so the description need not explain return values. However, given the sibling profile_config_get and profile_update, the description lacks clarity on how this tool differs from similar profile-related operations. It is minimally complete but leaves room for confusion.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100% (empty schema), so the baseline for this dimension is 4. The description adds no parameter information, but none is needed since there are no parameters to explain.

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 'Returns' and the resource 'account profile and billing details,' making the tool's purpose unmistakable. However, it does not distinguish itself from the sibling tool profile_config_get, which may cause some ambiguity about which getter to use for profile-related information.

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 like profile_config_get or billing_invoices_list. It does not include any context about the appropriate use case, prerequisites, or exclusions, leaving the agent to infer usage solely from the tool name and description.

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

profile_updateCInspect

Updates the account profile and billing details.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneNoAccount owner's phone number
contactsNoEmail associated with the account.
job_titleNoAccount owner's job title.
last_nameNoAccount owner's last name.
time_zoneNoTimezone configured on the account.
first_nameNoAccount owner's first name.
company_infoNo
dlr_relay_urlNoCallback URL to forward message delivery reports (DLRs) to.
sms_relay_urlNoCallback URL to forward inbound SMS to.
additional_infoNoAdditional information associated with the account.
default_short_link_endpointNoDefault short link endpoint.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only states that it 'updates' the profile and billing. It does not mention whether it performs a partial or full update, whether fields are optional, any side effects, or required authentication. The minimal detail is not misleading but is far from transparent.

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 is front-loaded with the action and object. It has no filler words. However, it is so brief that it sacrifices useful context, but within the conciseness dimension, it is appropriately sized for a simple update tool.

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?

This tool has 11 parameters, a nested object, and a boolean output schema, yet the description provides only a one-line purpose statement. It lacks any information about usage context, update semantics, or what happens on success/failure. The high schema coverage partially compensates, but for a tool of this complexity, the description is incomplete.

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

Parameters3/5

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

The schema covers 91% of parameters with descriptions, so the description does not need to explain each parameter. The phrase 'billing details' broadly maps to the company_info and billing-related fields, but it adds no specific meaning beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('Updates') and a clear resource ('account profile and billing details'), which clearly communicates the tool's purpose. It is distinguishable from sibling tools like profile_get or sub_accounts_update, though it does not explicitly name alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as profile_get or sub_accounts_update. It does not mention prerequisites, context, or exclusions, leaving the agent to infer usage solely from the tool name and generic update intent.

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

sip_trunks_createCInspect

Creates a SIP trunk.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesUser-defined name of the SIP trunk
calleridYesCaller ID associated with the SIP trunk. Must be an active or verified number on your account.
passwordYesPassword set for the SIP trunk. Use a strong password to help keep your SIP trunk secure.
call_limitNoA maximum call duration for the SIP trunk, in seconds. Must not exceed the maximum duration set for your account. Ignored when call_restrict is `false`.
cost_limitYesIndicates if the max cost limit for an outbound call limit is activated for the SIP trunk.
allowed_ipsNoA list of public static IP addresses allowed to register with the SIP trunk
ip_restrictYesIndicates whether SIP trunk registration is allowed from only specific public static IP addresses. When set to `true`, the `allowed_ips` parameter must be provided.
host_requestNoFor SIP trunks with IP authentication, includes the SIP endpoint public static IP address and the status of the authentication request. Wavix authenticates all SIP traffic originating from this IP address.
max_channelsNoMaximum number of concurrent outbound calls for the SIP trunk. Must not exceed the outbound channel capacity set for your account. Ignored when channels_restrict is `false`.
rewrite_condNoNumber of leading digits to automatically remove from each dialed phone number
call_restrictYesIndicates whether a maximum call duration limit is enforced for the SIP trunk
max_call_costNoMaximum cost for an outbound call, in USD
rewrite_prefixNoDigits to automatically prepend to each dialed phone number
didinfo_enabledYesIndicates whether inbound calls include dialed number information in the `To` header of SIP INVITE requests
encrypted_mediaNo
rewrite_enabledYesIndicates whether a custom dial plan is activated for the SIP trunk
multiple_numbersNoIndicates whether any active or verified phone number in your account can be used as the Caller ID for the SIP trunk
channels_restrictYesIndicates whether a limit on the number of concurrent outbound calls is enforced for the SIP trunk
transcription_enabledYesIndicates whether automatic call transcription is enabled for the SIP trunk. Available for `Flex Pro` customers only.
call_recording_enabledNoIndicates whether outbound call recording is enabled for the SIP trunk
transcription_thresholdYesTranscriptions will be generated for calls that meet or exceed the specified minimal call duration threshold, in seconds. Available for `Flex Pro` customers only.
machine_detection_enabledNoIndicates whether automatic voicemail detection is enabled for the SIP trunk. Available for `Flex Pro` customers only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/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 disclosing behavioral traits. It only states 'Creates a SIP trunk' and does not mention any side effects, required permissions, validation constraints, rate limits, or what happens on success. This is a mutation tool with potential side effects, and zero behavioral disclosure is provided.

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

Conciseness2/5

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

The description is extremely short (one sentence), which is concise in word count, but it is under-specified for the complexity of the tool. It fails to provide context that would help the agent understand the tool's purpose beyond the literal action. The brevity is not an efficient use of the description space; it adds no value over the tool name.

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's complexity (22 parameters, 11 required, nested objects), the description is far from complete. While an output schema likely documents return values, the description lacks context about required versus optional parameters, conditional dependencies (e.g., ip_restrict requiring allowed_ips), and the overall purpose of creating a SIP trunk. The schema provides detailed parameter info, but the description itself does not help tie everything together.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 95%, so the baseline is 3. The description adds no parameter-specific information, but the input schema thoroughly documents each parameter with types, examples, and detailed explanations, so the agent can rely on the schema for parameter semantics.

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

Purpose4/5

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

The description clearly identifies the action (creates) and resource (SIP trunk), which distinguishes it from sibling tools like sip_trunks_update, sip_trunks_delete, and sip_trunks_list. However, it is minimal and essentially restates the tool name without adding any specific detail about scope or unique characteristics.

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 vs. alternatives, no prerequisites, no context about typical scenarios, and no exclusions. For a tool with 22 parameters and complex conditional logic, there is a significant lack of usage direction.

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

sip_trunks_deleteBInspect

Deletes a SIP trunk.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSIP trunk ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. 'Deletes a SIP trunk' implies a destructive action but fails to state irreversibility, permission requirements, or potential impact on associated resources, which is a significant gap for a destructive operation.

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

Conciseness5/5

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

The description is a single, clear sentence with no redundant words. It efficiently conveys the core purpose, making it highly concise and easily parseable.

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 delete operation with one well-documented parameter, so the minimalist description is somewhat adequate. However, it lacks any note about side effects or permanence, and with no annotations, an agent may not fully grasp the destructive consequences.

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

Parameters3/5

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

The schema fully documents the single parameter 'id' as 'SIP trunk ID.' The description adds no additional meaning beyond confirming that the deletion targets a SIP trunk, so it does not enhance the schema's coverage.

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

Purpose5/5

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

The description 'Deletes a SIP trunk' uses a specific verb and resource, clearly distinguishing this deletion operation from siblings like sip_trunks_create, sip_trunks_get, sip_trunks_list, and sip_trunks_update.

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 prerequisites, whether deletion is permanent, or any exclusions, leaving the agent to infer usage solely from the tool name.

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

sip_trunks_getBInspect

Returns a SIP trunk configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSIP trunk ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 tool 'Returns' a configuration, which implies a read-only operation, but does not disclose any details about authentication requirements, error behavior, or side effects. It adds no behavioral context beyond the purpose.

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

Conciseness5/5

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

The description is a single sentence, 'Returns a SIP trunk configuration,' which is concise, front-loaded, and contains no extraneous words. It is exactly the right length for such a simple operation.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, output schema present), the description sufficiently explains the core operation. The input schema handles parameter documentation and the output schema handles return value details, so the description doesn't need to elaborate further. However, it lacks usage guidance, which prevents a perfect score.

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

Parameters3/5

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

The schema fully covers the single parameter 'id' with its description 'SIP trunk ID.' The tool description adds no additional meaning to the parameter, so the baseline of 3 for high schema coverage applies. No extra compensation is needed.

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

Purpose5/5

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

The description clearly states the action ('Returns') and the resource ('SIP trunk configuration'). It distinguishes itself from sibling tools like sip_trunks_list (which presumably lists multiple trunks) and sip_trunks_create/update/delete, making it unambiguous that this is a single-item retrieval.

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. It does not mention that an existing SIP trunk ID is required, nor does it direct users to sip_trunks_list for listing all trunks. The only implicit hint is the required 'id' parameter in the schema, but the description itself offers no contextual direction.

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

sip_trunks_listAInspect

Returns a paginated list of SIP trunks. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to retrieve.
per_pageNoNumber of records per page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It does reveal important behavior: results are limited to 25 per page by default and pagination is supported. However, it does not mention potential limits on per_page, ordering, filtering, or what happens when no parameters are provided, leaving some behavioral gaps.

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

Conciseness5/5

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

The description is concise: two sentences that immediately state the tool's purpose and navigation mechanism. Every sentence adds value, with no filler or redundancy.

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

Completeness4/5

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

This is a simple list tool with an output schema, so return values are already specified. The description covers pagination defaults and usage of parameters, which is sufficient for most list operations. Minor gaps like sorting or filter options are not critical for this context.

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 schema already provides descriptions for both parameters (coverage 100%), so the baseline is 3. The description adds meaning by explaining that page and per_page control navigation and by revealing the default per_page value of 25, which goes beyond the schema's basic definitions.

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 starts with a specific verb ('Returns') and identifies the resource ('SIP trunks'), clearly distinguishing it from sibling operations like create, delete, get, and update. The paginated nature is front-loaded, making the tool's primary function unambiguous.

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

Usage Guidelines4/5

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

The description implies when to use this tool: to retrieve a list of SIP trunks, as opposed to individual get, create, delete, or update operations. It also provides explicit navigation guidance via page and per_page, though it does not explicitly name alternative tools or exclusion scenarios.

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

sip_trunks_updateCInspect

Updates a SIP trunk configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSIP trunk ID.
labelYesUser-defined name of the SIP trunk
calleridYesCaller ID associated with the SIP trunk. Must be an active or verified number on your account.
passwordYesPassword set for the SIP trunk. Use a strong password to help keep your SIP trunk secure.
call_limitNoA maximum call duration for the SIP trunk, in seconds. Must not exceed the maximum duration set for your account. Ignored when call_restrict is `false`.
cost_limitYesIndicates if the max cost limit for an outbound call limit is activated for the SIP trunk.
allowed_ipsNoA list of public static IP addresses allowed to register with the SIP trunk
ip_restrictYesIndicates whether SIP trunk registration is allowed from only specific public static IP addresses. When set to `true`, the `allowed_ips` parameter must be provided.
host_requestNoFor SIP trunks with IP authentication, includes the SIP endpoint public static IP address and the status of the authentication request. Wavix authenticates all SIP traffic originating from this IP address.
max_channelsNoMaximum number of concurrent outbound calls for the SIP trunk. Must not exceed the outbound channel capacity set for your account. Ignored when channels_restrict is `false`.
rewrite_condNoNumber of leading digits to automatically remove from each dialed phone number
call_restrictYesIndicates whether a maximum call duration limit is enforced for the SIP trunk
max_call_costNoMaximum cost for an outbound call, in USD
rewrite_prefixNoDigits to automatically prepend to each dialed phone number
didinfo_enabledYesIndicates whether inbound calls include dialed number information in the `To` header of SIP INVITE requests
encrypted_mediaNo
rewrite_enabledYesIndicates whether a custom dial plan is activated for the SIP trunk
multiple_numbersNoIndicates whether any active or verified phone number in your account can be used as the Caller ID for the SIP trunk
channels_restrictYesIndicates whether a limit on the number of concurrent outbound calls is enforced for the SIP trunk
transcription_enabledYesIndicates whether automatic call transcription is enabled for the SIP trunk. Available for `Flex Pro` customers only.
call_recording_enabledNoIndicates whether outbound call recording is enabled for the SIP trunk
transcription_thresholdYesTranscriptions will be generated for calls that meet or exceed the specified minimal call duration threshold, in seconds. Available for `Flex Pro` customers only.
machine_detection_enabledNoIndicates whether automatic voicemail detection is enabled for the SIP trunk. Available for `Flex Pro` customers only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. It merely states the operation type ('Updates') without revealing side effects, whether it's a full replacement or partial update, permission requirements, or impact on active calls.

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

Conciseness2/5

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

The description is a single short sentence with little substance, making it under-specified rather than helpfully concise. It essentially restates the tool name with the word 'configuration'.

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

Completeness1/5

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

This is a complex tool with 23 parameters and 12 required fields, but the description gives no context about update semantics, field dependencies, or usage conditions. The output schema exists but does not compensate for the missing operational guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 96%, so parameters are well-documented in the schema. The description adds no parameter-level meaning, but per the baseline for high coverage, a score of 3 is appropriate.

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

Purpose4/5

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

The description uses the verb 'Updates' and the resource 'a SIP trunk configuration', clearly indicating a modification operation. It distinguishes from sibling tools like sip_trunks_create/delete/get/list via the action verb, though it does not detail which configuration fields are affected.

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 sip_trunks_create, sip_trunks_delete, sip_trunks_get, or sip_trunks_list. The description lacks context on prerequisites, such as needing an existing trunk ID or operational scenarios.

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

sms_and_mms_messages_getCInspect

Returns a message.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state that this is a read-only operation, nor any specifics about response format, errors, or limitations. This is a serious 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.

Conciseness2/5

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

Although the description is extremely short, it is under-specified rather than appropriately concise. A one-sentence description that fails to convey the tool's scope or use is not effective.

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

Completeness2/5

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

The tool is a simple get, but the description is still too sparse. It does not clarify that it retrieves an SMS/MMS message or how the result relates to other message operations. Given the output schema exists, it doesn't need return details, but it should provide more 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 schema covers 100% of parameters, including an example and description for the 'id' field. The description adds no additional parameter semantics, so the baseline of 3 is appropriate because the schema does the heavy lifting.

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

Purpose2/5

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

The description 'Returns a message.' merely restates the operation implied by the tool name 'get'. It lacks specifics such as which message, how it's identified, or that it concerns SMS/MMS, making it a tautology rather than a clear purpose.

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

Usage Guidelines2/5

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

No usage context is provided. The description does not indicate when to use this tool over siblings like sms_and_mms_messages_list or sms_and_mms_messages_send, nor does it mention prerequisites.

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

sms_and_mms_messages_listCInspect

Returns a paginated list of SMS and MMS messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoRecipient phone number. For `outbound` messages, the destination phone number; for `inbound` messages, an SMS-enabled number on the Wavix platform.
tagNoTag for filtering. Supported for outbound messages only.
fromNoMessage sender. For `outbound` messages, the Sender ID used to send the message; for `inbound` messages, the originating phone number.
pageNoPage number to retrieve.
typeYesMessage direction for filtering. Allowed values are `inbound`, `outbound`.
statusNoMessage delivery status for filtering.
per_pageNoNumber of records per page.
sent_afterNoStart date in `YYYY-MM-DD` format.
sent_beforeNoEnd date in `YYYY-MM-DD` format.
message_typeNoMessage type for filtering. Allowed values are `sms`, `mms`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 that the tool returns a paginated list, omitting details about filtering, required parameters, ordering, pagination mechanics, or output structure. This is minimal disclosure for a tool with rich functionality.

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

Conciseness5/5

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

The description is a single sentence of eight words, perfectly front-loaded and free of redundancy. It is concise and direct, though it omits necessary details that are evaluated in other dimensions.

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

Completeness2/5

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

Despite having a rich 10-parameter schema and an output schema, the description provides only a one-line summary. It fails to explain the tool's position among siblings, how pagination works, or what behavioral caveats exist. The description is not complete enough for an agent to effectively invoke this tool.

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

Parameters3/5

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

The input schema already provides full descriptions for all 10 parameters, including examples, allowed values, and formatting. The description adds no parameter semantics beyond what the schema covers, 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 (returns), resource (SMS and MMS messages), and a distinguishing trait (paginated). It differentiates from get (single) and send, but not explicitly from list_all, so it is not a 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 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 siblings like sms_and_mms_messages_list_all or sms_and_mms_messages_get. There is no mention of alternatives or conditions, leaving the agent without selection criteria.

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

sms_and_mms_messages_list_allCInspect

Returns SMS and MMS messages in newline-delimited JSON (NDJSON) format.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoMessage recipient. For `outbound` messages, the destination phone number; for `inbound` messages, the SMS-enabled number that received the message.
tagNoTag for filtering. Supported for outbound messages only.
fromNoMessage sender. For `outbound` messages, the Sender ID used to send the message; for `inbound` messages, the originating phone number.
typeYesMessage direction for filtering. Allowed values are `inbound`, `outbound`.
statusNoMessage delivery status for filtering.
sent_afterNoStart date in `YYYY-MM-DDTHH:MM:SS` format.
sent_beforeNoEnd date in `YYYY-MM-DDTHH:MM:SS` format.
message_typeNoMessage type for filtering. Allowed values are `sms`, `mms`.
Behavior2/5

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

With no annotations, the description carries the full burden. It only discloses the NDJSON format. It does not explain pagination, limits, ordering, scope of 'all', authentication requirements, or any other behavioral traits beyond the bare minimum.

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

Conciseness4/5

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

The description is one short sentence, front-loaded with the core action and output format. It wastes no words, though it could arguably include more detail without being overly verbose.

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's complexity (8 parameters, no output schema, no annotations), the description is insufficient. It does not clarify how this 'list_all' tool differs from the regular 'list' tool, nor does it explain the return structure beyond NDJSON. An agent selecting this tool may not know when it is the appropriate choice.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description itself adds no parameter information, but each parameter is already well-documented in the input schema, so this is sufficient.

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

Purpose4/5

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

The description states the tool 'Returns SMS and MMS messages' which is a clear verb+resource. It also mentions the NDJSON output format, adding specificity. However, it does not distinguish this tool from the sibling 'sms_and_mms_messages_list' or explain the 'list_all' aspect.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like sms_and_mms_messages_list or sms_and_mms_messages_get. No context, prerequisites, or exclusions are provided.

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

sms_and_mms_messages_sendAInspect

Sends SMS or MMS messages. MMS is supported for U.S. numbers only. Rate limit: 20 messages per phone number in 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient phone number.
tagNoTag to group messages, such as for a specific campaign.
fromYesSender ID. Numeric or alphanumeric.
validityNoMessage validity period in seconds. Delivery attempts stop after this period expires.
callback_urlNoCallback URL for delivery reports.
message_bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNoRecipient phone number.
mccNoMobile country code.
mncNoMobile network code.
tagNoMessage tag.
fromNoSender ID.
chargeNoTotal charge for the message in USD.
statusNoMessage status.
sent_atNoDate and time the message was sent in ISO 8601 format.
segmentsNoNumber of SMS segments. Always 1 for MMS.
directionNoMessage direction. Possible values are `outbound`, `inbound`.
message_idNoMessage ID.
carrier_feesNoMobile carrier fees in USD.
delivered_atNoDate and time the message was delivered in ISO 8601 format.
message_bodyNo
message_typeNoMessage type.
submitted_atNoDate and time the message was submitted in ISO 8601 format.
error_messageNoError message.
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses two important constraints: MMS support restricted to U.S. numbers and a rate limit per number per day. However, it omits other behavioral aspects like whether sender ID must be pre-registered, potential charges, or failure handling. The provided info is useful but not comprehensive.

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

Conciseness5/5

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

The description is extremely concise: two sentences front-load the core purpose and immediately present critical constraints. There is zero wasted text, and every sentence contributes value—the first defines the action, the second provides the two key restrictions.

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

Completeness4/5

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

For a tool with a rich input schema (including nested objects and a separate output schema), the description adequately covers the essential operational constraints (rate limit, MMS limitation). The output schema likely covers return values, so no need to describe that. It could benefit from mentioning prerequisites like having an approved sender ID, but overall it is reasonably complete for the tool's complexity.

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

Parameters3/5

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

The schema already covers 83% of parameter descriptions, including detailed explanations for message_body, media (SMS vs MMS), and validity period. The description adds no new parameter-specific semantics beyond what the schema states, but it does provide context that helps interpret the media parameter (MMS only for U.S.). Given the high schema coverage, a baseline of 3 is appropriate.

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

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 function: 'Sends SMS or MMS messages.' This uses a specific verb ('sends') and resource ('SMS or MMS messages'), and it is easily distinguished from sibling tools like sms_and_mms_messages_get and sms_and_mms_messages_list, which handle reading/listings. No ambiguity.

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

Usage Guidelines4/5

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

The description provides clear usage context by noting that MMS is only supported for U.S. numbers and that there is a rate limit of 20 messages per phone number per 24 hours. While it doesn't explicitly mention alternatives or when not to use it, the context is sufficient for an agent to decide to use this tool for sending messages, given that sibling tools are for retrieval and management.

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

sms_and_mms_opt_outs_createAInspect

Creates an opt-out for a Sender ID, 10DLC campaign, or all outbound messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
opt_outYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 states the action and scope but does not mention idempotency, whether existing opt-outs are overwritten, required permissions, or any side effects beyond creation. The 'or all outbound messages' nuance is helpful but insufficient for full 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, front-loaded sentence with no filler. Every word adds meaning, and it covers the core purpose efficiently.

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

Completeness3/5

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

This is a simple create tool with an output schema and clear parameter definitions. However, the description lacks usage limitations and behavioral side-effect details, and with no annotations, the overall context feels minimally viable rather than fully complete.

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

Parameters3/5

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

The input schema includes descriptions and examples for the nested properties 'number' and 'sender_id', which clarify parameter meaning. The description itself does not add parameter-level information, but the schema's rich details make up for this.

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

Purpose5/5

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

The description uses a specific verb 'Creates' and resource 'opt-out', and clearly specifies three distinct scope targets: Sender ID, 10DLC campaign, or all outbound messages. This differentiates it from the sibling tool sms_and_mms_opt_outs_list, which lists opt-outs.

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

Usage Guidelines4/5

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

The description implies when to use this tool: when you need to opt out a phone number from messages from a Sender ID, a 10DLC campaign, or all outbound messages. It does not explicitly mention exclusions or alternatives, but the purpose is clearly scoped and the sibling list tool provides an obvious contrast.

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

sms_and_mms_opt_outs_listAInspect

Returns a paginated list of opted-out phone numbers. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to retrieve.
per_pageNoNumber of records per page.
sender_idNoSender ID for filtering.
campaign_idNo10DLC campaign for filtering.
created_afterNoStart date in `YYYY-MM-DD` format.
created_beforeNoEnd date in `YYYY-MM-DD` format.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsNo
paginationNo
Behavior4/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It provides useful pagination behavior ('limited to 25 records per page by default') and navigation guidance, which goes beyond the schema. It could additionally mention filtering semantics, but the provided information is solid.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, followed by essential pagination details. There is no redundant information, making it highly concise and well-structured.

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

Completeness4/5

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

Given the tool's simplicity (a list with optional filters) and the existence of an output schema, the description is largely complete. It lacks explicit mention of the filtering options, but those are fully described in the schema, so the agent can discover them. The pagination behavior is essential and included.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 6 parameters have descriptions in the schema, so the schema coverage is 100%. The description only references `page` and `per_page`, which are already documented in the schema, adding no extra parameter semantics beyond what the schema provides.

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

Purpose5/5

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

The description clearly states 'Returns a paginated list of opted-out phone numbers', using a specific verb and resource. It distinguishes this tool from the sibling create tool (sms_and_mms_opt_outs_create) by focusing on listing rather than creation.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool: whenever you need to retrieve opted-out phone numbers. It does not explicitly mention exclusions or alternatives, but the resource is unique among sibling tools, making the usage context clear.

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

sms_and_mms_sender_ids_createCInspect

Creates a Sender ID. Use the 10DLC API to create Sender IDs in the US.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesSender ID type.
samplesNoMessage samples.
usecaseYesUse case for the Sender ID
countriesYesTwo-letter ISO country codes where the Sender ID is allowlisted.
sender_idYesSender ID name. Can be either an alphanumeric string or a phone number.
monthly_volumeNoExpected monthly volume.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/5

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

No annotations exist, so the description carries the full burden. It only says 'Creates' without disclosing side effects, prerequisites, approval processes, or whether the operation is synchronous. A mutation tool with zero annotation coverage needs more behavioral detail.

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

Conciseness4/5

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

The description is concise at two sentences with minimal fluff. The second sentence about the 10DLC API is somewhat redundant but still serves as a geographic/regulatory hint. It is not as tight as the best examples but is efficient.

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

Completeness2/5

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

Despite having an output schema and a complex six-parameter create operation, the description is thin. It does not explain the relationship with ten_dlc_brands_create or campaigns, nor does it mention any required prior registration steps. The tool appears to be part of a larger workflow, but the description doesn't help the agent understand the 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 baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides, but the schema itself is well-described with enums and examples.

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

Purpose5/5

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

The description clearly states the action and resource: 'Creates a Sender ID.' It distinguishes from sibling tools like sms_and_mms_sender_ids_list/delete/get by being the create operation, and the geographic scope 'in the US' adds useful context.

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 phrase 'Use the 10DLC API' hints at a specific workflow, but there is no explicit guidance on when to use this tool versus alternatives. Given the many ten_dlc_* sibling tools, it lacks any explanation of how this fits into the broader 10DLC registration process.

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

sms_and_mms_sender_ids_deleteCInspect

Deletes a Sender ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSender ID ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 'Deletes' without noting irreversibility, permission requirements, or side effects. This is a significant gap for a destructive operation.

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

Conciseness4/5

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

The description is a single, clear sentence with no wasted words. It is appropriately sized for a simple delete operation, though it is slightly under-specified in terms of details.

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

Completeness3/5

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

For a simple delete-by-ID tool, the description plus schema is mostly adequate, and the output schema covers return values. However, missing behavioral context and usage guidance makes it incomplete, especially without annotations.

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

Parameters3/5

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

The input schema has 100% coverage for the single 'id' parameter, including an example and description. The tool description adds no additional parameter meaning, 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 ('Deletes') and the resource ('a Sender ID'), which aligns with the tool's name and distinguishes it from sibling operations like create, get, and list. While minimal, it fully answers what the tool does.

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

Usage 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, prerequisites, or alternatives. The description only states the action without contextualizing it within the sender ID workflow, leaving the agent without direction on appropriate usage.

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

sms_and_mms_sender_ids_getCInspect

Returns a Sender ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSender ID ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic read operation and does not mention whether the ID must exist, error handling, permissions, or any side effects. The description adds minimal value beyond what is obvious from the tool name.

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

Conciseness4/5

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

The description is a single sentence with no extraneous words, front-loaded with the verb. It is appropriately sized for a simple getter, though it could include a bit more context 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 low complexity, an output schema exists, and the parameter is fully documented, the description is minimally complete. It lacks context about when to use the tool, but there is no missing structural information.

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

Parameters3/5

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

The input schema has 100% description coverage for the single 'id' parameter, so the description does not need to explain it. The description adds no extra semantic meaning, but the schema alone is sufficient for parameter understanding.

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

Purpose4/5

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

The description 'Returns a Sender ID' uses a specific verb and resource, clearly indicating this is a retrieval operation. It distinguishes from sibling tools like sms_and_mms_sender_ids_list (which returns multiple) and create/delete by focusing on a single entity.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, such as list or create. No context is provided about when a sender ID should be fetched individually or what prerequisites exist.

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

sms_and_mms_sender_ids_listBInspect

Returns a list of Sender IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 simply states 'Returns a list of Sender IDs,' which is largely a restatement of the tool name, adding no extra context about pagination, rate limits, authentication, or side effects. The description provides minimal insight beyond what the name already implies.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is concise and directly states the purpose. However, while it is efficiently written, it is also quite sparse, lacking any usage or behavioral context that could make it more helpful, so it loses a point for being too minimal.

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 low complexity (no parameters) and the presence of an output schema, the description is minimally adequate. It covers the basic return type (a list of Sender IDs), but it lacks contextual details such as whether this lists all sender IDs for the account, any ordering, or why one might use it. Overall, it is sufficient for a simple read-only list but leaves room for improvement.

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

Parameters4/5

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

The tool has zero parameters, and the input schema is empty (coverage 100%). Per the baseline for tools with no parameters, the description does not need to explain parameters, and it correctly avoids adding irrelevant information. The absence of parameters is fully reflected in the schema, so no additional semantic explanation is necessary.

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: 'Returns a list of Sender IDs.' The verb 'returns' and the specific resource 'Sender IDs' make it unambiguous. While it doesn't explicitly distinguish from the sibling 'get' tool, the term 'list' implies a collection, differentiating it from 'get' which returns a single item.

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. It doesn't mention whether this returns all sender IDs or how it relates to other SMS tools like 'sms_and_mms_sender_ids_get'. The description provides no context or exclusions, leaving the agent 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.

speech_analytics_createAInspect

Uploads an audio file for transcription. Wavix sends a POST callback to the specified callback URL when the transcription is complete.

Callback body:

   {
        "request_id": "e865ea07-25af-4fdd-876e-04b0d41d5ebd",
        "status": "completed",
        "error": null
   }
  • request_id: Transcription request ID.

  • status: Operation status. Possible values are completed, failed. completed indicates successful transcription; failed indicates an error. - error: Error description. Value is null if the transcription was successful.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoBinary file content. Maximum size is 25 MB. Wavix supports WAV, MP3, and MP4 stereo formats.
insightsNoIndicates whether to enable insights generation.
callback_urlNoCallback URL for transcription status updates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 transparently explains that a POST callback is sent to the specified URL upon completion, and it details the callback body with status values and error handling. This goes beyond a simple 'create' statement, giving the agent a clear picture of the asynchronous nature and expected result, though it omits details about authentication or rate limits.

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

Conciseness4/5

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

The description is moderately concise, with a clear opening sentence followed by a detailed callback example and explanations. Every sentence serves a purpose, though the JSON block adds length. It is well-structured and not overly verbose, earning a slight deduction only for the additional detail that could have been summarized.

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

Completeness4/5

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

The description is complete for an upload/transcription tool with a callback. It explains the main behavior and the callback format. Given that an output schema exists, it needn't describe return values. It lacks explicit alternatives or prerequisites, but those are covered more by usage guidelines; overall it sufficiently contextualizes the tool within its domain.

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

Parameters4/5

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

Schema coverage is 100% with each parameter described. The description adds value by explaining the callback body semantics, which enriches the meaning of the callback_url parameter. It also reinforces file constraints indirectly through the schema; however, it does not add much about insights or file beyond what the schema already provides, but the callback context justifies a score above baseline.

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

Purpose5/5

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

The description clearly states the tool's function: 'Uploads an audio file for transcription.' This is a specific verb+resource pair and distinguishes it from sibling tools like speech_analytics_file_get or speech_analytics_get. The mention of callback upon completion further clarifies its role.

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: if you need to transcribe an audio file, use this tool. However, it does not explicitly mention alternatives or when not to use it, nor does it reference sibling tools such as speech_analytics_retranscribe or speech_analytics_get. The guidance is present but not explicit enough for a higher score.

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

speech_analytics_file_getAInspect

Get a download URL for a speech-analytics audio file.

Returns {download_url, content_type, status_code, note} instead of the binary audio stream (WAV/MP3/MP4). Fetch download_url to obtain the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description must carry the burden. It discloses the return shape, the fact that binary audio is not returned, and instructs the agent to fetch download_url. It does not mention possible URL expiration or auth requirements, but for a simple get operation this is reasonably transparent.

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

Conciseness5/5

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

Three focused sentences, front-loaded with the key action, and no filler. Every sentence adds useful information.

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

Completeness4/5

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

This is a low-complexity tool with one parameter and an output schema. The description explains the return object, the workflow, and a key behavioral distinction. Missing explicit parameter meaning, but overall it is sufficient for an agent to invoke correctly.

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

Parameters2/5

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

The schema has 0% coverage and the description never mentions the required 'uuid' parameter. The name and context imply uuid identifies the speech-analytics audio file, but the description does not explicitly map or explain it.

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

Purpose5/5

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

Description states 'Get a download URL for a speech-analytics audio file'—a specific verb and resource. It distinguishes from direct binary retrieval by noting it returns {download_url, content_type, status_code, note} instead of a WAV/MP3/MP4 stream.

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

Usage Guidelines4/5

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

The description makes the intended use clear: obtain a URL, then fetch download_url. It also explicitly contrasts this with returning binary audio. However, it does not name sibling alternatives or state exactly when not to use this tool.

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

speech_analytics_getCInspect

Returns a transcription.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesTranscription request ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states a basic return behavior with no mention of error handling, prerequisites, or side effects, which is insufficient for a tool that might have edge cases differing from similar getters.

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, front-loaded with the core action and object. It avoids waste, but is extremely minimal, lacking context that could be valuable for differentiation.

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 output schema exists and the tool is a simple retrieval by UUID, the description is minimally adequate. However, it omits any relationship to sibling tools or additional context, making it barely complete for an agent navigating a large toolset.

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

Parameters3/5

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

Schema coverage is 100%, with the single parameter 'uuid' described as 'Transcription request ID'. The description adds no parameter-specific meaning, but schema already provides sufficient detail, so 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 ('Returns') and resource ('a transcription'), aligning with the tool name. However, it does not distinguish from sibling tools like cdrs_transcription_get or speech_analytics_file_get that may also return transcriptions.

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, no exclusions, and no context for selection. The description is purely functional with no usage direction.

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

speech_analytics_retranscribeBInspect

Retranscribes an uploaded file.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesTranscription request ID.
insightsNoIndicates whether to enable insights generation.
callback_urlNoCallback URL for transcription status updates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNoIndicates whether the request was successful.
Behavior2/5

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

Annotations are absent, so the description bears full responsibility. It implies a mutating operation ('retranscribes') but does not disclose side effects (e.g., whether previous results are overwritten, whether it is asynchronous, any cost implications, or failure modes). This leaves significant behavioral ambiguity.

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, tightly worded sentence with zero filler. It is appropriately front-loaded and concise, though it sacrifices explanatory depth.

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

Completeness2/5

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

Despite having an output schema and only three parameters, the description is too sparse. It does not clarify the role of the insights flag or callback_url, nor does it explain what 'retranscription' entails in terms of lifecycle or integration. Given the absence of annotations, the description is insufficient for an agent to use the tool confidently.

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

Parameters3/5

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

The input schema covers 100% of parameters with descriptions for uuid, insights, and callback_url. The tool description adds no parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate per the rubric.

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

Purpose5/5

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

The description uses the specific verb 'retranscribes' with a clear resource ('an uploaded file'), and the name itself distinguishes this from siblings like speech_analytics_create (initial transcription) and cdrs_retranscribe (CDR-specific variant). It unambiguously states what the tool does.

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

Usage 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 speech_analytics_create or cdrs_retranscribe. The description is purely declarative and offers no context about prerequisites, exclusions, or preferred use cases.

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

sub_accounts_createCInspect

Creates a sub-account.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSub-account name.
default_destinationsNoDefault webhook URLs for inbound messages and delivery reports.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesSub-account ID.
nameYesSub-account name.
statusYesSub-account status.
api_keyYesSub-account API key.
created_atYesDate and time the sub-account was created in ISO 8601 format.
master_organizationYesMaster account ID.
default_destinationsYesDefault webhook URLs for inbound messages and delivery reports.
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 'Creates a sub-account' and does not mention side effects, required permissions, reversibility, or return behavior. For a mutation tool, this is insufficient transparency.

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 extremely concise at five words, front-loading the purpose effectively. It wastes no words, though it could benefit from a bit more detail about the sub-account concept without becoming verbose.

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

Completeness2/5

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

Despite having an output schema (not shown) and a detailed input schema, the description lacks essential context about the purpose of sub-accounts, default webhook destinations, or any behavioral expectations. The tool is more complex than the description implies, given its nested parameters, so completeness is low.

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

Parameters3/5

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

The input schema fully documents both parameters (name and default_destinations) with descriptions and examples, so schema coverage is 100%. The description adds no additional parameter-level meaning, achieving the baseline of 3 for high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('Creates a sub-account') with a specific verb and resource. It distinguishes from sibling tools like sub_accounts_list and sub_accounts_update, which perform different operations. However, it lacks any context about what a sub-account entails, so it stops short of a fully clarifying 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, prerequisites (e.g., need an existing parent account), or scenarios where creating a sub-account is appropriate. The description simply states the action without usage context.

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

sub_accounts_getCInspect

Returns a specific sub-account. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSub-account ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesSub-account ID.
nameYesSub-account name.
statusYesSub-account status.
api_keyYesSub-account API key.
created_atYesDate and time the sub-account was created in ISO 8601 format.
master_organizationYesMaster account ID.
default_destinationsYesDefault webhook URLs for inbound messages and delivery reports.
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. It adds a misleading pagination claim that contradicts the input schema (which has only an 'id' parameter and no page/per_page). It fails to disclose behavior like error handling, auth requirements, or response structure, and actively introduces false information.

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

Conciseness2/5

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

The description is short but includes irrelevant and potentially incorrect pagination instructions. While concise in length, it sacrifices accuracy for brevity, and the misleading sentence should have been omitted, making the structure poorly reasoned.

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 existence of an output schema, the description need not explain return values, but for a simple get tool it should at least clarify usage context and any limitations. The pagination note is likely an erroneous copy-paste, leaving the description incomplete and somewhat confusing for a single-record fetch.

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

Parameters2/5

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

The schema already describes the 'id' parameter with 100% coverage, so the description adds no value for parameters. Worse, it mentions 'page' and 'per_page' which are not in the schema, misleading the agent about valid parameters and diminishing clarity.

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

Purpose4/5

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

The first sentence clearly states the tool returns a specific sub-account, using a specific verb and resource. However, the second sentence about pagination is confusing for a get-by-ID operation and may mislead about the tool's actual scope, lowering the score from 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like sub_accounts_list. The pagination instruction suggests a list-like behavior but doesn't clarify that this is for retrieving a single record, leaving the usage context unclear.

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

sub_accounts_listBInspect

Returns a paginated list of sub-accounts. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoAccount status to filter results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
paginationNo
sub_organizationsNo
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavioral traits. It adds useful pagination context (25 records per page default) but does not mention read-only nature, authentication, rate limits, or any side effects. Some transparency is provided, but gaps remain.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, and contains no superfluous content. Every clause adds relevant information about pagination and default limits.

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 list tool with one schema parameter and an output schema, the description covers pagination and default limit. However, the mismatch between mentioned pagination parameters and the schema, plus the lack of alternative tool references, leaves the description incomplete for effective tool selection.

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

Parameters2/5

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

The schema covers the status parameter with full description, but the description introduces 'page' and 'per_page' parameters that are absent from the provided schema. This mismatch can confuse an agent, as it implies parameters that are not formally defined, reducing the value of the parameter description.

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 returns a paginated list of sub-accounts, using a specific verb and resource. It distinguishes from sub_accounts_get in the sibling list, though it does not explicitly name the alternative.

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

Usage Guidelines2/5

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

The description provides pagination navigation instructions ('Use page and per_page to navigate results') but offers no guidance on when to use this tool versus alternatives like sub_accounts_get or sub_accounts_transactions_list. No explicit exclusions or prerequisites are mentioned.

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

sub_accounts_transactions_listAInspect

Returns a paginated list of transactions for a specific sub-account. Filter by date range and type. Results are paginated with 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSub-account ID.
pageNoPage number to retrieve.
typeNoTransaction types to filter results.
to_dateYesEnd date in `YYYY-MM-DD` format.
per_pageNoNumber of records per page.
from_dateYesStart date in `YYYY-MM-DD` format.

Output Schema

ParametersJSON Schema
NameRequiredDescription
paginationNo
transactionsNo
Behavior3/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 discloses pagination behavior (25 records per page, page/per_page navigation) and filtering capabilities (date range, type), which are useful. However, it does not mention result ordering, error conditions, or rate limits, making it adequate but not rich.

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

Conciseness5/5

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

The description is three sentences long, each earning its place: the first states the purpose, the second outlines filtering, and the third explains pagination. There is no wasted wording, and the key information is front-loaded.

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

Completeness4/5

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

With an output schema present, the description need not explain return values. The description adequately covers the tool's scope (specific sub-account), filtering, and pagination defaults, which is sufficient for a list operation. It omits optional details like sorting order, but the overall context is complete enough for an agent to use it correctly.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all six parameters. The description adds a high-level interpretation by grouping parameters into 'date range' and 'type' and mentioning page/per_page, but this does not go beyond the schema's already detailed parameter descriptions. Baseline 3 is appropriate since the schema handles the heavy lifting.

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

Purpose5/5

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

The description clearly states the specific verb and resource: 'Returns a paginated list of transactions for a specific sub-account.' This distinguishes it from sibling tools like billing_transactions_list by explicitly scoping to sub-accounts. The resource and scope are unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context on how to use the tool: filter by date range and type, and navigate results with page/per_page. It implies the tool is for sub-account transaction listing, but it does not explicitly mention alternatives or when not to use it. A clear usage scenario, but no exclusions.

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

sub_accounts_updateCInspect

Updates a sub-account's configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSub-account ID.
nameYesSub-account name.
statusNoSub-account status.
default_destinationsNoDefault webhook URLs for inbound messages and delivery reports.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesSub-account ID.
nameYesSub-account name.
statusYesSub-account status.
api_keyYesSub-account API key.
created_atYesDate and time the sub-account was created in ISO 8601 format.
master_organizationYesMaster account ID.
default_destinationsYesDefault webhook URLs for inbound messages and delivery reports.
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states the generic action 'updates' without revealing whether updates are partial or full replacements, what side effects occur, whether permissions are required, or how errors are handled. This adds nothing beyond the tool name.

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

Conciseness4/5

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

The description is a single sentence with no redundant words, making it concise and front-loaded. While it is terse, the structure is clean and not overly verbose, scoring high on economy of language.

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 with 4 parameters including an enum and a nested object, and with zero annotations, the one-sentence description is insufficient. The output schema exists for return values, but the description fails to provide necessary context about use cases, update semantics, or required fields beyond what the schema already lists.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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% coverage with descriptions for all four parameters, including the nested default_destinations object. The description provides no additional param semantics, so the baseline score of 3 is appropriate as 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 'Updates a sub-account's configuration' uses a specific verb (Updates) and resource (sub-account's configuration), clearly distinguishing it from siblings like sub_accounts_create, sub_accounts_get, and sub_accounts_list. However, it does not specify which configuration fields are modifiable, making it slightly generic.

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 (e.g., sub_accounts_create for new sub-accounts or sub_accounts_get for retrieval). It implies modifying an existing resource via the verb 'update' but offers no explicit context, prerequisites, or exclusions.

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

ten_dlc_brand_appeals_createAInspect

Submits an appeal for 10DLC brand identity verification. Provide any additional documentation to support the appeal. Use appeal_category to specify the appeal type:

  • VERIFY_TAX_ID — Use if the brand is UNVERIFIED due to a tax ID mismatch. Applies to private companies, public companies, non-profits, and government entities.

  • VERIFY_NON_PROFIT — Use if a non-profit brand is UNVERIFIED or VERIFIED but missing tax-exempt status.

  • VERIFY_GOVERNMENT — Use if a government brand is UNVERIFIED or VERIFIED but missing government entity status.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.
evidenceYesList of evidence IDs associated with the appeal.
explanationNoAppeal comment or justification.
appeal_categoriesYesList of appeal categories. Allowed values: `VERIFY_TAX_ID`, `VERIFY_NON_PROFIT`, `VERIFY_GOVERNMENT`

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden. It explains the appeal categories and the need for documentation, which is helpful. However, it does not disclose key behavioral traits like whether the appeal is created immediately, idempotency, side effects, or prerequisites (e.g., evidence must be uploaded first). This is a gap for a mutation tool.

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

Conciseness4/5

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

The description is well-structured: a lead sentence stating purpose, a brief instruction about documentation, and a clear bulleted list for the three appeal types. It is appropriately sized and front-loaded, with no excessive verbosity, though the trailing whitespace is unnecessary.

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

Completeness4/5

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

Given the output schema exists, the description adequately covers the tool's purpose, key parameter semantics, and usage conditions. It does not explain return values (not needed given output schema), but it omits important contextual details like the need to upload evidence first (sibling tool ten_dlc_brand_evidence_upload) and how this tool differs from ten_dlc_brand_vetting_appeals_create. Still, it is largely complete for selection and invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the semantic differences between the allowed values of appeal_categories (VERIFY_TAX_ID, VERIFY_NON_PROFIT, VERIFY_GOVERNMENT), which is beyond the schema's simple value list. Minor inconsistency: description refers to 'appeal_category' (singular) while schema uses 'appeal_categories' (plural), but this does not undermine understanding.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Submits an appeal for 10DLC brand identity verification.' It uses a specific verb ('submits') and resource ('appeal for 10DLC brand identity verification'), and the detailed category breakdown further clarifies what the tool does, distinguishing it from the sibling appeals_list tool and the vetting_appeals_create tool.

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

Usage Guidelines4/5

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

The description provides explicit when-to-use guidance for each appeal category ('Use if...'), giving clear conditional context. However, it does not mention alternatives or when not to use this tool, such as when a vetting appeal would be more appropriate. There are no exclusions stated, so it lacks the 'when-not' component of a perfect 5.

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

ten_dlc_brand_appeals_listBInspect

Returns a list of brand identity verification appeals.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

There are no annotations, so the description carries the full burden. It merely states 'Returns a list' without disclosing any behavioral traits such as pagination, ordering, authentication requirements, or the nature of 'brand identity verification appeals'. Minimal disclosure.

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

Conciseness5/5

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

The description is a single sentence that is direct and front-loaded with the action ('Returns a list'). There is zero wasted language, making it appropriately concise.

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?

This is a simple list tool with one parameter and an output schema, so the description need not explain return values in depth. However, it lacks context on how this tool differs from similar sibling tools and what 'brand identity verification appeals' are, leaving some ambiguity.

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

Parameters3/5

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

Schema description coverage is 100% with the parameter 'brand_id' described as 'Brand ID.' The description adds no additional meaning beyond the schema. Baseline is 3, which is appropriate here.

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 'Returns a list of brand identity verification appeals' with a specific verb and resource. However, it does not explicitly differentiate from the sibling tool 'ten_dlc_brand_vetting_appeals_list', which could be a potential alternative for listing appeals.

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. There is no mention of prerequisites, context, or exclusions. Given the sibling tool 'ten_dlc_brand_vetting_appeals_list', the lack of differentiation is a significant gap.

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

ten_dlc_brand_campaigns_createCInspect

Registers a 10DLC Campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
helpYesIndicates whether the campaign has a help system (e.g. keyword: HELP, INFO) that subscribers can use or not.
mockYesIndicates a mock Campaign. The mock Campaigns cannot be used to send production traffic
nameYesA user-defined Campaign name
optinYesIndicates whether the campaign requires a subscriber to opt-in before receiving messages or not.
optoutYesIndicates whether the campaign has an opt-out system (e.g. keyword: STOP, QUIT) that subscribers can use or not.
sample1YesMessage sample
sample2YesMessage sample
sample3YesMessage sample
sample4YesMessage sample
sample5YesMessage sample
usecaseYesThe Campaign use case
brand_idYesBrand ID.
age_gatedYesIndicates whether the Campaign messages contain age-gated content
descriptionYesThe Campaign description
auto_renewalYesIndicates whether the Campaign should be automatically renewed
help_messageYesAn acknowledgement to be sent when a HELP keyword is received
help_keywordsYesA comma-separated list of HELP keywords. The HELP keywords are case-insensitive.
optin_messageYesAn acknowledgement to be sent when an OPT-IN keyword is received
direct_lendingYesIndicates whether the Campaign messages contain direct lending content
embedded_linksYesIndicates whether the Campaign messages contain embedded links
optin_keywordsYesA comma-separated list of OPT-IN keywords. The OPT-IN keywords are case-insensitive.
optin_workflowYesThe opt-in workflow - the process through which consumers opt-in to the Campaign
optout_messageYesAn acknowledgement to be sent when an OPT-OUT keyword is received
privacy_policyNoA link to the Campaign privacy policy
embedded_phonesYesIndicates whether the Campaign messages contain embedded phone numbers
optout_keywordsYesA comma-separated list of OPT-OUT keywords. The OPT-OUT keywords are case-insensitive.
terms_conditionsYesA link to the Campaign terms and conditions
affiliate_marketingYesIndicates whether the Campaign is used for affiliate marketing
embedded_link_sampleYesAn embedded link sample

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/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 only states 'Registers a 10DLC Campaign,' which is purely the purpose. It does not disclose side effects, required vetting, data persistence, or any operational implications. This is essentially a purpose restatement with no behavioral detail.

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

Conciseness3/5

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

The description is a single sentence, which is concise and front-loaded. However, for a tool with 29 parameters, it is under-specified and lacks any structural breakdown (e.g., what the campaign entails or steps to complete). It earns a mid score for being brief but not being 'appropriately sized' given the tool's complexity.

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's high complexity (29 params, output schema) and lack of annotations, the description is severely incomplete. It does not mention the registration workflow, prerequisites, or post-registration steps. Although an output schema exists and return values needn't be explained, the description still fails to provide critical context for proper use, making it inadequate for a transactional tool of this scope.

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

Parameters3/5

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

The schema has 29 parameters with 100% description coverage, so the baseline is 3. The description adds no parameter-level meaning, but it doesn't need to because the schema already documents each parameter's semantics adequately. The description's failure to mention that many fields are required is a minor gap, but the schema's rich descriptions carry the information.

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

Purpose5/5

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

The description uses a specific verb ('Registers') and resource ('10DLC Campaign'), clearly indicating the action and object. It distinguishes this from sibling tools like ten_dlc_brand_campaigns_delete, get, list, and update, making the purpose unambiguous.

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

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 relative to alternatives. It does not mention prerequisites (e.g., needing a brand_id or brand approval) or exclude any scenarios. The tool name itself implies creation, but the description offers no explicit usage context.

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

ten_dlc_brand_campaigns_deleteAInspect

Deletes a 10DLC Campaign. Associated phone numbers cannot be used as Sender IDs once the Campaign is deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.
campaign_idYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 discloses a significant irreversible consequence: associated phone numbers cannot be used as Sender IDs after deletion. This goes beyond a simple 'delete' and provides context that helps the agent anticipate side effects, though it does not cover other potential failure modes.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core action, and the second sentence adds a critical warning without redundancy. Every word contributes value.

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

Completeness4/5

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

For a simple delete operation with two parameters and an output schema, the description covers the primary purpose and key side effect. It could be more complete by noting irreversibility or error conditions, but it is adequate for the tool's complexity.

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

Parameters3/5

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

The input schema already describes brand_id and campaign_id, and schema coverage is 100%, so the baseline is 3. The description adds no additional parameter semantics, but the parameter names and schema descriptions are clear enough for invocation.

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

Purpose5/5

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

The description uses a specific verb ('Deletes') and identifies the resource ('10DLC Campaign'). The additional consequence about Sender IDs distinguishes this from sibling CRUD operations on campaigns, making the purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies usage through the verb 'Deletes' but does not explicitly state when to use this tool versus alternatives such as ten_dlc_brand_campaigns_update or list. No exclusions or prerequisites are given, so the agent must infer from the tool name.

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

ten_dlc_brand_campaigns_getCInspect

Returns a 10DLC Campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.
campaign_idYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/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 merely states 'Returns a 10DLC Campaign' without revealing any behavioral traits such as error behavior, permission requirements, or the structure of the returned object. This is a significant transparency gap for a retrieval 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 sentence, front-loaded with the verb and resource, and contains no fluff. It is appropriately concise for a simple retrieval tool, though the brevity borders on under-specification rather than being optimally informative.

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

Completeness3/5

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

An output schema exists, so explaining return values is not necessary. The tool is low-complexity with two parameters that are fully described in the schema. However, the lack of annotations and usage guidance makes the overall contextual information minimal; it is adequate but not enriched.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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% field description coverage for both parameters ('Brand ID.', 'Campaign ID.'), so the baseline of 3 applies. The description adds no additional parameter meaning beyond what the schema already provides, such as format constraints or how to obtain the IDs.

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

Purpose4/5

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

The description uses the verb 'Returns' with the resource '10DLC Campaign', clearly indicating a retrieval operation. However, it does not explicitly distinguish between fetching a single campaign by IDs versus listing campaigns, though the required 'brand_id' and 'campaign_id' imply a specific record. This is clear but less differentiated than the sibling 'get' vs 'list' pairs.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives. Sibling tools like 'ten_dlc_brand_campaigns_list' and 'ten_dlc_campaigns_list' exist, but the description does not mention that this tool retrieves a specific campaign or exclude list scenarios. No alternative tools or exclusions are cited.

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

ten_dlc_brand_campaigns_listAInspect

Returns 10DLC Campaigns associated with a Brand. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
mockNoIndicates whether to include mock Campaigns only.
nameNoCampaign name.
pageNoPage number to retrieve.
statusNoCampaign status.
usecaseNoUse case.
brand_idYesBrand ID.
per_pageNoNumber of records per page.
created_afterNoCampaign creation start date in `YYYY-MM-DD` format.
created_beforeNoCampaign creation end date in `YYYY-MM-DD` format.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the burden of disclosure. It adds the default page limit (25) and how to paginate with `page` and `per_page`, which is useful. However, it does not disclose other behavioral traits such as ordering, error behavior, or whether filters like `status` and `name` are exact or partial matches.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, and no wasted words. It efficiently conveys the primary function and the essential pagination behavior.

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

Completeness4/5

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

Given the comprehensive input schema and the existence of an output schema, the description is adequate for a list operation. It could mention the required `brand_id` or available filters, but the schema already covers that, so the description adds sufficient context for agent invocation.

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

Parameters3/5

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

The input schema provides 100% coverage with descriptions for all 9 parameters, so the baseline is 3. The description adds minimal extra meaning by naming `page` and `per_page` explicitly as navigation parameters, but does not go beyond what the schema already says.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and clearly identifies the resource ('10DLC Campaigns') and scope ('associated with a Brand'), which distinguishes it from the sibling ten_dlc_campaigns_list (all campaigns) and ten_dlc_brand_campaigns_get (single campaign).

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

Usage Guidelines4/5

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

The description clearly implies the tool is for listing campaigns tied to a specific brand and provides explicit pagination guidance. It does not explicitly name alternatives or exclusions, but the purpose is clear enough for an agent to select it appropriately over other campaign list tools.

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

ten_dlc_brand_campaigns_updateCInspect

Updates a 10DLC Campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
helpNoIndicates whether the Campaign provides HELP responses
nameNoA user-defined Campaign name
optinNoIndicates whether the Campaign supports opt-in functionality
optoutNoIndicates whether the Campaign supports opt-out functionality
sample1NoMessage sample
sample2NoMessage sample
sample3NoMessage sample
sample4NoMessage sample
sample5NoMessage sample
usecaseNoCampaign use case
brand_idYesBrand ID.
age_gatedNoIndicates whether the Campaign messages contain age-gated content
campaign_idYesCampaign ID.
descriptionNoThe Campaign description
auto_renewalNoIndicates whether the Campaign should be automatically renewed
help_messageNoAn acknowledgement to be sent when a HELP keyword is received
help_keywordsNoA comma-separated list of HELP keywords. The HELP keywords are case-insensitive.HELP
optin_messageNoAn acknowledgement to be sent when an OPT-IN keyword is received
direct_lendingNoIndicates whether the Campaign messages contain direct lending content
embedded_linksNoIndicates whether the Campaign messages contain embedded links
optin_keywordsNoA comma-separated list of OPT-IN keywords. The OPT-IN keywords are case-insensitive.
optin_workflowNoThe opt-in workflow - the process through which consumers opt-in to the Campaign
optout_messageNoAn acknowledgement to be sent when an OPT-OUT keyword is received
privacy_policyNoA link to the Campaign privacy policy
embedded_phonesNoIndicates whether the Campaign messages contain embedded phone numbers
optout_keywordsNoA comma-separated list of OPT-OUT keywords. The OPT-OUT keywords are case-insensitive.
terms_conditionsNoA link to the Campaign terms and conditions
embedded_link_sampleNoAn embedded link sample

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/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 disclosing behavioral traits. It only states 'Updates a 10DLC Campaign,' with no mention of side effects, partial update semantics, permissions, or idempotency. This is a significant gap for a mutation tool.

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

Conciseness3/5

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

The description is a single sentence with no wasted words, but it is under-specified for a tool with 28 parameters and essential required fields. This is closer to under-specification than effective conciseness.

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

Completeness2/5

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

Given the complexity of the tool (28 params, 2 required), the description is too thin. It fails to explain what 'update' entails, which fields are updatable, or how it relates to brand campaigns. An output schema exists but the description provides no additional 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 has 100% description coverage across all 28 parameters, so the baseline is 3. The tool description adds no extra parameter context; the schema already provides detailed per-parameter descriptions.

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

Purpose4/5

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

The description 'Updates a 10DLC Campaign' clearly identifies the action (updates) and the resource (Campaign), distinguishing it from sibling operations like create, delete, get, and list. However, it does not elaborate on the scope or specifics, so it stops short of a 5.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not mention when to use this tool, how it relates to other ten_dlc_brand_campaigns_* tools, or any prerequisites such as the need for an existing brand/campaign.

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

ten_dlc_brand_evidence_deleteAInspect

Deletes a 10DLC Brand evidence file.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesEvidence ID.
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 states 'Deletes' but does not warn about irreversibility, potential side effects, or required permissions, which is a significant gap for a destructive operation.

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

Conciseness5/5

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

The description is a single, direct sentence that immediately conveys the tool's purpose. It is perfectly concise with no wasted words or redundancy.

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

Completeness3/5

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

The tool is simple and the schema fully documents both required parameters. However, the description lacks behavioral warnings, usage context, or notes about the deletion's consequences, making it minimally adequate but not comprehensive.

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

Parameters3/5

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

Schema description coverage is 100%, with both 'uuid' and 'brand_id' already described. The tool description adds no additional parameter context beyond what the schema provides, so it meets the baseline.

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

Purpose5/5

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

The description clearly states the action (Deletes) and the resource (10DLC Brand evidence file), making the tool's purpose unambiguous. The verb differentiates it from sibling tools like get, list, and upload.

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. While the delete action is self-explanatory, there is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage.

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

ten_dlc_brand_evidence_getAInspect

Get a download URL for a 10DLC brand evidence file.

Returns {download_url, content_type, status_code, note} instead of the binary file stream. Fetch download_url to obtain the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYes
brand_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Even with no annotations, the description discloses a critical behavioral trait: it returns a dict with download_url, content_type, status_code, and note instead of the binary file stream. This goes beyond what the name suggests and helps the agent understand the response format.

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

Conciseness5/5

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

The description is extremely concise, two sentences, with the main purpose front-loaded. Every sentence adds value without waste.

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

Completeness5/5

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

For a simple tool with two string parameters and an output schema, the description is complete: it states the purpose, return format, and next step. The presence of an output schema further reduces the need for detailed return documentation.

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

Parameters2/5

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

Schema coverage is 0%, and the description does not explain the parameters uuid and brand_id beyond what their names imply. Since the description must compensate for the missing schema detail, it falls short.

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 function: 'Get a download URL for a 10DLC brand evidence file.' This uses a specific verb and resource, and distinguishes it from related tools like upload, delete, and list by emphasizing the URL rather than the file itself.

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

Usage Guidelines4/5

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

The description provides clear post-call guidance: 'Fetch download_url to obtain the file.' This instructs the agent on the next step. However, it does not explicitly mention when to use this tool vs siblings (e.g., list to find UUIDs), making it less than a perfect score.

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

ten_dlc_brand_evidence_listBInspect

Use this method to list previously uploaded Brand appeal evidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesUnique identifier of a Brand

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesList of uploaded evidence files
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 only states the tool 'lists' evidence, but does not mention authentication requirements, pagination, ordering, or behavior for missing/invalid brand_id. This is minimal beyond the obvious read operation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. It states the purpose immediately and avoids unnecessary detail.

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

Completeness3/5

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

Given the tool's low complexity, one parameter, and presence of an output schema, the description is mostly adequate. However, it lacks explicit usage guidance and does not clarify whether the list is scoped to a single brand or global, which creates some ambiguity despite the required brand_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 brand_id is fully documented in the schema with type, example, and description, so schema coverage is 100%. The tool description adds no additional meaning or context about the parameter beyond what the schema already states.

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

Purpose4/5

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

The description clearly identifies the operation as listing previously uploaded Brand appeal evidence, using the verb 'list' and the resource 'Brand appeal evidence.' This distinguishes it from sibling tools like evidence upload, get, and delete, though it does not explicitly contrast with the 'get' variant.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as evidence_get or evidence_upload. The phrase 'previously uploaded' implies it is used after an upload, but there is no explicit when-to-use or when-not-to-use context.

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

ten_dlc_brand_evidence_uploadAInspect

Uploads 10DLC Brand evidence. Supported formats include .jpg, .png, .pdf, and more. File size must be under 10MB.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoFile to upload.
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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 usefully discloses supported formats (.jpg, .png, .pdf, and more) and the 10MB size limit. However, it does not mention authentication requirements, whether the upload creates or overwrites evidence, the response structure, or any other side effects beyond the upload 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?

The description is two sentences: the first clearly states the action and resource, the second packs the key constraints. There is no filler, redundant information, or repetition of schema fields. It is well-structured and front-loaded.

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

Completeness4/5

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

The tool is simple with only 2 parameters and an output schema exists, so return values are not needed in the description. The core action and important constraints (formats, size) are covered, making it sufficiently complete for an agent to understand the tool's basic operation. Missing usage and behavioral depth is accounted for in other dimensions.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 'File to upload' and 'Brand ID' already clearly described. The tool description adds format and size constraints that apply to the file parameter, but these are general constraints rather than parameter-specific guidance. With full schema coverage, no additional parameter semantics are needed.

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

Purpose5/5

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

The description opens with 'Uploads 10DLC Brand evidence', which is a specific verb+resource that clearly states the tool's function. It also distinguishes this upload tool from sibling evidence tools (delete, get, list) by the action 'upload'. The format and size constraints further clarify the tool's purpose.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when brand evidence is required for vetting or which evidence types are appropriate. There are no explicit exclusions or references to other tools, leaving the agent without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brands_createAInspect

Registers a 10DLC Brand. TCR automatically verifies the brand identity. Only brands with VERIFIED or VETTED_VERIFIED identity status can register 10DLC Campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYesThe business zip or postal code
cityYesThe city name
mockNoIndicates a mock Brand. You can create mock Brands for testing purposes only, production traffic with the mock Brands is prohibited.
emailYesThe email address of the support contact
countryYes2-letter ISO country code the business address
websiteNoThe website of the business
dba_nameYesBrand name or DBA
verticalYesThe segment the business operates in
ein_taxidYesIRS Employee Identification Number (EIN) for US-based or foreign companies with EIN. The numeric portion of Tax ID for companies incorporated in other countries.
last_nameYesThe last name of the business contact
first_nameYesThe first name of the business contact
entity_typeYesThe company entity type
company_nameYesLegal name of the company
phone_numberYesThe support contact telephone in E.164 format
stock_symbolNoThe stock symbol of the Brand. For PUBLIC_PROFIT Brands only.
stock_exchangeNoThe stock exchange code. For PUBLIC_PROFIT Brands only.
street_addressYesStreet name and house number
ein_taxid_countryYes2-letter ISO country code of the Tax ID issuing country
state_or_provinceYesState or province. For the United States, use 2 character codes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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 reveals a key behavioral trait: 'TCR automatically verifies the brand identity.' However, it does not disclose side effects, required permissions, or whether verification is asynchronous. The added context goes beyond the tool name but is still sparse for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the action ('Registers a 10DLC Brand'). It includes a meaningful additional fact about TCR verification without unnecessary words. It scores slightly below a 5 because it could be more structured or include a brief 'when to use' note.

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 19 parameters and complex registration semantics, the description is thin. It explains a prerequisite for campaigns but does not outline the brand creation workflow, expected outcomes, or any special handling beyond the schema. The output schema may cover return values, but the description leaves gaps in understanding the end-to-end process.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides comprehensive descriptions for all 19 parameters, covering 100% of the fields. The tool description adds no extra parameter-level detail, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Registers a 10DLC Brand.' This is a specific verb+resource combination that distinguishes it from sibling tools like ten_dlc_brands_get, ten_dlc_brands_update, etc. It also adds a relevant constraint about campaign registration that places this tool in the broader 10DLC workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to create new brands, but it does not explicitly state when to use it versus alternatives (e.g., update or delete). It also lacks any exclusions or alternative tool references. The context is clear but not overt.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brands_deleteAInspect

Deletes a 10DLC Brand. Brands with active campaigns cannot be deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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 adds a key trait: deletion is blocked for brands with active campaigns. However, it does not mention permanence, permission requirements, or other side effects, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences that immediately state the action and the central constraint. Every word earns its place; no unnecessary filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter delete operation, the description is largely complete: it states what is deleted and includes a critical precondition. The existence of an output schema covers return-value details. It could optionally mention that deletion is permanent, but overall it meets the needs for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the only parameter (brand_id) with a description and example, providing 100% coverage. The tool description adds no extra parameter-specific information, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Deletes a 10DLC Brand') with a specific verb and resource. This distinguishes it from sibling tools like create, update, get, and list, as well as from campaign deletion. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit condition for when deletion is not allowed: 'Brands with active campaigns cannot be deleted.' This gives the agent a clear guideline on when to use the tool (only for brands without active campaigns). It does not name alternative tools, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brands_getAInspect

Returns a 10DLC Brand.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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. The verb 'Returns' indicates a read-only operation, which is the primary behavioral trait. However, it does not mention any additional context such as authentication requirements, error handling (e.g., 404 if brand not found), or data freshness. Since the operation is a simple get, the omission of such details results in a score of 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence: 'Returns a 10DLC Brand.' It is appropriately minimal for a straightforward get operation, with no redundant words or filler. Every word earns its place, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter) and the existence of an output schema, the description is nearly complete. It accurately states the basic function, and the schema covers return values. However, it could be slightly more explicit about the fact that it retrieves a single brand by ID, which would improve completeness. The lack of any behavioral caveats prevents a score of 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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% parameter description coverage with 'brand_id' described as 'Brand ID.' The description 'Returns a 10DLC Brand' does not add any additional meaning to the parameter beyond what the schema already provides. It does not explain the format, constraints, or source of the brand_id, so it meets the baseline expectation for high coverage without adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') with a resource ('10DLC Brand'), clearly indicating a retrieval operation. It distinguishes itself from sibling tools like ten_dlc_brands_list (which returns multiple brands) and ten_dlc_brands_create/update/delete by focusing on getting a single brand. The name 'get' further reinforces this, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it is for retrieving a single brand by ID, nor does it point to ten_dlc_brands_list for listing all brands. There are no contextual cues or explicit recommendations, leaving the agent to infer usage purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brands_listAInspect

Returns a paginated list of 10DLC brands. Filter results by date, name, legal name, and status. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
mockNoIndicates whether to include mock brands only.
pageNoPage number.
statusNoBrand identity verification status.
countryNoBrand registration country.
dba_nameNoBrand name.
per_pageNoNumber of records per page.
ein_taxidNoEIN/Tax ID.
entity_typeNoBusiness entity type.
company_nameNoCompany legal name.
show_deletedNoIndicates whether to include deleted brands.
created_afterNoBrand creation start date in `YYYY-MM-DD` format.
created_beforeNoBrand creation end date in `YYYY-MM-DD` format.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It discloses key behaviors: results are paginated, limited to 25 per page by default, and navigable via page/per_page. It also mentions filterable dimensions, which is useful context beyond the bare tool 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?

Three sentences, front-loaded with the primary purpose, followed by filtering and pagination details. Every sentence earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 optional parameters and an output schema present, the description adequately covers the main list use case: retrieving paginated, filterable results. It does not enumerate every filter, but the schema covers those details. The output schema handles return value documentation, so no gap there.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter already described. The description adds a high-level grouping of filters (date, name, legal name, status) but does not introduce new syntax or details beyond the schema. This matches the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Returns a paginated list of 10DLC brands', specifying the verb (returns a list), resource (10DLC brands), and scope (paginated). This distinguishes it from sibling tools like ten_dlc_brands_get which retrieve a single brand.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: this is the list tool supporting filters and pagination. However, it does not explicitly mention when not to use it or when to prefer alternatives like ten_dlc_brands_get, so it lacks exclusions or direct sibling comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brands_updateAInspect

Updates a 10DLC brand. Updating identity-related parameters, including ein_taxid, ein_taxid_country, and entity_type, resets the Brand status to UNVERIFIED and triggers automatic re-submission. Brands in VETTED_VERIFIED status or with active Campaigns cannot be updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNoThe business zip or postal code
cityNoThe city name
mockNoMock flag for testing (optional, defaults to false)
emailNoThe email address of the support contact
countryNo2-letter ISO country code the business address
websiteNoThe website of the business
brand_idYesBrand ID.
dba_nameNoBrand name or DBA
verticalNoThe segment the business operates in
ein_taxidNoIRS Employee Identification Number (EIN) for US-based or foreign companies with EIN. The numeric portion of Tax ID for companies incorporated in other countries.
last_nameNoThe last name of the business contact
first_nameNoThe first name of the business contact
entity_typeNoThe company entity type
company_nameNoLegal name of the company
phone_numberNoThe support contact telephone in E.164 format
stock_symbolNoThe stock symbol of the Brand. For PUBLIC_PROFIT Brands only.
stock_exchangeNoThe stock exchange code. For PUBLIC_PROFIT Brands only.
street_addressNoStreet name and house number
ein_taxid_countryNo2-letter ISO country code of the Tax ID issuing country
state_or_provinceNoState or province. For the United States, use 2 character codes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 notably reveals that updating identity-related parameters resets status to UNVERIFIED and triggers automatic re-submission, and it states a key restriction. This adds meaningful context beyond the schema, though it could mention permission requirements or partial update semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences of focused, high-signal content. The main action is front-loaded, and each subsequent sentence adds critical behavioral or conditional detail without repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 20 parameters and an output schema, the description effectively covers the essential semantics: what the tool does, key side effects, and restrictions. It does not need to explain return values due to the output schema. A minor gap is the lack of explicit guidance on partial updates or prerequisite checks, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all 20 parameters, so the baseline is 3. The description adds value by grouping `ein_taxid`, `ein_taxid_country`, and `entity_type` as identity-related and explaining their shared side effect, which is not evident from individual parameter descriptions. This semantic grouping goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Updates a 10DLC brand' with a specific verb and resource. It differentiates from sibling tools like create, delete, get, and list by focusing on the update action and highlighting unique consequences (status reset, re-submission).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context about when updating is appropriate by explaining side effects and explicitly stating that brands in VETTED_VERIFIED status or with active Campaigns cannot be updated. However, it does not name alternative tools or explicitly say 'use this when you need to modify a brand', so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brand_usecase_qualifyAInspect

Returns the qualification results for a 10DLC Brand use case. Includes MNO-specific attributes, restrictions, and fees.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.
use_caseYesUse case name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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 discloses that the tool returns qualification results and lists included data (MNO-specific attributes, restrictions, fees), but it does not mention prerequisites (e.g., brand must exist, use case must be valid) or any operational behaviors beyond the obvious read-only nature implied by 'Returns'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose and followed by a concise, valuable addition about output content. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and full parameter descriptions, the description does not need to explain return values. It adequately covers what the tool does and what to expect. It could be improved by a hint about when in the brand qualification workflow to call it, but it is largely complete for a straightforward read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both brand_id and use_case have descriptions, and use_case has an enumerated list. The description adds no parameter-level 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') and identifies a precise resource ('qualification results for a 10DLC Brand use case'), which clearly distinguishes the tool from sibling 10DLC tools like brand get/list or campaign management. It also previews the content (MNO-specific attributes, restrictions, and fees), adding clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to check qualification of a use case for a brand, but it does not explicitly state when to use it compared to alternatives (e.g., before creating a campaign) or provide any exclusions. The usage context must be inferred from the tool name and sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brand_vetting_appeals_createCInspect

Submits an appeal for a 10DLC Brand external vetting.

ParametersJSON Schema
NameRequiredDescriptionDefault
evp_idNoEVP ID.
brand_idYesBrand ID.
evidenceYesList of evidence IDs associated with the appeal.
vetting_idNoVetting ID.
explanationNoAppeal comment or justification.
appeal_categoriesYesList of appeal categories. Allowed values: `VERIFY_TAX_ID`, `VERIFY_NON_PROFIT`, `VERIFY_GOVERNMENT`, `LOW_SCORE`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, but it only describes the action without disclosing side effects, prerequisites, permissions, or expected outcomes. For a mutation tool, this is a significant omission; the agent receives no behavioral context beyond what the name implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler or redundant phrasing. It is concise and front-loaded, immediately stating the primary purpose, which earns a top score on this dimension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and fully documented parameters, the description is too sparse for a create/submit tool with 6 parameters and related sibling tools. It lacks guidance on prerequisites, relationship to other appeal/vetting tools, and what to expect after submission, making it incomplete for confident agent 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?

The input schema has 100% description coverage for all 6 parameters, so the schema already documents each field. The description adds no parameter-specific meaning, but since the schema covers everything, 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 ('Submits an appeal') and the resource ('10DLC Brand external vetting'), which is specific and not a tautology. However, it doesn't distinguish this from the sibling tool 'ten_dlc_brand_appeals_create', which also deals with appeals, so it's not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives like 'ten_dlc_brand_appeals_create' or the related 'ten_dlc_brand_vettings_create'. The phrase 'external vetting' hints at a specific use case, but there are no explicit when/when-not or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brand_vetting_appeals_listBInspect

Returns a list of external vetting appeals for a 10DLC Brand.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It merely states that a list is returned, implying a read-only operation, but gives no details about pagination, ordering, filtering, authentication, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundant information. Every word contributes to the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with full schema coverage and an output schema, the description conveys the essential purpose. It is slightly incomplete because it does not address when to choose this over sibling list/create tools, but the overall context is sufficient for a low-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully covers the parameter with a type, example, and description ('Brand ID.'), so the description adds no extra meaning beyond what the schema already provides. Baseline 3 is appropriate when schema coverage is high.

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 'Returns a list of external vetting appeals for a 10DLC Brand.' It uses a specific verb and resource, and the qualifier 'external vetting appeals' distinguishes it from sibling tools like ten_dlc_brand_vetting_appeals_create and ten_dlc_brand_vettings_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios where another tool would be more appropriate, leaving selection entirely to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brand_vettings_createAInspect

Requests external vetting for a 10DLC Brand. Supported providers: AEGIS, CV, WMC. Supported classes: STANDARD, ENHANCED.

ParametersJSON Schema
NameRequiredDescriptionDefault
evp_idYesExternal vetting provider code
brand_idYesBrand ID.
vetting_classYesThe vetting class

Output Schema

ParametersJSON Schema
NameRequiredDescription
evp_idYesExternal vetting provider code
reasonsYesReason
vetting_idYesUnique identifier of the vetting request
create_dateYesThe date and time the vetting request is created
vetted_dateYesThe date and time the vetting request is competed
vetting_classYesThe vetting class
vetting_scoreYesThe assigned Brand vetting score
vetting_tokenYesUnique vetting token
vetting_statusYesStatus of the vetting request
vetting_detailsNoAdditional details of the vetting request
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It states an external request is made, but does not disclose whether vetting is asynchronous, whether it incurs costs, or what state changes occur to the brand. This leaves key behavioral traits undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences front-load the core purpose and immediately follow with useful enumeration of allowed values. No filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter create action with an output schema, the description covers purpose and supported values. However, it omits behavioral context such as asynchronous processing or prerequisites, so it is not fully self-sufficient.

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 schema already describes all three parameters, but the description adds concrete allowed values for evp_id (AEGIS, CV, WMC) and vetting_class (STANDARD, ENHANCED), which the schema lacks. This materially improves selection of valid inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action ('Requests external vetting') and clearly identifies the resource ('a 10DLC Brand'). It also lists supported providers and classes, which distinguishes it from sibling tools like ten_dlc_brand_vettings_list and ten_dlc_brand_vettings_import.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit alternative or contrast is provided; the supported providers and classes imply appropriate conditions but not when to choose this over import or appeals tools. There is no guidance on prerequisites or exclusion scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brand_vettings_importBInspect

Imports an existing external vetting for a 10DLC Brand.

ParametersJSON Schema
NameRequiredDescriptionDefault
evp_idYesExternal vetting provider code
brand_idYesBrand ID.
vetting_idYesUnique identifier of the vetting request
vetting_tokenYesUnique vetting token

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention side effects, prerequisites, idempotency, or whether the operation is destructive, leaving the agent to guess what 'import' entails.

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 wasted words. It is appropriately front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite fully documented parameters and an output schema, the description omits essential context about the import workflow, such as whether the brand must already exist, whether the operation replaces existing vetting, or what side effects occur. For a 4-param operational tool, this is under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have descriptions in the schema, so the baseline is 3. The tool description adds no additional meaning about how vetting_token or vetting_id are used, so it does not exceed what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the imperative verb 'Imports' and specifies the resource ('existing external vetting for a 10DLC Brand'), clearly distinguishing it from siblings like ten_dlc_brand_vettings_create which would create new vetting. The purpose is specific 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case: when you have an existing external vetting to import. However, it does not explicitly state when to use this tool instead of alternatives such as ten_dlc_brand_vettings_create or ten_dlc_brand_vettings_list, nor does it provide exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_brand_vettings_listBInspect

Returns a list of external vettings for a 10DLC Brand.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 only states the action ('returns a list') without disclosing pagination, ordering, status filtering, or what 'external vettings' actually includes. The read-only nature is implied but 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, front-loaded sentence that is immediately informative and contains no unnecessary words. It earns its place without 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?

Given the tool's simplicity (one required parameter, output schema present), the description is functionally sufficient. However, it lacks context about what 'external vettings' are and how this listing relates to other vetting tools, making it minimally adequate but not richer than needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with brand_id described ('Brand ID.') and an example. The description adds minimal extra meaning beyond tying the parameter to the '10DLC Brand' context, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('returns') and clearly identifies the resource ('list of external vettings for a 10DLC Brand'). It distinguishes from sibling tools like brand campaigns or appeals by focusing on the exact entity type.

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 related tools such as ten_dlc_brand_vetting_appeals_list or ten_dlc_brand_vettings_create/import. The description implies a read operation but does not explicitly state alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_campaign_numbers_listAInspect

Returns a list of phone numbers associated with a 10DLC Campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.
campaign_idYesCampaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It only says 'Returns a list,' which implies a read-only operation but doesn't disclose any additional behavior such as pagination, error conditions, or authentication needs. For a simple read operation, this is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the primary action. Every word contributes to understanding the tool's purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with a fully described schema and an output schema, the description is adequate. It lacks guidance on when to use it, but given the low complexity, the provided information is mostly complete. A slightly higher score is prevented by the absence of usage 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 schema provides 100% coverage for both parameters (brand_id and campaign_id) with descriptions. The tool description adds no extra meaning beyond the schema, such as constraints or relationships between parameters. Baseline of 3 is appropriate given full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: 'Returns a list of phone numbers associated with a 10DLC Campaign.' It uses a specific verb ('Returns'), a clear resource ('phone numbers'), and a scope ('associated with a 10DLC Campaign') that distinguishes it from sibling tools like link/unlink or other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states the function, with no mention of when to choose it over related tools like ten_dlc_campaign_numbers_link or ten_dlc_campaigns_list. There are no exclusions or contextual usage hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_campaigns_listAInspect

Returns a paginated list of 10DLC Campaigns. Filter results by date, status, and use case. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault
mockNoIndicates whether to include mock 10DLC Campaigns only.
nameNoCampaign name.
pageNoPage number to retrieve.
statusNoCampaign status.
usecaseNoUse case.
per_pageNoNumber of records per page.
created_afterNoCampaign creation start date in `YYYY-MM-DD` format.
created_beforeNoCampaign creation end date in `YYYY-MM-DD` format.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 a key behavioral detail: the default page size (25) and how to navigate with page/per_page. It also implies a read-only list operation, though it does not explicitly state side effects or sorting order. The added pagination context goes beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. The main action is front-loaded, and each sentence contributes useful information: what it returns, how to filter, and how pagination works.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 8 optional parameters and an output schema, the description adequately covers the core usage: paginated listing and filtering. It does not explain return values because the output schema exists, and it omits only minor details like combining filters or the mock parameter. The lack of sibling differentiation is a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for all 8 parameters, so coverage is 100%, set ting a baseline of 3. The description adds minimal value by grouping filters into date/status/use case and naming page/per_page, but it does not clarify the 'mock' or 'name' parameters beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Returns a paginated list of 10DLC Campaigns,' which is a specific verb+resource combination that clearly identifies the tool's operation. It also enumerates filter dimensions (date, status, use case), distinguishing it from sibling tools focused on brand campaigns or campaign numbers.

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 explains how to use pagination and mentions available filters, providing a clear usage context. However, it does not explicitly compare with alternatives like ten_dlc_brand_campaigns_list or ten_dlc_campaign_numbers_list, nor does it state when not to use this tool. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_campaigns_nudgeAInspect

Requests action on a pending or rejected 10DLC Campaign. Use nudge_intent to specify the action:

  • REVIEW: Request review for a pending Campaign. - APPEAL_REJECTION: Appeal a rejected Campaign. Note:

  • The Campaign must be at least 72 hours old.

  • Only one nudge request per Campaign is allowed every 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_idYesBrand ID.
campaign_idYesCampaign ID.
descriptionYesDescription of the nudge request.
nudge_intentYesNudge intent. Allowed values: `REVIEW`, `APPEAL_REJECTION`. Use `nudge_intent` to specify the action: - `REVIEW`: Request review for a pending Campaign. - `APPEAL_REJECTION`: Appeal a rejected Campaign.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 discloses important behavioral constraints: the 72-hour minimum age and the 24-hour rate limit, plus the two distinct intents. It does not discuss authentication or side effects, but for a nudge action this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a single sentence defines the purpose, followed by a bulleted list of intents and a short note with constraints. Every sentence contributes value, and the formatting makes it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the description covers purpose, intended use cases, and key operational constraints. An output schema exists, so return value details are not required here. The description is sufficiently complete for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are already described in the input schema. The description adds clarity by explaining nudge_intent values inline, but it does not add substantial new semantics beyond what the schema already provides. Baseline 3 is appropriate here.

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: 'Requests action on a pending or rejected 10DLC Campaign.' It also specifies the two possible intents (REVIEW and APPEAL_REJECTION), making the purpose concrete. This distinguishes it from sibling tools like ten_dlc_brand_appeals_create, which handle brand appeals rather than campaign nudges.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context: it applies to pending or rejected campaigns, and it lists required conditions ('Campaign must be at least 72 hours old', 'Only one nudge request per Campaign is allowed every 24 hours'). It does not explicitly mention when not to use the tool or point to alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_subscriptions_createBInspect

Subscribes to Wavix 10DLC event callbacks.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA webhook URL to send events to
subscription_categoryYesThe Wavix 10DLC event type. Can be one of the following: `brand`, `campaign`, or `number`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 fails to mention any side effects, idempotency, authorization needs, or what happens on success. The word 'Subscribes' implies a state change but lacks critical context about the subscription lifecycle.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the essential purpose without unnecessary words. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of a complete input schema and an output schema, the description is minimally viable but thin. It doesn't explain behavioral outcomes or edge cases, such as whether a subscription is immediately active or if duplicate subscriptions are allowed, leaving some gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers both parameters with descriptions (100% coverage), so the description adds no additional meaning. The baseline of 3 applies because the schema already documents `url` and `subscription_category` adequately, including allowed values for the category.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Subscribes') and the resource ('Wavix 10DLC event callbacks'), making the tool's purpose unmistakable. It also distinguishes itself from sibling tools like ten_dlc_subscriptions_delete and ten_dlc_subscriptions_list by implying the create operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context, or exclusions, leaving the agent to infer usage solely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_subscriptions_deleteBInspect

Deletes a 10DLC event subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_categoryYesEvent category to unsubscribe from.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description alone must disclose behavioral traits. It only states 'Deletes' without mentioning irreversibility, impact on event delivery, or error handling for nonexistent subscriptions.

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, immediately front-loaded with the action and resource. No wasted words.

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 delete operation with no annotations, the description under-specifies consequences, prerequisites, and edge-case behavior. The output schema may clarify return values, but behavioral context is lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the single parameter 'subscription_category' with 100% coverage. The description adds no additional parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (delete) and resource (10DLC event subscription), distinguishing it from sibling tools like ten_dlc_subscriptions_create and ten_dlc_subscriptions_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives, and there is no mention of prerequisites or exclusions. Usage is only implied by the verb 'deletes'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ten_dlc_subscriptions_listAInspect

Returns a list of 10DLC event subscriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states that it returns a list. It does not disclose any behavioral details such as pagination, ordering, filtering, rate limits, or the structure of the response. The read-only nature is implied but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that gets straight to the point. It is front-loaded with the action and resource, with no fluff or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there are no parameters and an output schema exists, the description is sufficient for a simple list tool. It clearly states the primary function, though it omits any mention of filtering, pagination, or other potentially useful contextual details. For its simplicity, it is complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema confirms this with no properties. The description does not need to explain any parameters, so the baseline of 4 applies here, as the description adds nothing beyond the schema's completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') and a specific resource ('list of 10DLC event subscriptions'), clearly distinguishing it from sibling tools like ten_dlc_subscriptions_create and ten_dlc_subscriptions_delete. No ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when the user needs a list of 10DLC event subscriptions, but provides no explicit guidance on when to use it versus other list tools or any exclusions. There are no alternative tools named, so the usage context is only inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

two_fa_events_listBInspect

Returns a list of events for a specific 2FA Verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes2FA Verification ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It only states that a list is returned, but does not explain event types, ordering, pagination, potential errors, or any security implications. This is minimal for a tool in a 2FA flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the verb and resource. Every word contributes meaning, and there is no redundant or vague language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter list tool, the description covers the basic function. However, it lacks context about the nature of events, typical use cases, or any limitations. The presence of an output schema reduces the need to explain return values, but the description feels insufficiently detailed for a security-related 2FA 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 already provides 100% coverage of the session_id parameter with an example and description ('2FA Verification ID'). The description's phrase 'for a specific 2FA Verification' aligns with the schema but adds no new semantic meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Returns' and clearly identifies the resource as a 'list of events for a specific 2FA Verification'. This distinguishes it from sibling tools like two_fa_verification_check which checks status, and two_fa_sessions_list which likely lists sessions.

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. There is no mention of use cases, prerequisites, exclusions, or reference to sibling tools, leaving the agent to infer context from the tool's name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

two_fa_sessions_listBInspect

Returns a list of 2FA verifications. Filter by service or date.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd date in `YYYY-MM-DD` format.
fromYesStart date in `YYYY-MM-DD` format.
service_idYes2FA Service ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 states the action (returns a list) and filtering options, but does not mention whether results are paginated, ordered, require specific permissions, or how sessions vs. verifications relate. There is no disclosure of side effects (it appears read-only), but the agent is left without safety or behavior context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the main action, and contains zero filler. Every word contributes to understanding the tool's purpose and filtering capability.

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 simplicity and the presence of an output schema, the description covers the core functionality and filtering. However, it lacks context regarding how this list relates to other 2FA tools (e.g., events, verification status) and does not mention pagination or result ordering, which could be important for a 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 already documents all three required parameters with descriptions and formats (100% coverage), so the baseline is 3. The description adds only that filtering is by service or date, which somewhat maps to the parameters but does not enhance understanding beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of 2FA verifications, which matches the name and adds the filtering capability by service or date. It distinguishes the operation from other 2FA tools (e.g., two_fa_verification_create) as a read-only list action, though it does not explicitly differentiate from two_fa_events_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Filter by service or date' implies the tool is intended for listing 2FA verifications with optional filters, but there is no explicit guidance on when to use this tool versus sibling tools like two_fa_events_list or two_fa_verification_check. No exclusions or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

two_fa_verification_cancelAInspect

Cancels a 2FA verification. After cancellation, no additional codes are sent, and previously sent codes can no longer be validated. You must create a new verification to send another code.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes2FA Verification ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNo
Behavior4/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 disclosing behavior. It clearly states that after cancellation no additional codes are sent and previously sent codes become invalid, and it tells the user the required next step. This goes beyond the basic action and provides meaningful context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence front-loads the primary action, and the second explains the consequences and next step. There is no redundancy, and every clause adds value.

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?

This is a simple cancellation tool with one parameter and an output schema, so the description does not need to explain return values. It fully explains the effect (no more codes, codes invalid) and the required follow-up action (create a new verification), making it complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the only parameter (session_id), with a clear description '2FA Verification ID.' and an example. The tool description adds no extra parameter meaning, so the schema does the heavy lifting. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Cancels a 2FA verification') and the specific resource, distinguishing it from sibling tools like two_fa_verification_create and two_fa_verification_resend. The verb-resource pairing is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to stop a verification) and mentions that a new verification must be created to send another code, but it does not explicitly name alternatives or contrast with sibling tools. The guidance is inferred rather than directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

two_fa_verification_checkCInspect

Validates the verification code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code entered by an end user
session_idYes2FA Verification ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 disclosing behavior. It merely restates the action without explaining what happens on success/failure, whether the code is consumed or invalidated, or what response to expect. This is minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, making it front-loaded and easy to read. However, it is under-specified for a tool with two required parameters and an output schema; it sacrifices necessary context 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?

Despite having an output schema, the description omits crucial context about the 2FA verification flow, such as when this check should be called relative to session creation or code resend, and what constitutes a successful versus failed validation. This is inadequate for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (session_id and code), so the schema already provides meaning. The description adds no parameter-specific information, thus the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb 'Validates' and resource 'verification code', making the core action understandable. However, it does not explicitly differentiate from sibling 2FA tools (create, cancel, resend) beyond the tool name, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage 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, nor any prerequisites such as requiring an active 2FA session or having previously sent a code. There is no mention of exclusions or typical workflow context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

two_fa_verification_createAInspect

Creates a new 2FA Verification and sends a one-time password (OTP) to the destination phone number. Before using this endpoint, create a 2FA Service in the Wavix portal. The service is created once and reused to generate and validate OTPs. OTP flow:

  1. Create a Verification to generate and send an OTP.

  2. Reuse the same Verification to resend the OTP if needed.

  3. Validate the OTP using the 2FA API

When a Verification is created, Wavix generates a random code and sends it to the destination phone number via the selected channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd user's phone number to which the verification code will be sent. The phone number must be in E.164 format.
channelYesThe communication channel you want to use. Can be either `sms` or `voice`.
service_idYesUnique Wavix 2FA Service ID. Find your 2FA Service ID on the Wavix portal.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses that Wavix generates a random code and sends it via the selected channel, and notes service reuse. It adds behavioral context (OTP flow and prerequisite) but does not mention expiration or error conditions, which are minor 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 well-structured with a clear lead sentence, a prerequisite note, and a numbered OTP flow. It is slightly verbose for the information conveyed, but every section provides useful context, so it remains an efficient explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the schema covers all parameters and an output schema exists, the description sufficiently explains the tool's purpose, prerequisite, and OTP flow. It places the create action within the broader lifecycle (resend/validate) via sibling implications, making it complete enough for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full descriptions for all three parameters (100% coverage), including formats and examples. The description adds no extra parameter-specific meaning beyond referencing the destination phone number and selected channel, so the schema carries the weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a 2FA Verification and sends a one-time password to a destination phone number, with a specific verb+resource ('Creates a new 2FA Verification') and an explicit outcome. This distinguishes it from sibling operations like cancel, check, and resend.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete usage guidance by explaining the prerequisite of creating a 2FA Service first and outlining the OTP lifecycle (create, resend, validate). It does not explicitly name sibling tools, but the flow clearly implies when this tool should be used versus resend or validation steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

two_fa_verification_resendAInspect

Resends the verification code using the specified channel. Previously sent codes are invalidated.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelYesThe communication channel you want to use. Can be either `sms` or `voice`.
session_idYes2FA Verification ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses an important behavioral trait: 'Previously sent codes are invalidated,' which is a side effect. However, it does not mention other behaviors like rate limits, whether a new code is generated, or how it interacts with the session lifecycle.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence front-loads the primary action and channel, and the second adds a critical side effect. No word is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a low-complexity schema with 2 parameters and an output schema, so the description need not explain return values. It discloses the key side effect of invalidating previous codes. However, it lacks usage context relative to sibling tools, which prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage, so the baseline is 3. The description only references 'the specified channel' without adding extra meaning beyond the schema's enum descriptions. It does not elaborate on session_id or any parameter-specific nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Resends the verification code') and the resource (verification code) with specific channel selection. It distinguishes itself from siblings like two_fa_verification_create and two_fa_verification_check by focusing on the resend operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as two_fa_verification_create or two_fa_verification_check. It does not mention scenarios like 'if the user did not receive the code' or recommend this over creating a new session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

voice_campaigns_createCInspect

Triggers an outbound call based on a pre-configured scenario.

ParametersJSON Schema
NameRequiredDescriptionDefault
voice_campaignYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
voice_campaignNo
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 that the tool triggers an outbound call, but does not disclose whether the call is asynchronous, whether pre-approval is required, what permissions are needed, or any side effects. This is a significant gap for a tool that initiates an 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?

The description is a single concise sentence that is front-loaded and free of fluff. Every word adds meaning, and it is not over-specified. This is as concise as a description can be while still conveying the core action.

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's complexity (nested required object, pre-approval caveat, callback URL) and lack of annotations, the description is far from complete. It omits important context like the need for a pre-approved call flow, the webhook callback for status updates, and the nature of the response. The output schema helps, but the description still leaves critical operational context unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the top-level parameter, and the description adds no parameter-level meaning. The nested properties within the schema do have descriptions, but the tool description itself does not compensate for the low coverage or explain that a voice_campaign object with callflow_id, caller_id, and contact is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Triggers an outbound call based on a pre-configured scenario' clearly identifies the action (triggering an outbound call) and the resource (pre-configured scenario/call flow). It is specific enough to understand the tool's core function, but it does not explicitly differentiate from sibling tools like voice_campaigns_get or call_control_create.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or which scenarios are appropriate. The description only implies usage context through the phrase 'pre-configured scenario' without explaining when a campaign should be created vs. when to use direct call tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

voice_campaigns_getAInspect

Returns a specific voice campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVoice campaign ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
voice_campaignNo
Behavior3/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 disclosure. 'Returns' implies a read-only operation, but the description does not elaborate on authentication requirements, error behavior (e.g., not found), or any side effects. For a simple GET-like tool, this is acceptable but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of six words, immediately front-loading the verb and resource. It contains zero unnecessary words and focuses directly on the tool's primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a simple one-parameter schema and an output schema present, the description is nearly sufficient. It clearly explains the tool's purpose, though it could benefit from specifying 'by ID' instead of 'specific' and from noting that it only fetches one campaign rather than a list. Overall, it is complete enough for this level of complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with the parameter 'id' described as 'Voice campaign ID.' The description adds no new parameter semantics beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Returns a specific voice campaign' with a specific verb (Returns) and resource (voice campaign). It distinguishes from sibling tools like voice_campaigns_create by indicating retrieval, and the singular 'specific' implies fetching by ID. The schema confirms the single 'id' parameter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this tool when you need to fetch a single voice campaign by its ID. No explicit alternatives or exclusions are mentioned, and there is no voice_campaigns_list sibling, but the description gives minimal context on when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webrtc_tokens_createBInspect

Creates a Wavix Embeddable widget token.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlYesTime to live in seconds. Pass `null` for no expiration.
payloadNoArbitrary data to be associated with the token
sip_trunkYesSIP trunk name

Output Schema

ParametersJSON Schema
NameRequiredDescription
ttlNoTime to live, in seconds
uuidYesToken ID
tokenYesWavix Embeddable Widget token.
payloadNoArbitrary data associated with the token
sip_trunkYesSIP trunk name
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 for behavioral disclosure. It only says 'Creates a token' and omits essential details such as authentication requirements, side effects, idempotency, or what the response contains. This is insufficient for a mutation tool with zero annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it is arguably under-specified, as it omits important context that would make the tool more helpful. It earns a 4 for being direct and well-structured.

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 too minimal given the tool's complexity, lack of annotations, and existence of an output schema. It does not explain the token's purpose, the role of the required sip_trunk parameter, or any lifecycle considerations. An output schema exists, but the overall context is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with all three parameters (ttl, payload, sip_trunk) documented. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly uses the verb 'Creates' and identifies the specific resource 'Wavix Embeddable widget token', which distinguishes it from sibling tools like webrtc_tokens_get, list, update, and delete. The purpose is unambiguous and matches the tool's name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. The description simply states what the tool does without any context on when creation is appropriate, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webrtc_tokens_deleteAInspect

Deletes a Wavix Embeddable widget token. After deletion, the token can't be used to authenticate widget sessions, and any active session associated with it is terminated.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesToken ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
successNo
Behavior4/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 key behavioral consequences: the token becomes unusable and active sessions are terminated. This goes beyond the basic 'delete' semantics, though it could mention permission requirements or irreversibility more explicitly. Still, it gives meaningful forewarning for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficiently worded sentence. It front-loads the action and immediately explains consequences, with zero wasted words. Perfectly concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with one parameter and full schema coverage, the description is largely complete. It states the purpose and consequences clearly. It does not mention prerequisites or permission needs, but given the output schema exists and the tool is straightforward, this is not a significant gap. Slightly more detail could push it to a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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% coverage, with the single 'uuid' parameter described as 'Token ID'. The description does not add further parameter-level detail, but baseline 3 is appropriate when the schema already fully documents the parameters. The description's mention of 'widget token' provides slight context that maps the uuid to the resource.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Deletes a Wavix Embeddable widget token.' It specifies the exact resource type and distinguishes this delete operation from sibling CRUD tools (create, get, list, update). The verb+resource+scope is specific 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context: it is for permanently invalidating a token, and it explains the consequence (sessions terminated). It does not explicitly name alternatives or when-not-to-use, but the delete purpose is clear from the name and description, so it provides adequate context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webrtc_tokens_getAInspect

Returns a Wavix Embeddable widget token configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesToken ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ttlNoTime to live, in seconds. `null` means no expiration.
uuidYesToken ID
payloadNoArbitrary data associated with the token
sip_trunkYesSIP trunk name
Behavior3/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. 'Returns' indicates a read-only operation, which is appropriate for a get tool. However, it does not disclose any additional behavioral traits such as whether the token must be active, whether secrets are included in the configuration, or any side effects (though none expected). It provides basic transparency but nothing beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that directly states what the tool does. There is no redundant information or fluff. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (1 parameter) and has an output schema, so the description need not explain return values. The description is sufficient for an agent to understand the core function. It lacks some contextual guidance about the widget token lifecycle, but this is not critical given the output schema and the sibling 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% (uuid is described as 'Token ID'), so the baseline is 3. The description does not add any extra meaning to the parameter, such as where to find the token ID or how it relates to the widget. The schema already provides the necessary detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Returns' and a specific resource: 'Wavix Embeddable widget token configuration'. This clearly distinguishes it from siblings like webrtc_tokens_list (which lists multiple tokens) and webrtc_tokens_create/update/delete (which mutate tokens). The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus the sibling tools. It does not mention that it retrieves a single token by ID or that it should be used instead of webrtc_tokens_list when a specific token's configuration is needed. Usage is implied by the tool name and context, but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webrtc_tokens_listAInspect

Returns a paginated list of active Wavix Embeddable widget tokens. Results are limited to 25 records per page by default. Use page and per_page to navigate results.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsNo
paginationNo
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 a key behavioral trait: results are limited to 25 per page by default, and pagination via `page` and `per_page` is available. It also notes that only 'active' tokens are returned. However, it does not mention other behaviors such as rate limits, authentication needs, or how to access inactive tokens, which could be relevant for a complete understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose, and provides additional detail on pagination without any fluff. Every sentence contributes value: the first states what the tool does, the second explains pagination behavior and usage. No redundancy or irrelevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list endpoint, the description is fairly complete: it covers the resource type, active filter, and pagination details. An output schema exists, so return fields are presumably documented there. The only notable gap is the lack of an explicit link to sibling tools (e.g., 'for a single token, use webrtc_tokens_get'), but given the tool's simplicity, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty (no properties), so the description is the only source of parameter information. It introduces `page` and `per_page`, clarifies their purpose ('navigate results'), and indicates the default page size (25). This adds significant meaning beyond the schema, though it doesn't specify parameter types, whether page is 1-indexed, or potential valid ranges.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Returns a paginated list of active Wavix Embeddable widget tokens.' This specifies a precise verb (returns a paginated list), a clear resource (Wavix Embeddable widget tokens), and scope (active). It also naturally distinguishes from sibling tools like webrtc_tokens_get (single token) and webrtc_tokens_create/update/delete due to the list focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need a paginated list of active tokens, and it provides guidance on how to navigate with `page` and `per_page`. However, it does not explicitly mention when to use an alternative such as webrtc_tokens_get for retrieving a single token, nor does it state any exclusions (e.g., inactive tokens). The usage context is clear but lacks explicit differentiation from sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webrtc_tokens_updateAInspect

Updates the payload for a Wavix Embeddable widget token.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesToken ID
payloadYesArbitrary data to be associated with the token

Output Schema

ParametersJSON Schema
NameRequiredDescription
ttlNoTime to live, in seconds. `null` means no expiration.
uuidYesToken ID
payloadNoArbitrary data associated with the token
sip_trunkYesSIP trunk name
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states that it updates the payload, without explaining whether the payload is replaced or merged, any permission requirements, or error handling behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no filler or redundancy. It is front-loaded and every word contributes to its meaning.

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 minimally viable for a simple tool with full schema and output schema, but lacks important context such as whether the payload is wholly replaced or merged, and does not reference token lifecycle or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both `uuid` and `payload`. The tool description adds no new parameter-related information beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Updates') and the resource ('payload for a Wavix Embeddable widget token'), distinguishing it from sibling tools like create, delete, get, and list.

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 (updating the payload of an existing token) but does not explicitly say when to use this over alternatives, nor does it mention exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    MCP server for provisioning dedicated real-SIM US phone numbers, receiving inbound SMS, and extracting OTP codes. Built for AI agents automating phone verification workflows.
    35
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A comprehensive MCP server for TELNYX integration, enabling AI assistants to send SMS messages, make voice calls, and handle incoming communications via webhooks.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for the seven.io API, enabling SMS, voice, RCS messaging, and account management through natural language.
    44
    20
    1
    MIT
  • A
    license
    -
    quality
    F
    maintenance
    MCP server for interacting with the official Meta WhatsApp Business Platform/Cloud API, enabling sending messages, managing contacts, templates, and handling webhook callbacks.
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.