renew_virtual_number
Renew a virtual number for one more term, paid from the balance.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | A term from get_number_renewal_options | |
| numberId | Yes | The number id |
Renew a virtual number for one more term, paid from the balance.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | A term from get_number_renewal_options | |
| numberId | Yes | The number id |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose one meaningful trait beyond the schema: the renewal is charged against the account balance. However, it omits what happens on insufficient balance, whether the new term starts now or at expiry, and whether the number must be active or renewable, which are the real questions for a paid 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?
A single front-loaded sentence with no filler; the action, scope, and payment source are all in the first clause. It is efficient, though slightly too terse for a balance-charging 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?
For a two-parameter tool with fully documented schema this is minimally adequate, but as a paid mutation with no annotations and no output schema, an agent still lacks prerequisites and failure-mode context. The payment disclosure is the main thing keeping it above a 2.
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 both numberId and term are already documented, including the pointer to get_number_renewal_options. The description adds no syntax, format, or constraint detail beyond the schema, 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?
States a specific verb and resource ("Renew a virtual number") plus the exact scope ("one more term, paid from the balance"), which clearly distinguishes it from order_virtual_number and cancel_virtual_number. It stops short of explicitly naming those siblings, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance: nothing says the number must be near expiry, that a balance is a prerequisite, or how this differs from ordering a new number. The only implicit routing, that the term value comes from get_number_renewal_options, lives in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.