Wavix
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.
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.
Tool Definition Quality
Average 3.4/5 across 122 of 122 tools scored. Lowest: 2/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.
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.
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.
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 toolsapi_keys_activateAInspect
Activates an API key. Once activated, the API key can be used for authentication again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | API key ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | No | Access call records and active calls, and control live call actions such as starting, answering, ending, audio playback, DTMF, streaming, and transcription requests. | |
| label | No | API key label. | |
| trunks | No | View, create, update, and delete SIP trunks and their settings. | |
| two_fa | No | View 2FA service details and verification logs, trigger OTPs by voice or SMS, and validate verification codes. | |
| account | No | View and update account profile information and timezone. | |
| billing | No | Access invoices, balance, payment methods, usage reports, and billing settings, including payment method updates. | |
| numbers | No | View, buy, release, and configure phone numbers, browse inventory, and manage the cart. | |
| messages | No | Access message history and Sender IDs, send messages, manage opt-outs, and create or delete Sender IDs. | |
| webhooks | No | List, create, and delete webhooks. | |
| campaigns | No | View campaign analytics and Sender ID or Brand status, schedule bulk voice or SMS campaigns, register Brands, and create short links. | |
| is_active | No | Indicates whether the API key should be activated upon creation. | |
| validator | No | View number validation results and trigger single or bulk validation or HLR lookup requests. | |
| embeddable | No | Manage widget tokens, including listing, viewing, creating, updating, and deleting them. | |
| recordings | No | List, download, and delete call recordings. | |
| subaccounts | No | Manage subaccounts: list and view them, create, update, and suspend them. | |
| permitted_ips | No | List of permitted IP addresses for this API key. Each must be a valid IPv4 address. Required when `is_restriction` is true. | |
| is_restriction | No | Indicates whether to restrict API key access by IP address. When enabled, only requests from IP addresses listed in `permitted_ips` are allowed. | |
| is_scopes_enabled | No | When `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
| Name | Required | Description |
|---|---|---|
| id | Yes | API key ID. |
| calls | Yes | Access call records and active calls, and control live call actions such as starting, answering, ending, audio playback, DTMF, streaming, and transcription requests. |
| label | Yes | API key label. |
| value | Yes | API key value. |
| trunks | Yes | View, create, update, and delete SIP trunks and their settings. |
| two_fa | Yes | View 2FA service details and verification logs, trigger OTPs by voice or SMS, and validate verification codes. |
| account | Yes | View and update account profile information and timezone. |
| billing | Yes | Access invoices, balance, payment methods, usage reports, and billing settings, including payment method updates. |
| numbers | Yes | View, buy, release, and configure phone numbers, browse inventory, and manage the cart. |
| messages | Yes | Access message history and Sender IDs, send messages, manage opt-outs, and create or delete Sender IDs. |
| webhooks | Yes | List, create, and delete webhooks. |
| campaigns | Yes | View campaign analytics and Sender ID or Brand status, schedule bulk voice or SMS campaigns, register Brands, and create short links. |
| is_active | Yes | Indicates whether the API key is active. |
| validator | Yes | View number validation results and trigger single or bulk validation or HLR lookup requests. |
| created_at | Yes | Creation date and time in ISO 8601 format. |
| embeddable | Yes | Manage widget tokens, including listing, viewing, creating, updating, and deleting them. |
| recordings | Yes | List, download, and delete call recordings. |
| subaccounts | Yes | Manage subaccounts: list and view them, create, update, and suspend them. |
| last_used_at | Yes | Timestamp of the most recent authenticated request made with this key. |
| permitted_ips | Yes | List 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_restriction | Yes | Indicates whether IP restrictions are enabled. When enabled, the API key works only from IP addresses in `permitted_ips`. |
| is_scopes_enabled | Yes | When `true`, the key is restricted to the permissions defined in the scope fields below. When `false`, the key has full access. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | API key ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | API key ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Label to filter API keys. Partial match supported. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve. | |
| per_page | No | Number of records per page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve. | |
| type | No | Filter by transaction type. | |
| to_date | Yes | End date in `YYYY-MM-DD` format. | |
| payments | No | Indicates whether to include account top-ups only. | |
| per_page | No | Number of records per page. | |
| from_date | Yes | Start date in `YYYY-MM-DD` format. | |
| details_contains | No | Transaction details for filtering. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country ID. | |
| text_enabled_only | No | Indicates whether to return only cities with text-enabled numbers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text_enabled_only | No | Indicates whether to return only countries with text-enabled phone numbers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City ID. | |
| page | No | Page number to retrieve. | |
| country | Yes | Country ID. | |
| per_page | No | Number of records per page. | |
| text_enabled_only | No | Indicates whether to return only text-enabled phone numbers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | Region ID. | |
| country | Yes | Country ID. | |
| text_enabled_only | No | Indicates whether to return only cities with text-enabled numbers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country ID. | |
| text_enabled_only | No | Indicates whether to return only regions with text-enabled numbers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| stream_url | No | WebSocket URL to stream the call. | |
| stream_type | No | ||
| call_recording | No | Indicates whether the call should be recorded. | |
| stream_channel | No | ||
| call_transcription | No | Indicates whether the call should be transcribed after it ends. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| audio_file | Yes | URL of the audio file to play |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| prompt | No | Prompt to play before collecting digits. Play a prerecorded audio file or use Wavix Text-To-Speech. | |
| timeout | No | Timeout for digit collection in seconds. | |
| max_digits | No | Maximum number of digits to collect. | |
| max_attempts | No | Maximum number of attempts. | |
| termination_character | No | DTMF character that ends input collection. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination number in E.164 format | |
| tag | No | Call metadata | |
| from | Yes | Caller ID. Must be an active or verified phone number in your account. | |
| timeout | No | The ring timeout, in seconds, before the call is considered unanswered. | |
| recording | No | Specifies whether to record the call | |
| callback_url | Yes | The callback URL where Wavix sends the call status updates | |
| voicemail_detection | No | Specifies whether the AMD is turned on for the call |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | Destination number |
| tag | No | Call metadata |
| from | No | Caller ID |
| uuid | No | Call ID |
| direction | No | Call direction - inbound or outbound |
| event_time | No | Date and time of the latest event |
| event_type | No | The latest call event |
| call_started | No | Date and time when the call started |
| call_answered | No | Date and time when the call was answered |
| event_payload | No | Event-specific data |
| call_completed | No | Date and time when the call ended |
| machine_detected | No | Indicates whether the call was answered by an answering machine |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| call | Yes | |
| success | Yes | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| calls | Yes | List of calls |
| success | Yes | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| stream_url | Yes | WebSocket URL for call streaming | |
| stream_type | Yes | ||
| stream_channel | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates that the request was successful |
| stream_id | No | Stream ID |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| stream_uuid | Yes | Stream ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | Call metadata. | |
| uuid | Yes | Call ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Recording ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request succeeded. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| call_uuid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Destination phone number for filtering. Full or partial input accepted. | |
| from | No | Originating phone number for filtering. Full or partial input accepted. | |
| page | No | Page number to retrieve. | |
| to_date | No | End date in `YYYY-MM-DD` format. | |
| per_page | No | Number of records per page. | |
| call_uuid | No | Call ID for filtering. | |
| from_date | No | Start date in `YYYY-MM-DD` format. | |
| sip_trunks | No | List of SIP trunk logins to filter outbound calls. |
Output Schema
| Name | Required | Description |
|---|---|---|
| invalid | No | An invalid recording filter response |
| pagination | No | |
| recordings | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Webhook URL to send call events to. | |
| event_type | Yes | Allowed 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
| Name | Required | Description |
|---|---|---|
| url | Yes | Webhook URL |
| success | Yes | |
| event_type | Yes | Type of call events |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| event_type | Yes | Use `post-call` to stop receiving post-call callbacks. Use `on-call` to stop receiving real-time call status updates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | List of call webhooks configured for the phone number. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of phone numbers to add to the cart. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of phone numbers to check out from the cart. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of phone numbers to remove. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| show_transcription | No | Indicates whether to include transcription. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date in `YYYY-MM-DD` format. | |
| from | Yes | Start date in `YYYY-MM-DD` format. | |
| page | No | Page number to retrieve. | |
| type | Yes | Call direction to filter results. Allowed values: `placed`, `received`. | |
| uuid | No | Call ID to filter results. | |
| per_page | No | Number of records per page. | |
| sip_trunk | No | SIP trunk login to filter outbound calls. Ignored for inbound calls. | |
| to_search | No | Destination phone number for filtering. Full or partial input accepted. | |
| disposition | No | Call disposition to filter results. Allowed values: `answered`, `busy`, `rejected`, `failed`, `all`. | |
| from_search | No | Originating phone number for filtering. Full or partial input accepted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date in `YYYY-MM-DD` format. | |
| from | Yes | Start date in `YYYY-MM-DD` format. | |
| page | No | Page number to retrieve. | |
| type | Yes | Call direction to filter results. Allowed values: `placed`, `received`. | |
| uuid | No | Call ID to filter results. | |
| per_page | No | Number of records per page. | |
| sip_trunk | No | SIP trunk login to filter outbound calls. Ignored for inbound calls. | |
| to_search | No | Destination phone number for filtering. Full or partial input accepted. | |
| disposition | No | Call disposition to filter results. Allowed values: `answered`, `busy`, `rejected`, `failed`, `all`. | |
| from_search | No | Originating phone number for filtering. Full or partial input accepted. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. | |
| language | No | Language. | |
| webhook_url | No | Webhook URL to receive status updates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_searchCInspect
Searches call transcriptions for specific keywords or phrases.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date for call search in `YYYY-MM-DD` format. | |
| from | Yes | Start date for call search in `YYYY-MM-DD` format. | |
| page | Yes | Page number to retrieve. | |
| type | Yes | Search transcriptions by call type. | |
| uuid | No | Call ID. | |
| per_page | Yes | Number of records per page. | |
| sip_trunk | No | SIP trunk login to filter outbound calls. Ignored for inbound calls. | |
| to_search | No | Destination phone number to filter results. Accepts full or partial number. | |
| disposition | No | ||
| from_search | No | Originating phone number to filter results. Accepts full or partial number. | |
| min_duration | No | Minimum call duration in seconds. | |
| transcription | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 says 'searches' with no mention of pagination, default disposition (only answered calls when omitted), optional nature of the transcription filter, or output behavior. It does not contradict annotations (none exist), but offers little beyond the bare action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, but it is under-specified for a tool with 12 parameters and nested objects. It is not a tautology, but it lacks substance needed to guide an agent; the brevity does not compensate for missing critical scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, nested transcription filter, output schema), the description is incomplete. It fails to convey that transcription filtering is optional and that the tool can serve as a general CDR search with date and call-type filters. The rich schema covers parameters, but the description lacks the contextual glue needed to understand the tool's full role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, with detailed descriptions for most parameters including the nested transcription filter. The top-level description adds no parameter-specific information beyond the vague 'keywords or phrases', so the baseline of 3 applies without further value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('searches') and a resource ('call transcriptions'), but it mischaracterizes the tool's scope: cdrs_search is a general CDR search with an optional transcription filter, not purely a transcription search. It also omits date-range filtering, pagination, and other filter capabilities, and does not differentiate it from sibling tools like cdrs_list_all or cdrs_transcription_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 cdrs_list_all or cdrs_transcription_get, and no context about required parameters or typical use cases. The only clue is the name, which is insufficient.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Call ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
link_shortener_createBInspect
Creates a short link.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | Target URL to shorten. | |
| phone | No | Phone number for the short link. | |
| fallback_url | No | Fallback URL for expired or invalid links. | |
| utm_campaign | No | UTM campaign name for tracking insights. | |
| expiration_time | No | Expiration date and time in ISO 8601 format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits, but it only states the action. It doesn't mention side effects, required permissions, what happens with optional parameters, rate limits, or any caveats. This is a significant gap 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, 'Creates a short link.', with zero wasted words. It is maximally concise while still conveying the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters and an output schema, yet the description provides minimal context. The schema covers parameter meanings and the output schema presumably covers return values, making the description minimally adequate. However, the lack of usage guidance and behavioral context keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides detailed descriptions and examples for all five parameters, achieving 100% coverage. The description adds nothing beyond the schema, but the schema itself fully documents the parameters, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Creates') and the resource ('a short link'). This distinguishes it from sibling tools like link_shortener_metrics_list, which focuses on metrics 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.
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 or what alternatives exist. The description is just a statement of function without any context or exclusions, so there is no direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_shortener_metrics_listCInspect
Returns short link metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date in `YYYY-MM-DD` format. | |
| from | Yes | Start date in `YYYY-MM-DD` format. | |
| page | No | Page number to retrieve. | |
| phone | No | Phone number for filtering. | |
| per_page | No | Number of records per page. | |
| utm_campaign | No | UTM campaign name for filtering. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It only says 'Returns short link metrics' which adds minimal behavioral context; it does not mention pagination, required date range, filtering, authentication needs, or the nature of the metrics (aggregate vs. raw).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but it is under-specified. It is not verbose, yet it lacks structure such as separating the main action from details. The single sentence is efficient but does not add meaningful information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters (2 required) and no annotations, this description is inadequate. It does not explain the intended use case, required date range, pagination behavior, or what 'short link metrics' means. The output schema exists, but the description does not provide enough context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add parameter meanings, but the input schema thoroughly documents each field including examples and descriptions, so the agent can understand the parameters without additional explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns short link metrics, which is a specific verb and resource. It does not explicitly distinguish from siblings, but the name and description are unambiguous enough that it's not confusing with other tools like link_shortener_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, no context about required parameters or scenarios. The description simply states what it returns without any usage direction.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | List of phone number IDs to release. | |
| dids | No | List of phone numbers to release. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of phone number IDs to update. | |
| destinations | Yes | Inbound call destinations to apply. | |
| sms_relay_url | Yes | Callback URL for inbound SMS and MMS messages. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Phone number ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Phone number ID. |
| city | Yes | City or rate center where the phone number originates. |
| cnam | Yes | Indicates whether CNAM is enabled. |
| added | Yes | Date and time the phone number was purchased in ISO 8601 format. |
| label | Yes | Label assigned to the phone number. |
| state | No | State where the phone number originates. For non-US numbers, this field may be null. |
| number | Yes | Phone number. |
| status | Yes | Phone number status. `active` means the number can receive and place calls; `inactive` means it cannot. |
| country | Yes | Country where the phone number originates. |
| per_min | Yes | Price per inbound minute in USD. |
| seconds | Yes | Total inbound call duration in seconds for current month. |
| channels | Yes | Maximum number of concurrent inbound calls. |
| free_min | No | Number of free inbound minutes. |
| documents | Yes | Uploaded documents for the phone number. |
| unlimited | No | Indicates whether usage is unlimited. |
| paid_until | Yes | Date until which the number is paid. |
| destination | Yes | Inbound call destinations set for the phone number. |
| monthly_fee | Yes | Monthly fee in USD. |
| sms_enabled | Yes | Indicates whether SMS is enabled. |
| domestic_cli | Yes | Indicates whether the number can be used as the Caller ID for local calls. |
| require_docs | Yes | Documents required to activate the phone number. |
| sms_relay_url | Yes | Callback URL for inbound SMS and MMS messages. |
| activation_fee | Yes | One-time activation fee in USD. |
| call_status_url | No | Callback URL for call status updates. |
| country_short_name | Yes | Two-letter ISO country code. |
| transcription_enabled | Yes | Indicates whether transcription is enabled. |
| call_recording_enabled | Yes | Indicates whether call recording is enabled. |
| transcription_threshold | Yes | Minimum call duration in seconds to trigger transcription. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve. | |
| label | No | Label for filtering. | |
| search | No | Phone number or partial number for filtering. | |
| city_id | No | City or rate center for filtering. | |
| per_page | No | Number of records per page. | |
| label_present | No | Indicates whether to return only numbers with or without labels. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | List of phone numbers on the account. |
| doc_types | Yes | Documents required to activate phone numbers. |
| pagination | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | No | Specifies 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_ids | No | List of phone number IDs. | |
| doc_attachment | No | Document file to upload. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Phone number ID. | |
| sms_enabled | No | Indicates whether inbound SMS is enabled. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request succeeded. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Phone number ID. | |
| sms_relay_url | No | Callback URL for inbound messages. Set to `null` to remove routing. | |
| call_status_url | No | Callback URL for call status updates. | |
| transcription_enabled | No | Indicates whether transcription is enabled. | |
| call_recording_enabled | No | Indicates whether call recording is enabled. | |
| transcription_threshold | No | Transcription threshold in seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Phone number ID. |
| city | Yes | City or rate center where the phone number originates. |
| cnam | Yes | Indicates whether CNAM is enabled. |
| added | Yes | Date and time the phone number was purchased in ISO 8601 format. |
| label | Yes | Label assigned to the phone number. |
| state | No | State where the phone number originates. For non-US numbers, this field may be null. |
| number | Yes | Phone number. |
| status | Yes | Phone number status. `active` means the number can receive and place calls; `inactive` means it cannot. |
| country | Yes | Country where the phone number originates. |
| per_min | Yes | Price per inbound minute in USD. |
| seconds | Yes | Total inbound call duration in seconds for current month. |
| channels | Yes | Maximum number of concurrent inbound calls. |
| free_min | No | Number of free inbound minutes. |
| documents | Yes | Uploaded documents for the phone number. |
| unlimited | No | Indicates whether usage is unlimited. |
| paid_until | Yes | Date until which the number is paid. |
| destination | Yes | Inbound call destinations set for the phone number. |
| monthly_fee | Yes | Monthly fee in USD. |
| sms_enabled | Yes | Indicates whether SMS is enabled. |
| domestic_cli | Yes | Indicates whether the number can be used as the Caller ID for local calls. |
| require_docs | Yes | Documents required to activate the phone number. |
| sms_relay_url | Yes | Callback URL for inbound SMS and MMS messages. |
| activation_fee | Yes | One-time activation fee in USD. |
| call_status_url | No | Callback URL for call status updates. |
| country_short_name | Yes | Two-letter ISO country code. |
| transcription_enabled | Yes | Indicates whether transcription is enabled. |
| call_recording_enabled | Yes | Indicates whether call recording is enabled. |
| transcription_threshold | Yes | Minimum call duration in seconds to trigger transcription. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | ||
| async | Yes | Indicates 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. | |
| force | Yes | Force | |
| phone_numbers | Yes | List of phone numbers to get detailed information about. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Validation type. | |
| phone_number | Yes | Phone number in E.164 format or without "+". |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | Request ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | No | Account owner's phone number | |
| contacts | No | Email associated with the account. | |
| job_title | No | Account owner's job title. | |
| last_name | No | Account owner's last name. | |
| time_zone | No | Timezone configured on the account. | |
| first_name | No | Account owner's first name. | |
| company_info | No | ||
| dlr_relay_url | No | Callback URL to forward message delivery reports (DLRs) to. | |
| sms_relay_url | No | Callback URL to forward inbound SMS to. | |
| additional_info | No | Additional information associated with the account. | |
| default_short_link_endpoint | No | Default short link endpoint. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | User-defined name of the SIP trunk | |
| callerid | Yes | Caller ID associated with the SIP trunk. Must be an active or verified number on your account. | |
| password | Yes | Password set for the SIP trunk. Use a strong password to help keep your SIP trunk secure. | |
| call_limit | No | A 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_limit | Yes | Indicates if the max cost limit for an outbound call limit is activated for the SIP trunk. | |
| allowed_ips | No | A list of public static IP addresses allowed to register with the SIP trunk | |
| ip_restrict | Yes | Indicates 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_request | No | For 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_channels | No | Maximum 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_cond | No | Number of leading digits to automatically remove from each dialed phone number | |
| call_restrict | Yes | Indicates whether a maximum call duration limit is enforced for the SIP trunk | |
| max_call_cost | No | Maximum cost for an outbound call, in USD | |
| rewrite_prefix | No | Digits to automatically prepend to each dialed phone number | |
| didinfo_enabled | Yes | Indicates whether inbound calls include dialed number information in the `To` header of SIP INVITE requests | |
| encrypted_media | No | ||
| rewrite_enabled | Yes | Indicates whether a custom dial plan is activated for the SIP trunk | |
| multiple_numbers | No | Indicates whether any active or verified phone number in your account can be used as the Caller ID for the SIP trunk | |
| channels_restrict | Yes | Indicates whether a limit on the number of concurrent outbound calls is enforced for the SIP trunk | |
| transcription_enabled | Yes | Indicates whether automatic call transcription is enabled for the SIP trunk. Available for `Flex Pro` customers only. | |
| call_recording_enabled | No | Indicates whether outbound call recording is enabled for the SIP trunk | |
| transcription_threshold | Yes | Transcriptions 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_enabled | No | Indicates whether automatic voicemail detection is enabled for the SIP trunk. Available for `Flex Pro` customers only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | SIP trunk ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | SIP trunk ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve. | |
| per_page | No | Number of records per page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | SIP trunk ID. | |
| label | Yes | User-defined name of the SIP trunk | |
| callerid | Yes | Caller ID associated with the SIP trunk. Must be an active or verified number on your account. | |
| password | Yes | Password set for the SIP trunk. Use a strong password to help keep your SIP trunk secure. | |
| call_limit | No | A 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_limit | Yes | Indicates if the max cost limit for an outbound call limit is activated for the SIP trunk. | |
| allowed_ips | No | A list of public static IP addresses allowed to register with the SIP trunk | |
| ip_restrict | Yes | Indicates 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_request | No | For 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_channels | No | Maximum 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_cond | No | Number of leading digits to automatically remove from each dialed phone number | |
| call_restrict | Yes | Indicates whether a maximum call duration limit is enforced for the SIP trunk | |
| max_call_cost | No | Maximum cost for an outbound call, in USD | |
| rewrite_prefix | No | Digits to automatically prepend to each dialed phone number | |
| didinfo_enabled | Yes | Indicates whether inbound calls include dialed number information in the `To` header of SIP INVITE requests | |
| encrypted_media | No | ||
| rewrite_enabled | Yes | Indicates whether a custom dial plan is activated for the SIP trunk | |
| multiple_numbers | No | Indicates whether any active or verified phone number in your account can be used as the Caller ID for the SIP trunk | |
| channels_restrict | Yes | Indicates whether a limit on the number of concurrent outbound calls is enforced for the SIP trunk | |
| transcription_enabled | Yes | Indicates whether automatic call transcription is enabled for the SIP trunk. Available for `Flex Pro` customers only. | |
| call_recording_enabled | No | Indicates whether outbound call recording is enabled for the SIP trunk | |
| transcription_threshold | Yes | Transcriptions 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_enabled | No | Indicates whether automatic voicemail detection is enabled for the SIP trunk. Available for `Flex Pro` customers only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Message ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Recipient phone number. For `outbound` messages, the destination phone number; for `inbound` messages, an SMS-enabled number on the Wavix platform. | |
| tag | No | Tag for filtering. Supported for outbound messages only. | |
| from | No | Message sender. For `outbound` messages, the Sender ID used to send the message; for `inbound` messages, the originating phone number. | |
| page | No | Page number to retrieve. | |
| type | Yes | Message direction for filtering. Allowed values are `inbound`, `outbound`. | |
| status | No | Message delivery status for filtering. | |
| per_page | No | Number of records per page. | |
| sent_after | No | Start date in `YYYY-MM-DD` format. | |
| sent_before | No | End date in `YYYY-MM-DD` format. | |
| message_type | No | Message type for filtering. Allowed values are `sms`, `mms`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Message recipient. For `outbound` messages, the destination phone number; for `inbound` messages, the SMS-enabled number that received the message. | |
| tag | No | Tag for filtering. Supported for outbound messages only. | |
| from | No | Message sender. For `outbound` messages, the Sender ID used to send the message; for `inbound` messages, the originating phone number. | |
| type | Yes | Message direction for filtering. Allowed values are `inbound`, `outbound`. | |
| status | No | Message delivery status for filtering. | |
| sent_after | No | Start date in `YYYY-MM-DDTHH:MM:SS` format. | |
| sent_before | No | End date in `YYYY-MM-DDTHH:MM:SS` format. | |
| message_type | No | Message type for filtering. Allowed values are `sms`, `mms`. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient phone number. | |
| tag | No | Tag to group messages, such as for a specific campaign. | |
| from | Yes | Sender ID. Numeric or alphanumeric. | |
| validity | No | Message validity period in seconds. Delivery attempts stop after this period expires. | |
| callback_url | No | Callback URL for delivery reports. | |
| message_body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | Recipient phone number. |
| mcc | No | Mobile country code. |
| mnc | No | Mobile network code. |
| tag | No | Message tag. |
| from | No | Sender ID. |
| charge | No | Total charge for the message in USD. |
| status | No | Message status. |
| sent_at | No | Date and time the message was sent in ISO 8601 format. |
| segments | No | Number of SMS segments. Always 1 for MMS. |
| direction | No | Message direction. Possible values are `outbound`, `inbound`. |
| message_id | No | Message ID. |
| carrier_fees | No | Mobile carrier fees in USD. |
| delivered_at | No | Date and time the message was delivered in ISO 8601 format. |
| message_body | No | |
| message_type | No | Message type. |
| submitted_at | No | Date and time the message was submitted in ISO 8601 format. |
| error_message | No | Error message. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| opt_out | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve. | |
| per_page | No | Number of records per page. | |
| sender_id | No | Sender ID for filtering. | |
| campaign_id | No | 10DLC campaign for filtering. | |
| created_after | No | Start date in `YYYY-MM-DD` format. | |
| created_before | No | End date in `YYYY-MM-DD` format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | |
| pagination | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Sender ID type. | |
| samples | No | Message samples. | |
| usecase | Yes | Use case for the Sender ID | |
| countries | Yes | Two-letter ISO country codes where the Sender ID is allowlisted. | |
| sender_id | Yes | Sender ID name. Can be either an alphanumeric string or a phone number. | |
| monthly_volume | No | Expected monthly volume. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sender ID ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sender ID ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 arecompleted,failed.completedindicates successful transcription;failedindicates an error. -error: Error description. Value isnullif the transcription was successful.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Binary file content. Maximum size is 25 MB. Wavix supports WAV, MP3, and MP4 stereo formats. | |
| insights | No | Indicates whether to enable insights generation. | |
| callback_url | No | Callback URL for transcription status updates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Transcription request ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Transcription request ID. | |
| insights | No | Indicates whether to enable insights generation. | |
| callback_url | No | Callback URL for transcription status updates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No | Indicates whether the request was successful. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Sub-account name. | |
| default_destinations | No | Default webhook URLs for inbound messages and delivery reports. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Sub-account ID. |
| name | Yes | Sub-account name. |
| status | Yes | Sub-account status. |
| api_key | Yes | Sub-account API key. |
| created_at | Yes | Date and time the sub-account was created in ISO 8601 format. |
| master_organization | Yes | Master account ID. |
| default_destinations | Yes | Default webhook URLs for inbound messages and delivery reports. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sub-account ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Sub-account ID. |
| name | Yes | Sub-account name. |
| status | Yes | Sub-account status. |
| api_key | Yes | Sub-account API key. |
| created_at | Yes | Date and time the sub-account was created in ISO 8601 format. |
| master_organization | Yes | Master account ID. |
| default_destinations | Yes | Default webhook URLs for inbound messages and delivery reports. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Account status to filter results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pagination | No | |
| sub_organizations | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sub-account ID. | |
| page | No | Page number to retrieve. | |
| type | No | Transaction types to filter results. | |
| to_date | Yes | End date in `YYYY-MM-DD` format. | |
| per_page | No | Number of records per page. | |
| from_date | Yes | Start date in `YYYY-MM-DD` format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pagination | No | |
| transactions | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sub-account ID. | |
| name | Yes | Sub-account name. | |
| status | No | Sub-account status. | |
| default_destinations | No | Default webhook URLs for inbound messages and delivery reports. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Sub-account ID. |
| name | Yes | Sub-account name. |
| status | Yes | Sub-account status. |
| api_key | Yes | Sub-account API key. |
| created_at | Yes | Date and time the sub-account was created in ISO 8601 format. |
| master_organization | Yes | Master account ID. |
| default_destinations | Yes | Default webhook URLs for inbound messages and delivery reports. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. | |
| evidence | Yes | List of evidence IDs associated with the appeal. | |
| explanation | No | Appeal comment or justification. | |
| appeal_categories | Yes | List of appeal categories. Allowed values: `VERIFY_TAX_ID`, `VERIFY_NON_PROFIT`, `VERIFY_GOVERNMENT` |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| help | Yes | Indicates whether the campaign has a help system (e.g. keyword: HELP, INFO) that subscribers can use or not. | |
| mock | Yes | Indicates a mock Campaign. The mock Campaigns cannot be used to send production traffic | |
| name | Yes | A user-defined Campaign name | |
| optin | Yes | Indicates whether the campaign requires a subscriber to opt-in before receiving messages or not. | |
| optout | Yes | Indicates whether the campaign has an opt-out system (e.g. keyword: STOP, QUIT) that subscribers can use or not. | |
| sample1 | Yes | Message sample | |
| sample2 | Yes | Message sample | |
| sample3 | Yes | Message sample | |
| sample4 | Yes | Message sample | |
| sample5 | Yes | Message sample | |
| usecase | Yes | The Campaign use case | |
| brand_id | Yes | Brand ID. | |
| age_gated | Yes | Indicates whether the Campaign messages contain age-gated content | |
| description | Yes | The Campaign description | |
| auto_renewal | Yes | Indicates whether the Campaign should be automatically renewed | |
| help_message | Yes | An acknowledgement to be sent when a HELP keyword is received | |
| help_keywords | Yes | A comma-separated list of HELP keywords. The HELP keywords are case-insensitive. | |
| optin_message | Yes | An acknowledgement to be sent when an OPT-IN keyword is received | |
| direct_lending | Yes | Indicates whether the Campaign messages contain direct lending content | |
| embedded_links | Yes | Indicates whether the Campaign messages contain embedded links | |
| optin_keywords | Yes | A comma-separated list of OPT-IN keywords. The OPT-IN keywords are case-insensitive. | |
| optin_workflow | Yes | The opt-in workflow - the process through which consumers opt-in to the Campaign | |
| optout_message | Yes | An acknowledgement to be sent when an OPT-OUT keyword is received | |
| privacy_policy | No | A link to the Campaign privacy policy | |
| embedded_phones | Yes | Indicates whether the Campaign messages contain embedded phone numbers | |
| optout_keywords | Yes | A comma-separated list of OPT-OUT keywords. The OPT-OUT keywords are case-insensitive. | |
| terms_conditions | Yes | A link to the Campaign terms and conditions | |
| affiliate_marketing | Yes | Indicates whether the Campaign is used for affiliate marketing | |
| embedded_link_sample | Yes | An embedded link sample |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. | |
| campaign_id | Yes | Campaign ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. | |
| campaign_id | Yes | Campaign ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mock | No | Indicates whether to include mock Campaigns only. | |
| name | No | Campaign name. | |
| page | No | Page number to retrieve. | |
| status | No | Campaign status. | |
| usecase | No | Use case. | |
| brand_id | Yes | Brand ID. | |
| per_page | No | Number of records per page. | |
| created_after | No | Campaign creation start date in `YYYY-MM-DD` format. | |
| created_before | No | Campaign creation end date in `YYYY-MM-DD` format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| help | No | Indicates whether the Campaign provides HELP responses | |
| name | No | A user-defined Campaign name | |
| optin | No | Indicates whether the Campaign supports opt-in functionality | |
| optout | No | Indicates whether the Campaign supports opt-out functionality | |
| sample1 | No | Message sample | |
| sample2 | No | Message sample | |
| sample3 | No | Message sample | |
| sample4 | No | Message sample | |
| sample5 | No | Message sample | |
| usecase | No | Campaign use case | |
| brand_id | Yes | Brand ID. | |
| age_gated | No | Indicates whether the Campaign messages contain age-gated content | |
| campaign_id | Yes | Campaign ID. | |
| description | No | The Campaign description | |
| auto_renewal | No | Indicates whether the Campaign should be automatically renewed | |
| help_message | No | An acknowledgement to be sent when a HELP keyword is received | |
| help_keywords | No | A comma-separated list of HELP keywords. The HELP keywords are case-insensitive. | HELP |
| optin_message | No | An acknowledgement to be sent when an OPT-IN keyword is received | |
| direct_lending | No | Indicates whether the Campaign messages contain direct lending content | |
| embedded_links | No | Indicates whether the Campaign messages contain embedded links | |
| optin_keywords | No | A comma-separated list of OPT-IN keywords. The OPT-IN keywords are case-insensitive. | |
| optin_workflow | No | The opt-in workflow - the process through which consumers opt-in to the Campaign | |
| optout_message | No | An acknowledgement to be sent when an OPT-OUT keyword is received | |
| privacy_policy | No | A link to the Campaign privacy policy | |
| embedded_phones | No | Indicates whether the Campaign messages contain embedded phone numbers | |
| optout_keywords | No | A comma-separated list of OPT-OUT keywords. The OPT-OUT keywords are case-insensitive. | |
| terms_conditions | No | A link to the Campaign terms and conditions | |
| embedded_link_sample | No | An embedded link sample |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Evidence ID. | |
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | ||
| brand_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Unique identifier of a Brand |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | List of uploaded evidence files |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | File to upload. | |
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | The business zip or postal code | |
| city | Yes | The city name | |
| mock | No | Indicates a mock Brand. You can create mock Brands for testing purposes only, production traffic with the mock Brands is prohibited. | |
| Yes | The email address of the support contact | ||
| country | Yes | 2-letter ISO country code the business address | |
| website | No | The website of the business | |
| dba_name | Yes | Brand name or DBA | |
| vertical | Yes | The segment the business operates in | |
| ein_taxid | Yes | IRS 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_name | Yes | The last name of the business contact | |
| first_name | Yes | The first name of the business contact | |
| entity_type | Yes | The company entity type | |
| company_name | Yes | Legal name of the company | |
| phone_number | Yes | The support contact telephone in E.164 format | |
| stock_symbol | No | The stock symbol of the Brand. For PUBLIC_PROFIT Brands only. | |
| stock_exchange | No | The stock exchange code. For PUBLIC_PROFIT Brands only. | |
| street_address | Yes | Street name and house number | |
| ein_taxid_country | Yes | 2-letter ISO country code of the Tax ID issuing country | |
| state_or_province | Yes | State or province. For the United States, use 2 character codes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mock | No | Indicates whether to include mock brands only. | |
| page | No | Page number. | |
| status | No | Brand identity verification status. | |
| country | No | Brand registration country. | |
| dba_name | No | Brand name. | |
| per_page | No | Number of records per page. | |
| ein_taxid | No | EIN/Tax ID. | |
| entity_type | No | Business entity type. | |
| company_name | No | Company legal name. | |
| show_deleted | No | Indicates whether to include deleted brands. | |
| created_after | No | Brand creation start date in `YYYY-MM-DD` format. | |
| created_before | No | Brand creation end date in `YYYY-MM-DD` format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | The business zip or postal code | |
| city | No | The city name | |
| mock | No | Mock flag for testing (optional, defaults to false) | |
| No | The email address of the support contact | ||
| country | No | 2-letter ISO country code the business address | |
| website | No | The website of the business | |
| brand_id | Yes | Brand ID. | |
| dba_name | No | Brand name or DBA | |
| vertical | No | The segment the business operates in | |
| ein_taxid | No | IRS 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_name | No | The last name of the business contact | |
| first_name | No | The first name of the business contact | |
| entity_type | No | The company entity type | |
| company_name | No | Legal name of the company | |
| phone_number | No | The support contact telephone in E.164 format | |
| stock_symbol | No | The stock symbol of the Brand. For PUBLIC_PROFIT Brands only. | |
| stock_exchange | No | The stock exchange code. For PUBLIC_PROFIT Brands only. | |
| street_address | No | Street name and house number | |
| ein_taxid_country | No | 2-letter ISO country code of the Tax ID issuing country | |
| state_or_province | No | State or province. For the United States, use 2 character codes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. | |
| use_case | Yes | Use case name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| evp_id | No | EVP ID. | |
| brand_id | Yes | Brand ID. | |
| evidence | Yes | List of evidence IDs associated with the appeal. | |
| vetting_id | No | Vetting ID. | |
| explanation | No | Appeal comment or justification. | |
| appeal_categories | Yes | List of appeal categories. Allowed values: `VERIFY_TAX_ID`, `VERIFY_NON_PROFIT`, `VERIFY_GOVERNMENT`, `LOW_SCORE`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| evp_id | Yes | External vetting provider code | |
| brand_id | Yes | Brand ID. | |
| vetting_class | Yes | The vetting class |
Output Schema
| Name | Required | Description |
|---|---|---|
| evp_id | Yes | External vetting provider code |
| reasons | Yes | Reason |
| vetting_id | Yes | Unique identifier of the vetting request |
| create_date | Yes | The date and time the vetting request is created |
| vetted_date | Yes | The date and time the vetting request is competed |
| vetting_class | Yes | The vetting class |
| vetting_score | Yes | The assigned Brand vetting score |
| vetting_token | Yes | Unique vetting token |
| vetting_status | Yes | Status of the vetting request |
| vetting_details | No | Additional details of the vetting request |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| evp_id | Yes | External vetting provider code | |
| brand_id | Yes | Brand ID. | |
| vetting_id | Yes | Unique identifier of the vetting request | |
| vetting_token | Yes | Unique vetting token |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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_linkAInspect
Links a phone number to a 10DLC Campaign. Wavix automatically creates a Sender ID once the number is approved.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Phone number to associate with the Campaign. | |
| brand_id | Yes | Brand ID. | |
| campaign_id | Yes | Campaign ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 a useful side effect (automatic Sender ID creation after number approval) but does not mention whether the operation is reversible, requires permissions, or what happens if the number is not approved. This is partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action, and adds a relevant behavioral note. There is no redundant information or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists (though not shown), so return values need not be explained. The description notes one side effect but omits prerequisites (e.g., campaign approval) and potential error conditions. Adequate for a simple linking operation but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 three parameters (number, brand_id, campaign_id). The description does not add any extra parameter-level 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Links a phone number to a 10DLC Campaign,' using a specific verb and resource. It clearly distinguishes the action from sibling tools like ten_dlc_campaign_numbers_unlink and ten_dlc_campaign_numbers_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for the operation but does not explicitly mention when to use this tool versus alternatives or any prerequisites/exclusions. The note about automatically creating a Sender ID offers some contextual guidance but no direct comparison to siblings.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. | |
| campaign_id | Yes | Campaign ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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_campaign_numbers_unlinkAInspect
Unlinks a phone number from a 10DLC Campaign. The associated Sender ID is also deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Phone number to unlink. | |
| brand_id | Yes | Brand ID. | |
| campaign_id | Yes | Campaign ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals a critical side effect: 'The associated Sender ID is also deleted.' This goes beyond the schema and directly informs the agent of a consequence. However, it does not cover reversibility, authorization requirements, or failure conditions, so it is not fully comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences, front-loaded with the primary action. Every word contributes to understanding, with no fluff or repetition. It is appropriately sized for the complexity of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity and the presence of an output schema, the description covers the essential information: the action and a key side effect. It lacks preconditions or error scenarios, but these are not strictly required for a simple unlink operation. The description is largely complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for all three parameters (number, brand_id, campaign_id) with examples, giving 100% coverage. The tool description adds no extra semantic detail about these parameters; the mention of Sender ID is about a related resource, not a parameter. Thus, the description does not add significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Unlinks a phone number from a 10DLC Campaign' with a specific verb and resource, and adds a distinguishing side effect (deletes associated Sender ID). This effectively differentiates it from sibling tools like ten_dlc_campaign_numbers_link and ten_dlc_campaign_numbers_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than explicitly stated. There is no mention of when to use this tool versus alternatives (e.g., when unlinking is preferred over deleting the entire campaign), nor any conditions or prerequisites. The description simply states the action, leaving the agent to infer when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mock | No | Indicates whether to include mock 10DLC Campaigns only. | |
| name | No | Campaign name. | |
| page | No | Page number to retrieve. | |
| status | No | Campaign status. | |
| usecase | No | Use case. | |
| per_page | No | Number of records per page. | |
| created_after | No | Campaign creation start date in `YYYY-MM-DD` format. | |
| created_before | No | Campaign creation end date in `YYYY-MM-DD` format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand ID. | |
| campaign_id | Yes | Campaign ID. | |
| description | Yes | Description of the nudge request. | |
| nudge_intent | Yes | Nudge 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
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A webhook URL to send events to | |
| subscription_category | Yes | The Wavix 10DLC event type. Can be one of the following: `brand`, `campaign`, or `number`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_category | Yes | Event category to unsubscribe from. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | 2FA Verification ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date in `YYYY-MM-DD` format. | |
| from | Yes | Start date in `YYYY-MM-DD` format. | |
| service_id | Yes | 2FA Service ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | 2FA Verification ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code entered by an end user | |
| session_id | Yes | 2FA Verification ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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:
Create a Verification to generate and send an OTP.
Reuse the same Verification to resend the OTP if needed.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End user's phone number to which the verification code will be sent. The phone number must be in E.164 format. | |
| channel | Yes | The communication channel you want to use. Can be either `sms` or `voice`. | |
| service_id | Yes | Unique Wavix 2FA Service ID. Find your 2FA Service ID on the Wavix portal. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | Yes | The communication channel you want to use. Can be either `sms` or `voice`. | |
| session_id | Yes | 2FA Verification ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| voice_campaign | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| voice_campaign | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Voice campaign ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| voice_campaign | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | Yes | Time to live in seconds. Pass `null` for no expiration. | |
| payload | No | Arbitrary data to be associated with the token | |
| sip_trunk | Yes | SIP trunk name |
Output Schema
| Name | Required | Description |
|---|---|---|
| ttl | No | Time to live, in seconds |
| uuid | Yes | Token ID |
| token | Yes | Wavix Embeddable Widget token. |
| payload | No | Arbitrary data associated with the token |
| sip_trunk | Yes | SIP trunk name |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Token ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Token ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ttl | No | Time to live, in seconds. `null` means no expiration. |
| uuid | Yes | Token ID |
| payload | No | Arbitrary data associated with the token |
| sip_trunk | Yes | SIP trunk name |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | |
| pagination | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | Token ID | |
| payload | Yes | Arbitrary data to be associated with the token |
Output Schema
| Name | Required | Description |
|---|---|---|
| ttl | No | Time to live, in seconds. `null` means no expiration. |
| uuid | Yes | Token ID |
| payload | No | Arbitrary data associated with the token |
| sip_trunk | Yes | SIP trunk name |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for provisioning dedicated real-SIM US phone numbers, receiving inbound SMS, and extracting OTP codes. Built for AI agents automating phone verification workflows.351MIT
- Alicense-qualityDmaintenanceA comprehensive MCP server for TELNYX integration, enabling AI assistants to send SMS messages, make voice calls, and handle incoming communications via webhooks.MIT
- AlicenseBqualityCmaintenanceMCP server for the seven.io API, enabling SMS, voice, RCS messaging, and account management through natural language.44201MIT

lingtai-whatsappofficial
Alicense-qualityFmaintenanceMCP 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
Your Connectors
Sign in to create a connector for this server.