Wait for Voiceover
wait_for_voiceoverPoll a voiceover or change_voice job until COMPLETED or FAILED.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| maxAttempts | No | ||
| generationId | Yes | ||
| intervalSeconds | No |
wait_for_voiceoverPoll a voiceover or change_voice job until COMPLETED or FAILED.
| Name | Required | Description | Default |
|---|---|---|---|
| maxAttempts | No | ||
| generationId | Yes | ||
| intervalSeconds | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds the terminal states it watches for, but omits key behavioral facts: what happens when maxAttempts is exhausted, total wait bounds, and whether it throws or returns FAILED on timeout.
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 tight sentence with the verb and terminal conditions front-loaded. No filler, no redundancy, and every word contributes to understanding the 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?
With no output schema and no annotation detail beyond safety hints, the description should say what a successful wait returns (final status, job payload) and what a timeout yields, but it does neither. For a blocking poll tool with three undocumented parameters, this is materially 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 0% and the description mentions no parameters at all. It does not explain that generationId targets the job or clarify how maxAttempts and intervalSeconds control polling cadence, leaving the agent to infer everything from bare schema types.
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 (poll) and resource (a voiceover or change_voice job) plus the terminal conditions it waits for, so the agent knows the core behavior. It does not, however, distinguish itself from the sibling audio_status or explain why a polling wait is needed instead of a single status read.
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 'until COMPLETED or FAILED' implies this blocks/waits, contrasting implicitly with one-shot status tools like audio_status, but there is no explicit 'use after create_voiceover' or 'do not use if you already have a terminal status' guidance. Usage is inferred rather than stated.
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.