Skip to main content
Glama
yberudev

MCPGeneration-for-ElevenLabs

MCPGeneration-for-ElevenLabs

Servidor MCP local por stdio para usar APIs oficiais da ElevenLabs com validação de pedidos, controlo de custos, armazenamento local e exportação de áudio para Godot. O código deste repositório foi desenvolvido de raiz; não depende de outro MCP.

Estado

  • Node.js 24+, TypeScript 6, MCP TypeScript SDK v2, SDK JavaScript oficial ElevenLabs e SQLite.

  • DRY_RUN=true e ALLOW_PAID_GENERATIONS=false por padrão. Nenhuma ferramenta de geração envia pedidos pagos sem a política local e a autorização por chamada.

  • Os pedidos HTTP são validados contra o snapshot OpenAPI oficial incluído em src/schemas/elevenlabs-openapi.json.

  • O servidor inicia sem uma chave API para permitir descobrir as ferramentas e usar operações locais; chamadas remotas falham com missing_api_key.

  • Suporte parcial e itens em falta estão detalhados em docs/API_MATRIX.md e docs/IMPLEMENTATION_REPORT.md.

Related MCP server: ElevenLabs MCP Server

Requisitos

  • Node.js 24 ou superior e npm.

  • FFmpeg e FFprobe no PATH para conversão, corte, loops, mistura e exportação Godot.

  • Chave de API ElevenLabs para operações remotas. A disponibilidade depende da conta, permissões, plano e modelo; o servidor não presume acesso Starter.

O ambiente de desenvolvimento usado para esta implementação não tem FFmpeg/FFprobe. O servidor e os testes offline não dependem deles, mas as transformações locais requerem a instalação dos binários.

Instalação

npm ci
cp .env.example .env.local

Edite .env.local e defina ELEVENLABS_API_KEY. O arquivo é ignorado pelo Git. Por segurança, mantenha DRY_RUN=true até estar pronto para autorizar geração paga.

npm run build
npm run doctor
npm start

npm start comunica apenas pelo protocolo MCP em stdio; não o execute num terminal interativo como se fosse uma CLI. Use npm run dev durante o desenvolvimento.

Custos e autorização

Leia docs/COST_MANAGEMENT.md. Para ativar gerações pagas, defina DRY_RUN=false e ALLOW_PAID_GENERATIONS=true; cada chamada de geração também exige allow_paid=true. Como a API não fornece um custo de pré-validação confiável para todas as famílias, o custo desconhecido requer allow_unknown_cost=true para cada pedido. Estes controlos são uma barreira local, não uma estimativa de preço ou substituto dos limites da conta ElevenLabs.

create_composition_plan é documentado pela ElevenLabs como sem consumo de créditos, mas continua sujeito a autenticação e rate limits. Consultas e downloads de resultados existentes são operações de leitura.

Ferramentas

As ferramentas estão agrupadas em conta/capacidades, TTS, diálogo, efeitos sonoros, música, vozes, transcrição/alinhamento, dobragem, imagens/vídeo, Flows/assets, histórico, orçamento e gestão local de mídia. Para schemas e parâmetros, consulte docs/TOOL_REFERENCE.md.

Exemplos de ferramentas locais:

  • get_budget_status, estimate_cost, set_local_budget

  • inspect_media, convert_audio, normalize_audio, trim_audio, loop_audio, split_audio, merge_audio

  • export_to_godot, extract_music_stems, get_sound_effect_presets

Exemplos de geração (pagamento bloqueado por padrão):

  • generate_speech, generate_speech_with_timestamps, generate_dialogue

  • generate_sound_effect, generate_ambient_audio

  • generate_music, generate_music_detailed, generate_music_from_video, separate_music_stems

  • design_voice, clone_voice, transcribe_audio, align_audio_to_text, isolate_voice

Armazenamento e segurança

  • Saídas em generated/; SQLite e eventos locais em data/.

  • Caminhos de entrada limitados a GENERATED_DIR e ALLOWED_ROOTS.

  • Escritas atómicas, verificação de assinaturas, limites de bytes, prevenção de symlink/traversal e download restrito a URLs assinadas da ElevenLabs no domínio esperado.

  • Clonagem e finetunes exigem confirmação de direitos; exclusões remotas exigem confirmação explícita.

  • Logs vão para stderr; stdout fica reservado ao MCP.

Mais detalhes em docs/SECURITY.md.

Integrar com Codex ou Claude Code

Compile primeiro. Copie e adapte os exemplos sem colocar a chave API em ficheiros de configuração versionados:

As instruções atuais dos clientes estão em Codex MCP e Claude Code MCP. Nenhuma configuração global do utilizador é alterada por este repositório.

Godot

export_to_godot recebe explicitamente a pasta autorizada do projeto, converte conforme o perfil escolhido, escreve o áudio e atualiza .mcp-generation/assets.json. Consulte docs/GODOT_INTEGRATION.md e o exemplo em examples/godot/.

Desenvolvimento e verificações

npm run dev
npm run typecheck
npm run lint
npm run format:check
npm test
npm run check

npm run smoke:real é opt-in e não é incluído em check, testes ou CI. Sem --paid, consulta apenas a conta e os modelos. Uma chamada de geração requer --paid --confirm-paid-call --allow-unknown-cost, as duas autorizações de execução e ELEVENLABS_SMOKE_VOICE_ID. Consulte docs/IMPLEMENTATION_REPORT.md para os resultados realmente obtidos nesta máquina.

Fontes oficiais

Licença MIT. Consulte LICENSE.

Available Tools

89 tools
add_dubbing_languageB

Add one target-language job to a dubbing project. A language target may incur separate charges.

NameRequiredDescriptionDefault
allow_paidNo
project_idYes
target_languageYes
allow_unknown_costNo

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does add one genuinely useful behavioral fact: a language target may incur separate charges. However, it is silent on the critical paid-consent gating implied by the allow_paid and allow_unknown_cost flags, on whether the job runs asynchronously, and on what happens on failure or duplicate language targets.

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

Conciseness5/5

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

Two short sentences with the action stated first and the cost caveat second; nothing is redundant or buried. The description is front-loaded and easy to scan.

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

Completeness2/5

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

For a four-parameter mutation tool with no annotations, no schema descriptions, and no output schema, the description is too thin. It omits the consent semantics of the boolean flags, the async nature of the resulting job, and how to check progress, leaving the agent under-informed about how to call it safely.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for all four parameters. It only gestures at project_id and target_language via prose ('to a dubbing project', 'target-language job'), and never explains the two boolean flags that determine whether a paid job is permitted. The 'may incur separate charges' line hints at cost but does not connect it to allow_paid or allow_unknown_cost.

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

Purpose4/5

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

The description gives a specific verb+resource: add one target-language job to a dubbing project. That is clearly distinct from siblings such as create_dubbing_project or get_dubbing_status, so an agent can place it in the dubbing workflow. It stops short of naming an explicit alternative, which keeps it from a 5.

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

Usage Guidelines2/5

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

The phrase 'to a dubbing project' implies a project must already exist, but the description never states prerequisites or when to use this versus create_dubbing_project or get_dubbing_status. There are no exclusions and no guidance on calling it repeatedly for multiple languages.

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

align_audio_to_textC

Align supplied text to a local audio file using the documented forced-alignment endpoint.

NameRequiredDescriptionDefault
textYes
filenameNoalignment.json
allow_paidNo
input_pathYes
allow_unknown_costNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description carries full behavioral burden, yet it discloses almost nothing: not whether the operation is remote/paid (despite allow_paid and allow_unknown_cost parameters hinting at cost), not what is produced or where, and not whether anything is mutated. 'The documented forced-alignment endpoint' defers to external documentation rather than describing behavior.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words. It is concise, though the brevity comes partly at the cost of substance.

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

Completeness2/5

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

For a five-parameter tool with no annotations, no output schema, and no parameter documentation, the description is far too thin. An agent cannot know what the call returns, where alignment.json is written, or what the cost-gating flags do.

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

Parameters2/5

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

Schema coverage is 0% for 5 parameters, and the description only loosely implies that input_path is a local audio path and text is the transcript. The output filename, the max 100k text length, and especially allow_paid and allow_unknown_cost (which gate spending) are left completely unexplained.

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

Purpose4/5

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

States a specific verb and resource: aligning supplied text to a local audio file via forced alignment. The phrasing slightly inverts the tool name (align_audio_to_text), which could momentarily confuse direction, but the operation is identifiable and distinct from any sibling (none of which do forced alignment).

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

Usage Guidelines2/5

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

No guidance on when to choose this over transcribe_audio (the inverse operation) or transcript_to_subtitles, no prerequisites, and no mention of when it should not be used. Usage must be inferred entirely from the name and description.

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

change_voiceC

Transform a local recording into a target voice through the documented speech-to-speech endpoint.

NameRequiredDescriptionDefault
filenameYes
model_idNoeleven_english_sts_v2
voice_idYes
allow_paidNo
input_pathYes
output_formatNomp3_44100_128
allow_unknown_costNo
remove_background_noiseNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the entire behavioral burden and it discloses almost nothing: no file format/size constraints, no latency expectations, no upload behavior for the local path, and no mention of what happens on failure. Most importantly, the schema exposes allow_paid and allow_unknown_cost flags whose risk semantics (this operation can incur cost) are never explained despite being the highest-stakes aspect of 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.

Conciseness4/5

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

A single front-loaded sentence with no filler or repetition. It is efficient, though the brevity comes at the cost of the specification gaps noted elsewhere rather than from tight editing of sufficient content.

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

Completeness2/5

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

For an 8-parameter audio-transformation tool with no annotations, no output schema, and no schema descriptions, one sentence is not enough to call it correctly. The agent lacks cost-safety guidance, default behavior for model_id and output_format, and any expectation about the returned artifact.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description must compensate and only loosely does: 'target voice' gestures at voice_id and 'local recording' at input_path, but filename, model_id, output_format, remove_background_noise, allow_paid, and allow_unknown_cost receive no meaning at all. Six undocumented parameters with non-obvious semantics (notably the two cost-safety flags) is a substantial gap.

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

Purpose4/5

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

The description states a specific verb and resource ('transform a local recording into a target voice') and names the underlying operation ('speech-to-speech endpoint'), which distinguishes it from text-to-speech siblings like generate_speech and from isolate_voice. It stops short of explicitly differentiating itself from the neighboring voice tools, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no guidance on when to use this instead of isolate_voice, generate_speech, or convert_audio, nor any stated prerequisites such as needing an existing source file on the local filesystem. 'Documented speech-to-speech endpoint' gestures at external documentation without providing the selection criteria an agent needs.

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

clone_voiceA

Create an instant voice clone from local audio samples. Requires explicit rights/consent confirmation, up to three sample files, and both paid authorization gates.

NameRequiredDescriptionDefault
nameYes
labelsNo
allow_paidNo
descriptionNo
sample_pathsYes
allow_unknown_costNo
remove_background_noiseNo
rights_and_consent_confirmedNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully discloses the consent gate, a three-sample cap, and that cost authorization is a two-part gate, but it never says what cloning produces (voice ID? preview?), whether the operation costs credits, or whether it can overwrite an existing voice. For a no-annotation mutation tool that is a meaningful gap, though the gating disclosures are above average.

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

Conciseness5/5

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

Two sentences with no filler, front-loading the action and then the prerequisites in the order an agent must satisfy them. Nothing could be removed without losing information.

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

Completeness3/5

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

For an 8-parameter mutation tool with a nested labels object, zero annotations, and no output schema, the description covers the risky gates but leaves the agent guessing about side effects, cost, and result shape. Adequate to avoid a wrong call, not adequate to predict what a correct call yields.

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

Parameters3/5

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

Schema coverage is 0% across 8 parameters, so the description must compensate. It injects real meaning into three of them ('up to three sample files' → sample_paths, 'rights/consent confirmation' → rights_and_consent_confirmed, 'both paid authorization gates' → allow_paid and allow_unknown_cost), but name, labels, description, and remove_background_noise get nothing, leaving half the surface unexplained.

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

Purpose4/5

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

States a specific verb and resource: 'Create an instant voice clone from local audio samples.' 'Instant' and 'local audio samples' distinguish it in kind from siblings like design_voice, create_voice_from_preview, and remix_voice, though none are named explicitly.

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

Usage Guidelines3/5

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

Lists hard prerequisites (consent confirmation, max three samples, both paid authorization gates), which is genuine when-can-I-call guidance. It never says when to prefer this over design_voice or create_voice_from_preview, nor what to do if the user lacks consent or paid authorization.

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

convert_audioC

Convert a local audio file with FFmpeg. The requested output format is encoded and verified; changing an extension alone is not used.

NameRequiredDescriptionDefault
formatYes
filenameYes
overwriteNo
input_pathYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that the output is actually encoded and verified rather than a rename, but says nothing about overwrite semantics, whether the input file is preserved, output destination, failure modes, or permission/disk requirements.

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

Conciseness4/5

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

Two tight, front-loaded sentences with no filler; the purpose leads and the caveat follows. The second clause is slightly awkwardly worded ('changing an extension alone is not used') but does carry real informational weight.

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

Completeness2/5

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

For a four-parameter, no-output-schema, no-annotation mutation tool, the description is too thin: it never states where the converted file lands, how it is named, or how errors and overwrites are handled. An agent could not reliably call this correctly without guessing at filename/overwrite behavior.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for four undocumented parameters. It clarifies the meaning of 'format' (real transcoding) but never explains the distinction between 'filename' and 'input_path' (output name? source name?) or what 'overwrite' controls, leaving the two most error-prone parameters ambiguous.

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

Purpose4/5

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

States a specific verb and resource ('Convert a local audio file') plus the engine used (FFmpeg), which is enough for an agent to distinguish it from sibling tools like normalize_audio, trim_audio, or merge_audio. It never names those siblings explicitly, so the differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no alternatives named, so an agent must infer from the name alone whether to convert versus trim, normalize, or split. The phrase 'local audio file' gives a weak scoping hint (filesystem inputs, not uploaded assets) but no explicit exclusions.

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

create_async_speechC

Create speech through the separate ElevenCreative async flow API. The request is validated against the checked-in current OpenAPI contract.

NameRequiredDescriptionDefault
allow_paidNo
parametersYes
allow_unknown_costNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full disclosure burden, yet it never says that this is a non-blocking job that returns an identifier to be polled, nor does it mention cost gating, permission needs, or failure modes. 'Validated against the checked-in current OpenAPI contract' is a process remark about the server, not observable behavior, so it does not compensate.

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

Conciseness3/5

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

It is short and the purpose sentence is front-loaded, but the second sentence mostly restates that validation happens rather than adding call-relevant information. Little is wasted, yet little is delivered either.

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

Completeness2/5

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

For a tool with a required opaque nested object, no output schema, and no annotations, the description leaves the agent without the shape of the request body or the asynchronous result. It is not enough to call the tool correctly without consulting external documentation.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, including a free-form nested 'parameters' object whose allowed keys are entirely undocumented. The one useful hint, that the request must match the checked-in OpenAPI contract, is only a pointer to external documentation and adds no concrete meaning for allow_paid or allow_unknown_cost.

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

Purpose3/5

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

It names a concrete verb and resource ('Create speech') and signals that this runs through a separate async flow API, which sets it apart from a plain generation call. However, it never explains how the async flow differs from generate_speech or generate_speech_stream, so an agent cannot confidently prefer one over the other from the description alone.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or which sibling to pick instead. The presence of get_async_speech strongly suggests a follow-up polling step, but the description never says so, leaving the agent to infer the whole workflow.

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

create_audio_loopB

Repeat an audio file to a requested duration. The output is not claimed to have a seamless boundary.

NameRequiredDescriptionDefault
formatNoogg
filenameYes
overwriteNo
input_pathYes
duration_secondsYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that the output is not claimed to have a seamless boundary, but it omits important behavior such as what file is written, how overwrite is handled, and whether the source audio is modified.

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

Conciseness5/5

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

The definition is two concise sentences with no wasted wording. The purpose is front-loaded, and the caveat follows immediately where it is relevant.

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

Completeness2/5

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

The tool has no annotations, no output schema, and five parameters with 0% schema description coverage. The description covers the core operation and one output caveat but leaves output location, format behavior, and overwrite semantics undocumented.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate for the five parameters. It only vaguely references the input audio and requested duration, leaving input_path, filename, format, and overwrite unexplained beyond their property names.

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

Purpose5/5

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

The description states a specific verb and resource: "Repeat an audio file to a requested duration." That clearly distinguishes it from sibling tools such as trim_audio, merge_audio, and split_audio, which manipulate audio in different ways.

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

Usage Guidelines2/5

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

The description implies the basic use case of extending an audio file to a target duration, but it gives no explicit when-to-use guidance, no exclusions, and no comparison to sibling tools. The seamless-boundary caveat is a quality note, not usage guidance.

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

create_composition_planC

Ask the documented music planning endpoint to produce a structured plan. Official docs state this endpoint consumes no credits, but rate limits apply.

NameRequiredDescriptionDefault
promptYes
model_idNomusic_v2_5
music_length_msNo

TDQS

C2.2/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden. It does add one genuinely useful behavioral fact beyond the schema — the call consumes no credits but is rate limited — which is exactly the kind of operational context an agent needs before calling. However, it says nothing about whether the plan is persisted, what permissions are required, or what the response shape looks like, which matters for a creation-named tool with no output schema.

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

Conciseness3/5

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

It is short — two sentences — with no padding in length, and the cost/rate-limit fact is stated up front enough to be found. But the words that are there are largely spent on empty framing ("Ask the documented... endpoint", "Official docs state") rather than on information the agent can act on.

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

Completeness2/5

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

For a creation tool with no annotations, no output schema, and three undocumented parameters, an agent needs to know what the returned plan is for and how to consume it. The description omits that entirely, leaving the definition insufficient relative to the tool's complexity, though the credit/rate-limit note does cover one real gap.

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

Parameters1/5

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

Schema description coverage is 0% across three parameters (prompt, model_id, music_length_ms), and the description adds no parameter meaning whatsoever. The bounds on music_length_ms, the enum of model versions, and the 4100-character prompt limit are left entirely to bare schema constraints with no guidance on how they interact with the planning behavior.

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

Purpose2/5

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

"Ask the documented music planning endpoint to produce a structured plan" essentially restates the tool name (create_composition_plan) in other words. It never says what a "plan" actually is, what it contains, or how it differs from siblings like generate_music or generate_music_detailed, so the agent cannot distinguish it from the many music-generation tools by purpose alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no reference to any alternative tool. The only conditional information is an implicit hint that it is free to call, which is not the same as telling an agent when this tool is the right choice over generate_music.

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

create_dubbing_projectB

Create a dubbing project from a local audio/video file. This operation may charge before an output is produced and requires both paid authorization gates.

NameRequiredDescriptionDefault
model_idNo
referenceNo
allow_paidNo
input_pathYes
source_languageNo
target_languageNo
allow_unknown_costNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden, and it does add real value by disclosing that charges may occur before output and that paid authorization gates must be satisfied. It omits other important behavior: whether creation is asynchronous, what permissions are needed, and what happens if the cost is unknown or gates are not passed.

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

Conciseness4/5

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

Two tight sentences with the operation stated first and the cost/authorization caveat second; no filler. It is efficient, though it spends its limited space on caveats rather than the undocumented parameters.

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

Completeness2/5

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

For a charge-incurring creation tool with 7 undocumented parameters and no output schema or annotations, the description is thin. It never clarifies the async lifecycle, the enum choice for model_id, or language parameter requirements, so an agent would still be guessing on most invocation details.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, and the description explains none of them individually. The mention of 'paid authorization gates' loosely gestures at allow_paid and allow_unknown_cost, but model_id, source_language, target_language, reference, and input_path receive no added meaning, leaving the schema to speak for itself.

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

Purpose4/5

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

States a specific verb and resource (create a dubbing project) and names the input source (local audio/video file), which cleanly separates it from siblings like add_dubbing_language, get_dubbing_status, and delete_dubbing_project. It stops short of explicitly contrasting with 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.

Usage Guidelines3/5

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

The description signals a precondition for use ('requires both paid authorization gates') and warns of charging, which implicitly tells the agent this is a paid-path operation. However, it never says when to pick this over alternatives, nor how the project lifecycle continues (e.g., status polling via get_dubbing_status).

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

create_music_finetuneB

Create an optional music finetune from audio samples. Requires local enablement, rights confirmation, and both paid-operation gates.

NameRequiredDescriptionDefault
nameYes
tagsNo
model_idNomusic_v1
allow_paidNo
visibilityNo
sample_pathsYes
primary_genreYes
rights_confirmedNo
allow_unknown_costNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose real behavioral constraints: local enablement and dual paid-operation gates imply this can fail for non-technical reasons and may incur cost. It omits whether training is long-running/asynchronous, what happens to samples, and what a successful call returns.

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

Conciseness4/5

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

Two short sentences with the action front-loaded and the prerequisites second — efficient and easy to scan. The only waste is the vague 'optional' qualifier, which earns no place without explanation.

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

Completeness2/5

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

For a 9-parameter, annotation-free mutation tool with no output schema, the description is thin: five parameters are undocumented and nothing explains the model_id enum choice, visibility semantics, or the return value (presumably a finetune id to poll or fetch). The gating information is genuinely valuable but does not cover the whole surface an agent needs.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate for all 9 parameters. It maps loosely to sample_paths ('audio samples'), rights_confirmed ('rights confirmation'), and allow_paid/allow_unknown_cost ('both paid-operation gates'), but name, primary_genre, tags, model_id, and visibility get no mention at all.

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

Purpose4/5

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

States a specific verb and resource ('Create ... music finetune from audio samples'), which cleanly separates it from the sibling read/update/delete finetune tools. The word 'optional' is unexplained and adds ambiguity rather than precision.

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

Usage Guidelines3/5

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

It lists prerequisites for invocation (local enablement, rights confirmation, paid-operation gates), which is useful gating context. However, it never says when to choose a finetune over the sibling generate_music family, nor what conditions make this the wrong tool.

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

create_voice_from_previewB

Save one previously generated preview as a reusable voice. Requires confirm_save=true and both paid-operation gates.

NameRequiredDescriptionDefault
allow_paidNo
voice_nameYes
confirm_saveNo
voice_descriptionYes
allow_unknown_costNo
generated_voice_idYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations supplied, the description carries the burden and does disclose meaningful behavior: this is a mutating save, it needs an explicit confirm flag, and it is gated by two cost-related switches. It does not say whether the preview is consumed or remains available, whether repeated saves duplicate a voice, or what happens on gate failure.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and immediately followed by the gating conditions. No filler, no restatement of the tool name.

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

Completeness3/5

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

For a six-parameter mutation with no annotations and no output schema, the definition covers the highest-risk aspect (paid-operation confirmation) but leaves parameter meaning and return behavior unexplained. An agent could get the gating right yet still fail the minLength rules on voice_description.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters, so the description must compensate and largely does not: it names confirm_save and implies the two gates but never explains generated_voice_id, voice_name, or the 20-1000 character constraint on voice_description. It is unclear from the description which two switches constitute 'both paid-operation gates'.

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

Purpose4/5

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

The description states a specific verb and resource: 'Save one previously generated preview as a reusable voice,' which clearly separates it from siblings that create voices from other sources (design_voice, clone_voice, remix_voice) by pinning the input to an existing preview. It does not name those siblings explicitly, so differentiation is implied through the source object rather than stated.

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

Usage Guidelines3/5

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

Prerequisites are given ('previously generated preview', confirm_save=true, both paid-operation gates), which tells an agent the conditions under which the call will succeed. There is no explicit when-not guidance or pointer to an alternative path (e.g., cloning from audio instead of a preview), so the routing information is only partial.

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

delete_assetA

Permanently delete an asset from the ElevenLabs workspace. Requires explicit confirm_delete=true.

NameRequiredDescriptionDefault
asset_idYes
confirm_deleteNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations at all, the description carries the full behavioral burden, and it does disclose the two most consequential traits: the deletion is permanent and a confirmation flag is mandatory. However, it says nothing about permission requirements, whether in-use assets are blocked or cascaded, or what the response returns on success/failure — substantial gaps for an irreversible mutation.

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

Conciseness5/5

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

Two short sentences with the destructive nature front-loaded and the required flag immediately after. Nothing is redundant and no sentence could be removed without losing required information.

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

Completeness3/5

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

For a two-parameter irreversible deletion with no annotations and no output schema, the definition covers the essentials (permanence + confirmation) but not the surrounding context an agent needs to act safely: scope of what is destroyed, error behavior on missing assets, and whether recoverability exists. It is minimum viable rather than complete.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it does explain the non-obvious parameter: confirm_delete must be set to true, which the schema alone only shows as a boolean defaulting to false. The asset_id parameter is left entirely undocumented, so half the parameter surface still lacks meaning.

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

Purpose4/5

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

The description gives a specific verb and resource ('Permanently delete an asset') and names the owning system ('ElevenLabs workspace'), so the agent can distinguish it from the many generate_* siblings. It does not explicitly contrast with the other destructive siblings (delete_voice, delete_history_item, delete_music_finetune), but the resource noun 'asset' is precise enough to disambiguate.

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

Usage Guidelines3/5

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

The prerequisite 'Requires explicit confirm_delete=true' tells the agent what to supply, and 'Permanently' signals this is irreversible rather than a soft delete. There is no guidance on when to choose this over related tools such as delete_history_item, nor any note on preconditions like whether the asset must be unreferenced first.

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

delete_dubbing_projectA

Permanently delete a dubbing project. Requires explicit confirm_delete=true.

NameRequiredDescriptionDefault
project_idYes
confirm_deleteNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden, and it does disclose the most important trait: the operation is permanent and gated by an explicit confirm flag. It does not disclose side effects on associated languages/dubbed media, permission requirements, or whether recovery is possible after the fact.

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

Conciseness5/5

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

Two short sentences with zero filler, and the destructive nature is front-loaded via 'Permanently'. Every clause adds information.

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

Completeness3/5

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

For a destructive mutation with no annotations, no output schema, and 0% schema coverage, the definition covers the essentials (permanence + confirmation requirement) but omits cascade effects and failure modes an agent should know before invoking it.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It partly does by explaining confirm_delete's role as an explicit confirmation gate, adding safety semantics beyond the bare boolean/default. project_id is self-explanatory by name, but neither parameter gets format or validation detail.

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

Purpose4/5

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

States a specific verb ('Permanently delete') and a specific resource ('a dubbing project'), which naturally distinguishes it from the other delete_* siblings (delete_voice, delete_asset, delete_music_finetune, delete_history_item). It's clear but doesn't explicitly note any sibling relationship.

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

Usage Guidelines3/5

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

Provides one concrete precondition ('Requires explicit confirm_delete=true'), which is a usable usage cue. However, it gives no when-to-use versus alternatives guidance (e.g., when to delete vs. just stop using a project), and no note on whether the deletion is recoverable or what dependent resources are affected.

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

delete_history_itemA

Permanently delete one ElevenLabs history item. Requires explicit confirm_delete=true.

NameRequiredDescriptionDefault
confirm_deleteNo
history_item_idYes

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full burden. It does disclose the two behavioral facts that matter most for a delete tool: the effect is permanent and a confirm flag is mandatory. It stops short of covering permissions, cascade effects, or error behavior.

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

Conciseness5/5

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

Two short sentences, zero filler, with the destructive nature and the confirmation gate front-loaded ahead of any detail.

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

Completeness3/5

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

For a two-parameter destructive tool with no annotations and no output schema, the description covers purpose, irreversibility, and the safety gate. The gap is the undocumented identifier parameter, which leaves an agent unsure how to source a valid history_item_id.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds real meaning for confirm_delete by stating the required value, but history_item_id is left entirely unexplained — no hint about its origin (e.g., from listing or getting a history item) or its format beyond maxLength 150.

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

Purpose4/5

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

Uses a specific verb plus resource: "Permanently delete one ElevenLabs history item." That is enough to separate it from read-only siblings such as get_generation_history_item and download_history_audio, though it never names those alternatives explicitly.

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

Usage Guidelines3/5

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

The description gives a hard precondition (confirm_delete=true), which implicitly signals this is a guarded, intentional operation. It does not say when to prefer deletion over simply ignoring an item, nor does it route the agent to list_generation_history to obtain the target id.

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

delete_music_finetuneA

Permanently delete one music finetune. Requires explicit confirmation and local module enablement.

NameRequiredDescriptionDefault
finetune_idYes
confirm_deleteNo

TDQS

A4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does meaningful work: it discloses irreversibility ("Permanently"), that an explicit confirmation is required, and that a local module must be enabled for the call to work. It stops short of describing failure behavior or what happens to dependent artifacts.

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

Conciseness5/5

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

Two short sentences, no filler, with the permanence warning and the prerequisites front-loaded in the order an agent needs them.

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

Completeness4/5

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

For a two-parameter destructive tool with no annotations or output schema, this covers the essentials: irreversibility, the confirmation gate, and the enablement prerequisite. It could add the negative path (default confirm_delete=false behavior) and permission requirements to be fully complete.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains the meaning behind the confirm_delete flag ("explicit confirmation") but leaves finetune_id undocumented, and does not say what happens if confirm_delete is left at its default of false.

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

Purpose5/5

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

States a specific verb and effect ("Permanently delete") on a specific resource ("one music finetune"), which cleanly separates it from the sibling list_music_finetunes, get_music_finetune, update_music_finetune, and create_music_finetune tools.

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

Usage Guidelines3/5

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

The word "Permanently" signals this is the destructive path, and it names a prerequisite ("local module enablement"), but it never says when to choose this over update_music_finetune or what to do instead when the module is disabled. The usage context 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.

delete_voiceA

Permanently delete a voice from the account. Requires explicit confirm_delete=true.

NameRequiredDescriptionDefault
voice_idYes
confirm_deleteNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the whole burden. It does disclose the two most important behavioral traits — irreversibility and a mandatory confirmation flag — but says nothing about permissions required, what happens to compositions or generations that reference the voice, or the return result of the deletion.

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

Conciseness4/5

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

Two tight sentences with the destructive nature front-loaded and the safety requirement second. Nothing is redundant, though a short clause on prerequisites could be added without bloat.

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

Completeness4/5

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

For a simple two-parameter destructive tool with no output schema and no annotations, the essentials — resource, permanence, and the confirmation gate — are all present. Optional gaps are the deletion side effects and response confirmation, which are minor at this complexity.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains confirm_delete as an explicit opt-in guard (going beyond the schema's bare boolean default of false), but voice_id is left entirely undocumented beyond its obvious name.

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

Purpose4/5

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

States a specific verb and resource ('Permanently delete a voice') with the scope 'from the account'. It is unambiguous against siblings like delete_asset or delete_history_item because the resource is named, though it does not explicitly route to alternatives such as update_voice_settings.

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

Usage Guidelines3/5

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

The word 'Permanently' plus the confirm_delete requirement implies this is an irreversible operation to be used only for genuine removal, and it implicitly contrasts with update_voice_settings. However, there is no explicit when-to-use/when-not-to-use guidance or mention of prerequisites such as ownership or reference checks.

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

design_voiceB

Generate voice previews from a description. The API returns multiple sample audios; they are saved to local files and omitted from the tool response. This may consume credits.

NameRequiredDescriptionDefault
seedNo
textNo
loudnessNo
model_idNoeleven_multilingual_ttv_v2
allow_paidNo
guidance_scaleNo
filename_prefixNovoice-preview
voice_descriptionYes
allow_unknown_costNo
auto_generate_textNo

TDQS

B3.2/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does disclose non-obvious behavior: multiple sample audios are produced, they are written to local files and omitted from the tool response, and the call may consume credits. That is meaningful disclosure an agent could not get from structured fields. It stops short of naming where files land, how they are named, or what happens when credits are declined.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action, followed by the response-shape caveat and the cost warning. Nothing is padded and the ordering matches what an agent needs before calling.

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

Completeness2/5

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

For a 10-parameter mutation-adjacent tool with no annotations, no output schema, and zero schema coverage, the description leaves too much unknown: file naming and location, what an empty response actually looks like, and how the cost-consent flags gate the call. The return-omission note is valuable but the parameter surface is essentially undocumented.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description must compensate and it largely does not. It adds nothing about allow_paid, allow_unknown_cost, auto_generate_text, filename_prefix, guidance_scale, seed, loudness, or model_id. The single phrase 'may consume credits' faintly gestures at the two paid-consent flags but gives no guidance on how they interact.

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

Purpose4/5

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

The description names a specific verb and resource: 'Generate voice previews from a description.' That is concrete and unmistakable. It does not, however, differentiate itself from the nearby siblings create_voice_from_preview and get_voice_preview, which an agent could easily confuse with it in a list of 80+ tools.

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

Usage Guidelines2/5

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

There is no statement of when to use this instead of create_voice_from_preview or clone_voice, no prerequisites, and no exclusions. The only implied workflow is generating samples that later feed a voice creation, and that has to be inferred rather than read.

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

download_dubbed_mediaA

Download one completed dubbing language output to a local file. The output is saved only after the API responds successfully and its audio signature is checked.

NameRequiredDescriptionDefault
filenameYes
project_idYes
language_idYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description usefully discloses that the local output is saved only after a successful API response and an audio-signature check. It leaves other local-file behavior unspecified, including overwrite handling, cleanup after validation failure, and the downloaded file format.

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

Conciseness5/5

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

Two short sentences front-load the operation and then state the important save-and-validation behavior. There is no redundant or unnecessary wording.

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

Completeness3/5

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

The description covers the basic operation and an important failure-safety behavior for a simple three-parameter download tool. However, the undocumented parameters, absent completion-workflow pointer, and unclear destination-file semantics leave avoidable invocation gaps.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only indirectly connects language_id to the selected output and filename to the local destination. It does not explain where project_id and language_id are obtained or whether filename is a basename, relative path, or absolute path.

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

Purpose4/5

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

The description gives a specific verb, resource, cardinality, and destination: downloading one completed dubbing language output to a local file. The resource is distinguishable from the other download siblings, but the description does not explicitly contrast those alternatives.

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

Usage Guidelines4/5

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

The word "completed" establishes a clear prerequisite for using the tool. It does not explain how to verify completion, such as by calling get_dubbing_status, or when another download tool would be appropriate.

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

download_history_audioC

Download the audio for one history item to local storage.

NameRequiredDescriptionDefault
filenameYes
history_item_idYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description usefully discloses the single-item scope and local-storage side effect. It omits other relevant behavior, such as whether an existing file is overwritten, whether directories are created, and what success or failure returns.

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

Conciseness4/5

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

The single sentence is front-loaded and contains no unnecessary wording. However, its brevity leaves important parameter and behavioral details unstated.

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

Completeness2/5

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

The core operation is understandable, but the definition is incomplete given the undocumented parameters, absent annotations, and lack of an output schema. ID discovery, filename handling, and local-file behavior are important omissions for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only indirectly clarifies that history_item_id selects the history item. It does not explain where to obtain that ID or whether filename is a basename or path, including any extension or directory requirements.

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

Purpose4/5

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

The description clearly states the verb, resource, and scope: downloading audio for one history item to local storage. It does not explicitly differentiate this tool from siblings such as download_dubbed_media or the generation-history tools.

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

Usage Guidelines2/5

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

Beyond implying that the caller wants one history item's audio, there is no guidance on when to use the tool or which alternatives to choose. It does not explain that history_item_id can be discovered through list_generation_history or get_generation_history_item.

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

download_imageA

Download completed image output from the official signed generation URL, validate the URL host and file signature, then save it locally.

NameRequiredDescriptionDefault
filenameYes
generation_idYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden. It usefully discloses URL host validation, file signature validation, and local saving, but it does not cover overwrite behavior, error handling, permissions, or what is returned after saving.

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

Conciseness5/5

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

The definition is a single front-loaded sentence with no filler. Each clause adds operative detail about source, validation, and save behavior.

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

Completeness3/5

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

The description is adequate for a simple two-parameter download tool in purpose and safety behavior, but it leaves both parameters undocumented and omits basic local-save edge cases. For a tool with no annotations, no output schema, and 0% schema coverage, more context would be expected.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain either parameter. It implies that a generation output is saved locally, but it never clarifies what generation_id identifies or how filename is used, so it does not compensate for the schema gap.

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

Purpose5/5

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

The description states a specific verb and resource: download completed image output. It also scopes the operation to the official signed generation URL and local saving, which distinguishes it from generation/metadata siblings like generate_image and get_image_generation.

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

Usage Guidelines4/5

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

It gives clear context: the output must be completed and come from the official signed generation URL. It does not explicitly name alternatives or state when not to use it, but the intended usage is clear for a download tool.

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

download_videoA

Download completed video output from the official signed generation URL, validate the URL host and file signature, then save it locally.

NameRequiredDescriptionDefault
filenameYes
generation_idYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations supplied, the description usefully discloses that the tool retrieves a remote signed URL, validates both the URL host and file signature, and writes the result locally. These are meaningful behavioral and security details, although overwrite behavior, filesystem handling, and possible failure conditions remain unspecified.

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

Conciseness5/5

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

The single sentence is front-loaded with the primary action and then presents validation and saving in a logical sequence. Every clause contributes useful operational information without redundancy or unnecessary wording.

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

Completeness3/5

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

For a simple two-parameter download tool, the description covers the core workflow and important validation behavior. However, the absence of annotations, parameter documentation, and an output schema leaves gaps around prerequisites, filename and overwrite semantics, and what the caller receives after a successful save.

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

Parameters2/5

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

Schema description coverage is 0%, and the description never explicitly explains either generation_id or filename. It indirectly suggests that generation_id selects a completed video generation and filename controls the local save, but leaves destination-path rules, extension handling, and ID provenance undocumented.

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

Purpose4/5

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

The description clearly states the action and resource: downloading a completed video output and saving it locally. The signed-URL and validation details further clarify its scope, though it does not explicitly differentiate itself from siblings such as download_image or get_video_generation.

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

Usage Guidelines4/5

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

The phrase 'completed video output' establishes that the tool is intended for the post-generation stage, providing useful context for when to invoke it. It does not explain how to confirm completion or obtain a suitable generation, nor does it identify alternatives for incomplete generations or other media types.

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

estimate_costC

Return an official estimate only when one is available. This local implementation does not invent per-character, per-second or per-generation prices.

NameRequiredDescriptionDefault
textNo
model_idNo
operationYes
duration_secondsNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations supplied, the description carries the full behavioral burden. It usefully discloses that the local implementation does not invent prices and only returns an official estimate when one is available, but it omits whether the call is read-only, what happens when no estimate exists, and whether authentication or rate limits apply.

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

Conciseness4/5

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

The description is two short sentences with no obvious filler, and the conditional estimate behavior is front-loaded. It is compact, though its brevity leaves important details unstated rather than explained efficiently.

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

Completeness2/5

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

Given four parameters, 0% schema description coverage, no annotations and no output schema, the description is not complete enough. It does not explain the operation enum, how text/model_id/duration_seconds affect the estimate, or what the return value looks like when an estimate is unavailable.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for four undocumented parameters. It hints at per-character, per-second and per-generation pricing, but it does not map those concepts to text, duration_seconds, model_id or the required operation enum values.

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

Purpose3/5

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

The description says to return an official estimate only when available and mentions per-character, per-second or per-generation prices, implying a cost estimate. However, it never explicitly states that it estimates cost for the requested operation, and it does not distinguish itself from siblings such as get_budget_status or get_usage_report.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives, nor when not to use it. The conditional availability statement is a behavioral constraint, not usage guidance, so an agent must infer that this should be called before generation operations.

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

export_to_godotB

Export one local audio asset to an explicitly supplied and authorized Godot project root. Requires that project root to be within ALLOWED_ROOTS.

NameRequiredDescriptionDefault
profileYes
overwriteNo
input_pathYes
project_rootYes
relative_pathYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it discloses that this is a write into an authorized location and that only one asset is handled per call. It omits overwrite behavior, whether existing files are replaced or errors are returned, and whether directories are created. That leaves meaningful mutation semantics unstated.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and its scope. Nothing is padding, though the ALLOWED_ROOTS reference is unexplained jargon.

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

Completeness2/5

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

This is a mutating export tool with no annotations, no output schema, and zero parameter documentation. The description should at minimum cover overwrite semantics, what profile values mean, and how relative_path is resolved; none of that is present.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters, so the description must compensate. It adds real meaning only for project_root (must be within ALLOWED_ROOTS); input_path, relative_path, overwrite, and the profile enum values are left entirely undefined.

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

Purpose4/5

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

The description states a specific verb and resource: exporting a single local audio asset into a Godot project root. It is clearly distinguishable from all sibling generation/processing tools. It stops short of naming a sibling or contrasting scope, which keeps it 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.

Usage Guidelines3/5

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

It gives one prerequisite (the project root must fall within ALLOWED_ROOTS) but no guidance on when to choose this over other asset workflows, or when not to. Usage is implied by the naming rather than explained.

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

extract_music_stemsB

Safely extract supported audio tracks from a generated ZIP. Rejects traversal, symlinks, non-audio entries, and oversized expansions.

NameRequiredDescriptionDefault
zip_pathYes
filename_prefixYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden. It usefully discloses the rejection rules (traversal, symlinks, non-audio entries, oversized expansions), which is real security context. But it omits critical behavior: whether rejected entries cause a hard failure or are silently skipped, what 'supported audio' formats are, and where files are written relative to filename_prefix.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and immediately followed by the safety guarantees. Zero filler and nothing repeated from the name.

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

Completeness3/5

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

For a two-parameter extraction tool with no annotations and no output schema, the description gives good security posture but leaves the outcome undefined — no statement of what is returned (paths? counts?), where files land, or what happens on partial rejection. An agent can attempt the call but cannot predict its result.

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

Parameters2/5

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

Schema description coverage is 0% for both required parameters, so the description must compensate and it does not. Neither zip_path nor filename_prefix is explained — notably filename_prefix implies output naming and possibly per-file prefixing, but the description says nothing about how it is applied or what collisions do.

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

Purpose4/5

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

States a specific verb and resource: extract audio tracks from a generated ZIP. An agent can tell this is a ZIP-unpacking tool rather than a stem-separation tool, though the description never acknowledges the similarly named sibling separate_music_stems, which is the main confusion risk here.

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

Usage Guidelines3/5

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

The phrase 'from a generated ZIP' implies the input must come from an upstream generation step, giving implied context for when to call it. However, it never states preconditions explicitly, never names an alternative, and gives no guidance on what to do if the ZIP is invalid or partially extractable.

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

generate_ambient_audioC

Generate an ambient sound loop using the documented loop flag. The API does not guarantee a seamless loop beyond its own generation behavior.

NameRequiredDescriptionDefault
loopNo
textYes
filenameYes
model_idNo
allow_paidNo
output_formatNomp3_44100_128
duration_secondsNo
prompt_influenceNo
allow_unknown_costNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It mentions a loop-quality caveat but says nothing about cost implications (allow_paid, allow_unknown_cost are parameters), duration limits, model selection effects, output file handling, or whether generation is synchronous. For a 9-parameter generation tool with billing-related flags, this is a substantial gap.

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

Conciseness3/5

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

Two short sentences with no filler, which is efficient. However, the second sentence is a hedge about loop seamlessness that arguably belongs in a caveat section, and the space saved is spent on nothing informative.

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

Completeness2/5

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

For a 9-parameter generation tool with no annotations and no output schema, the description is far too thin. An agent cannot infer cost behavior, output location, duration constraints, or how this differs from the many other audio-generation siblings.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description must compensate and does not. It only alludes to the 'loop flag' without explaining loop semantics, and never addresses text, filename, model_id, duration_seconds, prompt_influence, output_format, or the two paid-cost consent flags.

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

Purpose4/5

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

The description states a specific verb and resource ('Generate an ambient sound loop'), which clearly identifies a text-to-audio generation tool. It does not differentiate itself from siblings like generate_sound_effect, create_audio_loop, or generate_music, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over generate_sound_effect, create_audio_loop, or generate_music, which are close siblings. The only contextual hint is the mention of a loop flag, which is vague rather than a routing rule.

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

generate_dialogueC

Generate a multi-voice dialogue in input order. Enforces the documented unique voice and length limits. Paid authorization is required.

NameRequiredDescriptionDefault
inputsYes
filenameYes
model_idNo
allow_paidNo
future_textNo
language_codeNo
output_formatNomp3_44100_128
previous_textNo
allow_unknown_costNo

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses input-order processing, unique-voice and length-limit enforcement, and paid authorization, but it does not explain what those limits are, what happens when they are violated, or how cost-related flags behave.

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

Conciseness4/5

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

The description is short, front-loaded, and free of filler. However, the phrase 'documented unique voice and length limits' points to documentation that is not present, reducing its practical value.

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

Completeness2/5

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

This is a complex nine-parameter generation tool with no annotations, no output schema, and no schema descriptions. The description is too thin to fully prepare an agent to invoke it correctly, especially regarding optional parameters, cost behavior, and output expectations.

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

Parameters2/5

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

Schema description coverage is 0% across nine parameters, so the description must compensate. It only vaguely references inputs, voice uniqueness, length limits, and paid authorization, leaving filename, model_id, language_code, output_format, previous_text, future_text, and allow_unknown_cost unexplained.

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

Purpose4/5

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

The description states a specific verb and resource: generate a multi-voice dialogue, with input order called out. It is clear enough to distinguish from single-voice speech tools, but it does not explicitly differentiate from sibling dialogue variants such as generate_dialogue_stream or generate_dialogue_with_timestamps.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus the many sibling dialogue and speech tools. It mentions paid authorization, but that is a prerequisite rather than a usage-selection rule.

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

generate_dialogue_streamC

Call the documented streaming endpoint for a multi-voice dialogue and save the completed response locally.

NameRequiredDescriptionDefault
inputsYes
filenameYes
model_idNo
allow_paidNo
future_textNo
language_codeNo
output_formatNomp3_44100_128
previous_textNo
allow_unknown_costNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden. It hints at saving a completed response locally, but does not disclose cost/paid-generation behavior implied by allow_paid and allow_unknown_cost, whether the call blocks until the stream completes, auth needs, rate limits, or what is overwritten at filename.

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

Conciseness3/5

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

It is a single tight sentence with no wasted words, but its brevity reflects under-specification rather than disciplined conciseness, and it is front-loaded with a vague pointer to external documentation.

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

Completeness1/5

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

For a 9-parameter, cost-gated, streaming multi-voice generation tool with no annotations and no output schema, the description is far too thin. It leaves an agent unable to call it correctly without external docs, which is precisely the resource it offloads to but does not summarize.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description must compensate and largely does not. It only weakly implies filename means local save and that dialogue is multi-voice, leaving model_id, allow_paid, allow_unknown_cost, future_text, previous_text, language_code, and output_format entirely unexplained.

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

Purpose3/5

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

The description states a verb (call), the resource (multi-voice dialogue), and the streaming variant plus local save. However, 'the documented streaming endpoint' is an indirect pointer, and it never distinguishes itself from the very similar siblings generate_dialogue and generate_dialogue_stream_with_timestamps, so an agent can't fully disambiguate from the sentence alone.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative guidance. Given four closely related dialogue/speech siblings (generate_dialogue, generate_dialogue_with_timestamps, generate_dialogue_stream_with_timestamps), the absence of routing guidance is a real gap.

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

generate_dialogue_stream_with_timestampsC

Call the streaming dialogue endpoint with the documented alignment response and save audio plus timing metadata.

NameRequiredDescriptionDefault
inputsYes
filenameYes
model_idNo
allow_paidNo
future_textNo
language_codeNo
output_formatNomp3_44100_128
previous_textNo
allow_unknown_costNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden. It does disclose one side effect (audio plus timing metadata are saved to disk), but omits billing/cost behavior implied by allow_paid and allow_unknown_cost, streaming semantics, and where the file lands.

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

Conciseness3/5

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

A single front-loaded sentence with no wasted words, but the compactness comes at the cost of substance — the phrase 'documented alignment response' communicates nothing to an agent.

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

Completeness2/5

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

For a 9-parameter generation tool with no annotations, no output schema, and zero schema descriptions, this one-liner is far too thin. An agent would not know how to shape inputs, what costs may be incurred, or how timing metadata is returned.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description must compensate and does not. Only 'save audio plus timing metadata' loosely gestures at filename and timing output; inputs, voice_id, model_id, output_format, previous_text/future_text, and the two cost flags are entirely unexplained.

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

Purpose3/5

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

The description names the operation (call the streaming dialogue endpoint) and states two outcomes (saved audio and timing metadata), which is more than a tautology. However, 'documented alignment response' is self-referential filler, and it never distinguishes this tool from the four sibling variants (generate_dialogue, generate_dialogue_stream, generate_dialogue_with_timestamps).

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

Usage Guidelines2/5

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

There is no statement of when to choose the streaming variant over the non-streaming or non-timestamp siblings, and no mention of prerequisites. An agent must infer selection purely from the name suffix.

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

generate_dialogue_with_timestampsC

Generate multi-voice dialogue with segment timing data. Paid authorization is required.

NameRequiredDescriptionDefault
inputsYes
filenameYes
model_idNo
allow_paidNo
future_textNo
language_codeNo
output_formatNomp3_44100_128
previous_textNo
allow_unknown_costNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden. It hints at a cost gate ("Paid authorization is required"), which is genuinely useful, but it says nothing about what happens if the paid flag is not set, whether generation is blocking or asynchronous, what the timing data looks like, or what file is produced.

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

Conciseness4/5

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

Two short sentences with the core capability front-loaded and no filler. The brevity is efficient, though it borders on under-specification given the tool's complexity.

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

Completeness1/5

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

A 9-parameter generation tool with no annotations, no output schema, and no parameter descriptions is described in two sentences. An agent cannot tell from this text what it must supply, what the timing output looks like, or how cost authorization interacts with the call.

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

Parameters1/5

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

Schema description coverage is 0% across 9 parameters, and the description explains none of them. The paid-authorization sentence only weakly gestures at allow_paid/allow_unknown_cost, leaving inputs, filename, model_id, output_format, language_code, and the previous/future_text context fields entirely undocumented in both schema and description.

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

Purpose4/5

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

States a specific verb and resource ("Generate multi-voice dialogue") plus a differentiator ("segment timing data") that separates it from plain generate_dialogue and from the single-voice generate_speech_with_timestamps. It does not, however, name any sibling explicitly or distinguish itself from the stream variants.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no named alternatives among the many dialogue/speech siblings. The only guidance is the prerequisite "Paid authorization is required," which signals a cost gate but not when this tool is the right choice.

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

generate_imageB

Queue an ElevenCreative image generation. Pass model-specific parameters; the checked-in OpenAPI discriminator schema validates the model and its fields before any remote call. Disabled by default.

NameRequiredDescriptionDefault
promptYes
model_idYes
allow_paidNo
parametersNo
allow_unknown_costNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose useful behavior: the operation queues (async), validation happens locally via the OpenAPI discriminator before any remote call, and the tool is disabled by default. It omits cost/paid-gating semantics implied by allow_paid and allow_unknown_cost, and never says what a successful call returns.

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

Conciseness4/5

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

Three short sentences, front-loaded with the action, with no filler. The middle sentence leans slightly into implementation detail ('checked-in OpenAPI discriminator schema') but still conveys actionable validation behavior.

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

Completeness2/5

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

This is an async queueing tool with a nested free-form parameter object, no annotations, and no output schema. The description never states what is returned (presumably a job id) nor that siblings such as get_image_generation or download_image must be used to retrieve the result, which is the most important missing context for an agent.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It valuably explains that parameters is a free-form bag whose accepted keys are determined by model_id via the discriminator schema — something the bare schema (additionalProperties: {}) does not convey. It leaves allow_paid and allow_unknown_cost, arguably the most safety-relevant flags, entirely unexplained.

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

Purpose4/5

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

The description gives a specific verb and resource ('Queue an ElevenCreative image generation'), which is clearly distinct from siblings like generate_video, generate_music, or list_image_generations. It does not explicitly name an alternative or scope boundary, so a 4 rather than a 5.

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

Usage Guidelines3/5

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

The 'Disabled by default' note gives a genuine prerequisite an agent must handle before calling, which is more than nothing. However, there is no guidance on when to pick this over generate_video or how to choose a model_id, and no explicit statement of when-not-to-use.

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

generate_musicB

Compose music from either a prompt or a chunk-based plan. The request is checked against current documented constraints and remains behind both paid-operation gates.

NameRequiredDescriptionDefault
seedNo
promptNo
filenameYes
model_idNomusic_v2_5
allow_paidNo
music_length_msNo
composition_planNo
allow_unknown_costNo
force_instrumentalNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden, and it does add real behavioral context: inputs are validated against current documented constraints and the call sits behind two paid-operation gates. It still omits what those gates are, what happens when they are not satisfied (error vs. silent downgrade), and whether generation is synchronous or long-running.

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

Conciseness4/5

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

Two sentences, no filler, with the dual input mode front-loaded. The phrasing 'documented constraints' and 'paid-operation gates' is vague jargon that would benefit from one concrete clarifying clause, but nothing is wasteful.

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

Completeness2/5

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

For a nine-parameter, nested-object, no-annotation, no-output-schema generation tool, the description is thin: it explains neither cost/budget behavior, nor the required filename, nor model selection, nor the result shape. An agent could not reliably construct a valid paid request from this text plus the bare schema.

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

Parameters2/5

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

Schema description coverage is 0% across nine parameters including a nested composition_plan object, so the description must compensate. It only gestures at two of them ('prompt' and 'chunk-based plan') and leaves model_id, seed, music_length_ms, filename, force_instrumental, allow_paid, and allow_unknown_cost entirely unexplained—especially costly since the paid gates map directly to those two booleans.

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

Purpose4/5

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

States a specific verb and resource ('Compose music') and distinguishes two input modes: a prompt or a chunk-based composition plan. It does not differentiate itself from close siblings such as generate_music_stream, generate_music_detailed, or generate_music_from_video, so it falls short of a 5.

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

Usage Guidelines3/5

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

The description implies usage through 'either a prompt or a chunk-based plan', letting an agent infer the two calling modes, and hints that paid-operation gates must be satisfied. It never says when to choose this tool over the streaming/detailed variants or generate_music_from_video, and gives no prerequisites for the gates.

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

generate_music_detailedC

Generate music using the detailed endpoint, which returns audio and structured JSON metadata in a multipart response.

NameRequiredDescriptionDefault
seedNo
promptNo
filenameYes
model_idNomusic_v1
allow_paidNo
finetune_idNo
lyrics_textNo
output_formatNomp3_44100_128
sign_with_c2paNo
generation_modeNo
music_length_msNo
with_timestampsNo
composition_planNo
finetune_strengthNo
allow_unknown_costNo
force_instrumentalNo
model_style_prefixNomusic
use_phonetic_namesNo
store_for_inpaintingNo
with_waveform_visualNo
respect_sections_durationsNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full disclosure burden, and it discloses only the response shape. For a generative tool with parameters like allow_paid, allow_unknown_cost, and store_for_inpainting, it says nothing about cost implications, whether generation is blocking or long-running, rate limits, or failure behavior. The multipart return note is the one genuinely useful behavioral fact.

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

Conciseness3/5

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

It is a single well-formed sentence with no filler, and the return-format information is front-loaded. But the brevity here reflects under-specification rather than discipline; the space saved is space that should have been spent on the 21 undocumented parameters.

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

Completeness1/5

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

With 21 parameters, a nested object, no annotations, and no output schema, the description should be doing substantial work and instead covers one sentence. Nothing tells the agent what filename is for, how generation_mode changes the call, or what happens with composition_plan. It is wholly inadequate for a tool of this complexity.

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

Parameters2/5

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

Schema description coverage is 0% across 21 parameters including a nested composition_plan object and three enum fields, so the description needed to compensate and adds nothing. It never mentions prompt, lyrics_text, generation_mode, model_id, or the paid/unknown-cost flags, all of which require interpretation. An agent must guess at nearly every input.

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

Purpose3/5

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

The description names a specific verb and resource ('Generate music') and identifies the return shape (audio plus structured JSON metadata in a multipart response), which is more than a tautology. However, 'detailed endpoint' is a label, not an explanation, and it never clarifies what makes this 'detailed' compared with the sibling generate_music or generate_music_detailed_stream. An agent cannot distinguish the three variants from this text.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no sibling is named. With generate_music, generate_music_stream, and generate_music_detailed_stream all present, the description should route between them but instead leaves the choice entirely to inference. Only the mention of multipart metadata hints at a usage context.

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

generate_music_detailed_streamD

Call the detailed streaming music endpoint and save its multipart audio and metadata result locally.

NameRequiredDescriptionDefault
seedNo
promptNo
filenameYes
model_idNomusic_v1
allow_paidNo
finetune_idNo
lyrics_textNo
output_formatNomp3_44100_128
sign_with_c2paNo
generation_modeNo
music_length_msNo
with_timestampsNo
composition_planNo
finetune_strengthNo
allow_unknown_costNo
force_instrumentalNo
model_style_prefixNomusic
use_phonetic_namesNo
store_for_inpaintingNo
with_waveform_visualNo
respect_sections_durationsNo

TDQS

D1.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose that output is written to a local file with audio plus metadata, which is useful, but it says nothing about cost implications despite parameters named allow_paid and allow_unknown_cost, nothing about streaming semantics, rate limits, or what happens on failure.

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

Conciseness3/5

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

A single front-loaded sentence with no padding, so nothing is wasted, but the brevity is under-specification rather than tight editing given the tool's breadth.

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

Completeness1/5

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

For a 21-parameter generation tool with a nested object, no output schema, and no annotations, one sentence covering purpose and local persistence is nowhere near sufficient. An agent cannot confidently choose among the music siblings or supply parameters such as generation_mode, allow_paid, or store_for_inpainting.

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

Parameters1/5

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

Schema description coverage is 0% across 21 parameters, including a nested composition_plan object and several enums (generation_mode, model_style_prefix, model_id). The description mentions no parameter, its format, or its effect, so it compensates for none of the coverage gap.

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

Purpose2/5

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

The description largely restates the name: 'detailed streaming music endpoint' adds almost nothing beyond 'generate_music_detailed_stream'. The one genuinely informative clause is 'save its multipart audio and metadata result locally', which reveals a local-write side effect, but it never states that this generates music from a prompt or how it differs from generate_music, generate_music_stream, or generate_music_detailed.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. With four near-identical music-generation siblings (generate_music, generate_music_stream, generate_music_detailed), a routing sentence is exactly what an agent needs here, and none is supplied.

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

generate_music_from_videoC

Generate music from one or more local videos using the documented video-to-music endpoint. Paid authorization is required.

NameRequiredDescriptionDefault
tagsNo
add_sfxNo
filenameYes
model_idNomusic_v1
allow_paidNo
descriptionNo
video_pathsYes
sign_with_c2paNo
separate_tracksNo
allow_unknown_costNo
use_audio_as_referenceNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden and does disclose one useful behavioral fact: paid authorization is required. However, for a paid generation endpoint it omits whether output is an audio file or asset, whether the call is synchronous or asynchronous, cost implications, model behavior differences, and what side effects (e.g., C2PA signing, separate tracks) actually do.

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

Conciseness4/5

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

Two sentences, front-loaded with the operation and followed by the authorization prerequisite. There is no filler or repetition, though the brevity is also the source of the documentation gaps rather than a model of efficient completeness.

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

Completeness2/5

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

The tool is complex: 11 parameters, one enum, paid model selection, no output schema, and no annotations. The description addresses only the core action and one prerequisite, leaving the agent without enough information to choose models, understand cost controls, or correctly interpret most parameters.

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

Parameters2/5

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

Schema coverage is 0% across 11 parameters, so the description must compensate. It adds meaning for video_paths ('one or more local videos') and hints at allow_paid via 'paid authorization,' but leaves filename, tags, model_id enum, add_sfx, description, sign_with_c2pa, separate_tracks, allow_unknown_cost, and use_audio_as_reference completely unexplained.

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

Purpose4/5

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

The description states a specific verb and resource: 'Generate music from one or more local videos,' which is clearly distinct from the audio-only siblings like generate_music. It also names the underlying 'video-to-music endpoint,' so an agent can tell what the tool does without opening the schema. It does not explicitly name an alternative sibling, but the video-input scope is distinctive.

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

Usage Guidelines2/5

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

The only guidance is a prerequisite ('Paid authorization is required') and the implicit condition that you must have local video files. There is no explicit when-to-use vs when-not, and no routing advice relative to generate_music or generate_music_detailed. An agent must infer the selection criteria 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.

generate_music_streamC

Call the documented streaming music endpoint, then save the completed result locally behind both paid-operation gates.

NameRequiredDescriptionDefault
seedNo
promptNo
filenameYes
model_idNomusic_v2_5
allow_paidNo
music_length_msNo
composition_planNo
allow_unknown_costNo
force_instrumentalNo

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations, the description carries the entire behavioral burden. It does disclose two useful traits — this is a paid operation with two gates, and it writes a file locally — but it never names the gates, explains cost risk, describes streaming progress behavior, or states whether an existing file at `filename` is overwritten.

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

Conciseness3/5

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

The single sentence is tight and front-loads the action, so there is no padding. However, brevity here is achieved by deferring to a "documented endpoint" rather than by saying anything substantive, so the compactness buys little.

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

Completeness2/5

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

This is a nine-parameter, nested-object, paid, file-writing tool with no output schema and no annotations, so the description needed to do real work. Instead it covers only the paid-gate mention and the local save, leaving the composition_plan structure, model choice, length limits, and the two boolean gates entirely unexplained.

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

Parameters1/5

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

Schema description coverage is 0% across nine parameters, including a nested composition_plan with per-chunk style and adherence fields, yet the description mentions no parameter at all. The agent gets no meaning for seed, prompt, model_id, music_length_ms, force_instrumental, or the paid-gate flags beyond their schema keys.

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

Purpose3/5

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

"Call the documented streaming music endpoint, then save the completed result locally" conveys the streaming-plus-local-save shape, which loosely separates it from generate_music and generate_music_detailed. But "documented streaming music endpoint" is a circular reference rather than a statement of what the tool produces, and nothing distinguishes it from generate_music_detailed_stream among the siblings.

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

Usage Guidelines2/5

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

No when-to-use guidance is offered: the description never says to prefer this over generate_music or generate_music_detailed_stream, nor what the tradeoff (streaming vs. one-shot, file output vs. returned asset) is. The only hint is "paid-operation gates," which gestures at cost without explaining when the agent should enable those gates or avoid them.

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

generate_sound_effectB

Generate one sound effect from a text prompt. Official maximum duration is 30 seconds. Cost is not estimated by this MCP; explicit authorization is required.

NameRequiredDescriptionDefault
loopNo
textYes
filenameYes
model_idNo
allow_paidNo
output_formatNomp3_44100_128
duration_secondsNo
prompt_influenceNo
allow_unknown_costNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It usefully discloses the 30-second maximum and the cost/authorization requirement, but it does not explain the paid-authorization flow, unknown-cost handling, or what happens on failure.

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

Conciseness5/5

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

Three short sentences, front-loaded with purpose, followed by the key duration and cost constraints. There is no filler or redundancy.

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

Completeness2/5

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

For a nine-parameter paid generation tool with no annotations and no output schema, the description is too thin. It covers duration and cost authorization but omits parameter guidance and sibling differentiation, which are necessary for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate for nine undocumented parameters. It does not explain text, filename, loop, model_id, allow_paid, allow_unknown_cost, output_format, or prompt_influence, leaving parameter semantics entirely to the bare schema.

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

Purpose4/5

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

The description gives a specific verb and resource: "Generate one sound effect from a text prompt." It is clear what the tool produces, but it does not explicitly distinguish this from sibling generation tools such as generate_ambient_audio or generate_music.

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

Usage Guidelines3/5

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

It provides an important prerequisite — explicit authorization is required because cost is not estimated — but it does not state when to use this tool versus alternatives like generate_ambient_audio or get_sound_effect_presets. Usage is implied rather than clearly guided.

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

generate_speechC

Generate and save speech audio. This may consume credits and is blocked by dry_run or either missing paid authorization gate.

NameRequiredDescriptionDefault
textYes
filenameYes
model_idNo
voice_idYes
allow_paidNo
language_codeNo
output_formatNomp3_44100_128
voice_settingsNo
allow_unknown_costNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It usefully warns that the call consumes credits and can be blocked by dry_run or missing paid authorization, but it does not explain the interplay between allow_paid and allow_unknown_cost, whether credits are charged on failure, or what happens to an existing file with the same name. Given nine parameters and a nested voice_settings object, the behavioral picture is thin.

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

Conciseness3/5

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

Two short sentences with the core action front-loaded, so it is compact. However, the second sentence is grammatically garbled ('blocked by dry_run or either missing paid authorization gate'), which forces the reader to parse ambiguous logic in the one sentence carrying the behavioral content.

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

Completeness2/5

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

For a nine-parameter mutation tool with a nested settings object, no annotations, and no output schema, the description covers only the credit/gating behavior. It omits where the file is written, whether the same filename overwrites, default output format implications, and any return value information, so an agent cannot confidently construct a valid call from it.

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

Parameters2/5

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

Schema description coverage is 0% across nine parameters, so the description must compensate. It gestures at the paid-gating concept implied by allow_paid and allow_unknown_cost but never explains voice_id, filename (destination path?), output_format, model_id, language_code, or voice_settings, leaving several parameters with no documented meaning anywhere.

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

Purpose4/5

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

The definition gives a concrete verb and resource: 'Generate and save speech audio,' which implicitly distinguishes it from the streaming and timestamped siblings by emphasizing that output is saved. It does not explicitly name those siblings (generate_speech_stream, generate_speech_with_timestamps), so the differentiation is inferential rather than stated.

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

Usage Guidelines3/5

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

It discloses prerequisites (dry_run must be disabled and paid authorization gates must be satisfied) which tells the agent when the call will fail, but it never says when to pick this over generate_speech_stream, generate_dialogue, or the timestamped variants. Usage context is implied by the saving behavior rather than spelled out.

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

generate_speech_streamC

Call the documented streaming TTS endpoint and save its resulting audio. Streaming does not bypass the paid-operation gates.

NameRequiredDescriptionDefault
textYes
filenameYes
model_idNo
voice_idYes
allow_paidNo
language_codeNo
output_formatNomp3_44100_128
voice_settingsNo
allow_unknown_costNo

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It usefully discloses that audio is persisted to a file and that streaming does not exempt the call from paid-operation gates, which is real behavioral context. It stops short of explaining what happens when allow_paid is false (error vs. silent refusal), whether files are overwritten, or any 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.

Conciseness4/5

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

Two short, front-loaded sentences with no filler, and the paid-gate caveat is placed as a qualifying clause where it belongs. The brevity borders on under-specification, but nothing written is wasted.

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

Completeness2/5

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

For a 9-parameter tool with a nested object, zero schema descriptions, no annotations, and no output schema, the description leaves nearly all calling decisions undocumented. An agent would have to infer the meaning and consequences of allow_paid, allow_unknown_cost, output_format, and voice_settings entirely from bare property names.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, including a nested voice_settings object and the consequential allow_paid / allow_unknown_cost booleans. The description only obliquely gestures at two of them ('save its resulting audio' for filename, 'paid-operation gates' for the allow_* flags) and says nothing about text limits, output_format, model_id, language_code, or voice settings.

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

Purpose4/5

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

The description names a specific action and resource: call the streaming TTS endpoint and save the resulting audio. That is enough to distinguish it as the streaming speech-synthesis variant, but it never differentiates itself from close siblings like generate_speech or generate_speech_stream_with_timestamps.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to choose streaming over non-streaming, or this tool over generate_speech_stream_with_timestamps. The only usage-adjacent signal is the paid-operation caveat, which implies gating but doesn't tell the agent when or how to satisfy it.

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

generate_speech_stream_with_timestampsC

Call streaming TTS with the documented alignment response. Audio and timing metadata are saved separately behind paid-operation gates.

NameRequiredDescriptionDefault
textYes
filenameYes
model_idNo
voice_idYes
allow_paidNo
language_codeNo
output_formatNomp3_44100_128
voice_settingsNo
allow_unknown_costNo

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden and only partially meets it. It states that audio and timing metadata are saved separately and that paid-operation gates exist, but it does not explain streaming behavior, output destinations, permissions, cost implications, or what happens when allow_paid is false.

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

Conciseness4/5

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

The description is short and front-loads the core operation before adding behavioral context. It avoids unnecessary wording, though its brevity contributes to under-specification rather than clarity.

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

Completeness1/5

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

This is a complex tool with 9 parameters, a nested settings object, no annotations, and no output schema. The description is far too thin to make the tool safely invocable, leaving key concerns like paid-operation behavior, file saving semantics, and parameter meaning unexplained.

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

Parameters1/5

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

There are 9 parameters with 0% schema description coverage, including a nested voice_settings object. The description does not explain voice_id, text, filename, model_id, output_format, language_code, voice_settings, allow_paid, or allow_unknown_cost, adding essentially no parameter meaning beyond the bare schema.

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

Purpose3/5

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

The description identifies streaming TTS with alignment/timestamp metadata, which is directionally correct. However, it does not clearly distinguish this tool from close siblings such as generate_speech_stream and generate_speech_with_timestamps, and the phrase 'documented alignment response' is vague.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus the non-streaming or non-timestamp variants. The mention of 'paid-operation gates' hints at cost controls but does not explain when those gates matter or how they affect tool selection.

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

generate_speech_with_timestampsC

Generate speech with the documented alignment response. Audio and timing metadata are saved separately.

NameRequiredDescriptionDefault
textYes
filenameYes
model_idNo
voice_idYes
allow_paidNo
language_codeNo
output_formatNomp3_44100_128
voice_settingsNo
allow_unknown_costNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses one useful behavioral fact, that audio and timing metadata are written to separate outputs, but omits permission/cost semantics implied by allow_paid and allow_unknown_cost, what the call returns, and how filenames are used.

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

Conciseness3/5

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

It is short and front-loaded with the action, which is good. But the second sentence is thin, and "the documented alignment response" is filler that consumes space without conveying usable information.

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

Completeness2/5

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

For a 9-parameter generative tool with a nested settings object, no output schema, and no annotations, the description is far too sparse. An agent cannot learn what files are produced, whether cost gates apply, or how the timing metadata is returned.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, including a nested voice_settings object, so the description needed to compensate and does not. The only hint is that audio and timing metadata are saved separately, which marginally suggests how filename is used, but text, voice_id, language_code, output_format, and model_id are entirely unexplained.

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

Purpose3/5

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

The verb and resource are clear ("Generate speech"), and the phrase about an alignment response plus separately saved timing metadata hints that this variant returns timestamps, distinguishing it loosely from generate_speech. However, "the documented alignment response" is vague and points to documentation the agent does not have, so the tool's differentiating purpose is only implied by the name rather than stated outright.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over generate_speech, generate_speech_stream, or generate_speech_stream_with_timestamps, all of which appear as siblings. The description also says nothing about prerequisites, cost implications, or streaming trade-offs.

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

generate_videoB

Queue an ElevenCreative video generation. Pass model-specific text, image, video or audio references; the official OpenAPI discriminator validates fields. Disabled by default.

NameRequiredDescriptionDefault
promptYes
model_idYes
allow_paidNo
parametersNo
allow_unknown_costNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that the operation is queued/asynchronous, that fields are validated by an official OpenAPI discriminator, and that the tool is off unless enabled — real behavioral context. However, it says nothing about cost implications of allow_paid/allow_unknown_cost, what identifiers are returned, or failure modes for unsupported model/parameter combinations.

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

Conciseness4/5

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

Two dense sentences, front-loaded with the action and followed by the key constraint. No filler, though "the official OpenAPI discriminator validates fields" is jargon-heavy for the amount of information it delivers.

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

Completeness2/5

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

This is a complex tool: a nested free-form parameters object, two paid-execution flags, a model_id that must come from list_models, and an async job whose results need get_video_generation. The description addresses none of the lifecycle or cost-safety questions, leaving an agent unable to invoke it safely on a paid model.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does explain the hardest part — that the free-form `parameters` object holds model-specific image/video/audio references validated by a discriminator — but the two cost-safety booleans (allow_paid, allow_unknown_cost) and model_id sourcing remain entirely undocumented in both schema and description.

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

Purpose4/5

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

"Queue an ElevenCreative video generation" gives a specific verb (queue) and resource (video), which clearly separates it from generate_image, generate_music, and generate_sound_effect in the sibling list. It stops short of naming a related sibling such as get_video_generation, so it doesn't fully close the loop on how the queued job is tracked.

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

Usage Guidelines3/5

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

"Pass model-specific text, image, video or audio references" and "Disabled by default" imply when the tool applies and hint at an availability gate, but neither is actionable: the agent is not told how to enable it, when to prefer this over other generation tools, or how allow_paid/allow_unknown_cost affect eligibility. 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.

get_account_infoB

Read the authenticated ElevenLabs account profile. Makes a read-only API call.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose that the call is read-only and requires authentication, which is genuinely useful behavioral context. It stops short of saying what the profile contains, whether the response is cached, or what happens on invalid credentials.

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

Conciseness4/5

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

Two short sentences, front-loaded with the purpose. The second sentence ('Makes a read-only API call') is slightly redundant phrasing but does add the safety signal that annotations would otherwise supply, so it earns its place.

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

Completeness3/5

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

For a zero-parameter, no-output-schema read tool this is close to sufficient, but without annotations or an output schema the description should say what the profile response includes (e.g., account ID, tier, name) so an agent knows what it can retrieve.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics to explain; per the baseline rule this scores 4. The description correctly implies no inputs are needed since it acts on the authenticated principal.

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

Purpose4/5

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

The description states a specific verb and resource ('Read the authenticated ElevenLabs account profile'), which is clearly distinguishable from generation and asset tools in the sibling list. It does not, however, distinguish itself from the conceptually adjacent get_subscription, get_capabilities, or get_budget_status.

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

Usage Guidelines2/5

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

No when-to-use guidance is offered beyond the implicit notion that this returns profile data. Several siblings (get_subscription, get_capabilities, get_budget_status) plausibly return overlapping account-level information, and the description gives no criteria for choosing among them.

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

get_api_request_historyB

Query the workspace API request log. This is a read-only analytics query despite using POST.

NameRequiredDescriptionDefault
sortNo
limitNo
searchNo
end_timeNo
start_timeNo

TDQS

B3/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden, and it does add one genuinely useful disclosure: the operation is read-only despite using POST, which pre-empts a real misreading. However, it says nothing about permissions, pagination behavior, default time window, or what the log entries contain.

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

Conciseness5/5

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

Two short sentences, front-loaded with the resource and immediately followed by the one non-obvious behavioral fact. Nothing is wasted.

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

Completeness2/5

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

A five-parameter query tool with no annotations and no output schema needs the description to explain time-range semantics, default window, and result shape. The description covers only the POST/read-only quirk, leaving most of what an agent needs to call it correctly unstated.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters, and the description adds no meaning for sort, limit, search, start_time, or end_time. In particular, the epoch-millisecond time bounds and the 100/1000 limit defaults are left entirely to the schema's bare constraints.

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

Purpose4/5

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

States a specific verb and resource: 'Query the workspace API request log.' This is clearly distinct from siblings like get_usage_report or list_generation_history, though the description never explicitly contrasts with those analytics siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this versus get_usage_report, get_remote_usage_report, or list_generation_history, all of which are adjacent analytics tools. The agent must infer the distinction from the name alone.

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

get_assetC

Read metadata for one remote asset.

NameRequiredDescriptionDefault
asset_idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. "Read" implies a non-mutating lookup, but the description says nothing about permission requirements, behavior when the asset_id does not exist, or whether the asset must have been uploaded through this service — meaningful gaps for an unannotated tool.

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

Conciseness4/5

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

A single short sentence with the resource and scope front-loaded and no wasted words. It is efficient, though the brevity borders on under-specification rather than tightness.

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

Completeness2/5

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

With no output schema and no annotations, the description was the only place to explain what "metadata" includes (fields, units, IDs) and what happens on failure. It supplies none of that, leaving an agent unable to anticipate the return shape for an otherwise simple tool.

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

Parameters3/5

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

Only one parameter exists and schema description coverage is 0%, so the description does add slight meaning: "remote asset" implies asset_id refers to a remote (server-side) asset rather than a local file. It does not explain the ID's format, source (from upload_asset or list_assets), or length constraints.

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

Purpose4/5

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

"Read metadata for one remote asset" names a specific verb (read), a specific resource (metadata), and a scope (a single remote asset). It is clearly distinguishable from list_assets, upload_asset, and delete_asset, though it never names those siblings explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus list_assets (to enumerate) or other asset tools, and no stated prerequisites. The agent must infer usage purely from the verb and scope.

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

get_async_speechB

Read the status and result of one ElevenCreative async speech generation and reconcile terminal state locally.

NameRequiredDescriptionDefault
generation_idYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. 'Read' implies a safe non-mutating call, but the phrase 'reconcile terminal state locally' is unexplained jargon and the description says nothing about what happens for unknown/expired ids, whether partial results appear while pending, or how long generation records persist.

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

Conciseness4/5

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

One sentence, front-loaded with the verb and resource, with no filler. The trailing clause about reconciling terminal state is efficient in length but vague in meaning rather than wasteful.

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

Completeness3/5

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

There is no output schema and no annotations, so the description should convey at least the shape of the status states and what the 'result' contains when terminal. It conveys neither, leaving the agent unable to interpret the response, though the core call semantics are understandable from name plus description.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter has no documented format, yet the description only says the id refers to 'one ... generation'. It adds no meaning about whether this is the id returned by create_async_speech, its length limits, or accepted formats, so an agent must guess the id source.

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

Purpose4/5

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

The description states a specific verb ('Read') and resource ('the status and result of one ElevenCreative async speech generation'), which clearly distinguishes it from the create/generate siblings in the list. It falls short of 5 because it never names the counterpart tool (create_async_speech) that produces the id this one consumes.

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

Usage Guidelines3/5

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

Usage is only implied: 'async' plus 'status and result' signals this is a polling tool to call after kicking off a generation, but the description never says so explicitly, gives no polling cadence guidance, and names no alternative for retrieving finished audio (e.g. download_history_audio or get_generation_history_item).

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

get_budget_statusB

Read local generation policy, observed local usage and unsettled reservations.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden; it does confirm this is a read and names the three data groups returned, which is meaningful disclosure. But it says nothing about whether reading affects budget state, what 'unsettled reservations' means, or how fresh the observed usage is.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, listing the three outputs in one compact clause. Slightly terse to the point that 'unsettled reservations' reads as unexplained jargon, but no sentence is wasted.

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

Completeness3/5

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

For a zero-argument tool with no output schema, the description is the only source of return-value information, and it enumerates the data groups reasonably. It remains thin on what those groups contain and how they relate to the sibling budget/usage tools, leaving the agent to infer the response shape.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description does not waste effort inventing parameter guidance that does not exist.

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

Purpose4/5

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

The verb 'Read' plus three specific objects (local generation policy, observed local usage, unsettled reservations) makes the resource concrete. 'Local' implicitly distinguishes it from get_remote_usage_report and get_usage_report, but no sibling is named explicitly.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus get_usage_report, get_remote_usage_report, estimate_cost, or set_local_budget. Usage is only inferable from the word 'Read' and the 'local' qualifier; no exclusions or preconditions are given.

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

get_capabilitiesB

Combine local implementation flags with read-only account and model information. Plan access remains unknown unless the API reports it.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description does carry useful behavioral detail: the account/model portion is read-only and plan access may be unreportable, which is a real caveat an agent should know. However, it does not say whether this is a single aggregate call, what shape the result takes, or whether local flags could conflict with server-reported data.

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

Conciseness4/5

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

Two short sentences with no wasted words, and the caveat about unknown plan access is placed after the primary statement. It is efficient, though the opening 'Combine...' phrasing delays the point slightly.

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

Completeness3/5

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

For a zero-parameter tool with no output schema and no annotations, the description should explain what comes back, since no structured field does. It gestures at the content (local flags, account, model, plan) but leaves the return shape and the meaning of 'local implementation flags' undefined.

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

Parameters4/5

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

The tool takes zero parameters and the schema is empty with additionalProperties false, so there is nothing for the description to clarify. Baseline 4 applies; the description correctly implies a no-argument call.

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

Purpose3/5

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

The description says it combines local implementation flags with account and model information, which hints at a diagnostic/capability-report tool, but it never states plainly what the tool returns (e.g. a list of supported features). An agent must infer the purpose from the name plus an oblique 'combine' verb.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, despite close siblings like get_account_info, get_subscription, and list_models that an agent would naturally consider for the same information. The only guidance is an implicit caveat that plan access may be unknown.

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

get_dubbing_statusB

Read the current state and metadata of a dubbing project, reconciling a terminal job state with the local budget reservation.

NameRequiredDescriptionDefault
project_idYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one non-obvious behavior: reconciliation of a terminal job state against the local budget reservation. However, it never states whether this is read-only or has a local side effect, whether it is idempotent, or whether it should be polled.

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

Conciseness4/5

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

One front-loaded sentence with the resource stated first and the reconciliation nuance second; nothing is wasted. The second clause is dense jargon ("terminal job state", "local budget reservation") that costs some immediate readability.

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

Completeness2/5

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

There is no output schema and no annotations, so the description must explain what "state and metadata" actually contains and what happens for non-terminal jobs, and it does neither. For a status-polling tool, an agent cannot tell what it will receive or how to interpret it.

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

Parameters2/5

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

Schema description coverage is 0%, so project_id has no documented format or provenance in either place, and the description does not compensate by saying where to obtain the ID (e.g., create_dubbing_project or list_dubbing_projects) or what a valid value looks like. The single parameter remains fully unexplained.

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

Purpose4/5

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

The description gives a specific verb ("Read") and resource ("current state and metadata of a dubbing project"), which separates it from the list-style sibling list_dubbing_projects and from get_budget_status. It does not explicitly name an alternative, but the singular project scope plus required project_id makes the distinction inferable.

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

Usage Guidelines3/5

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

Usage is only implied: the tool is for checking a dubbing project's state, and the clause about reconciling a terminal job state hints that it matters after job completion. There is no explicit when-to-use, when-not-to-use, or named alternative such as list_dubbing_projects for enumerating projects.

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

get_flow_runC

Read a template run's status and reconcile its terminal state locally.

NameRequiredDescriptionDefault
run_idYes
template_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure and largely fails. "Reconcile its terminal state locally" hints at a possible local side effect, but it never clarifies whether the call mutates state, requires auth, or is idempotent — critical ambiguity for a tool described as a "read".

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

Conciseness4/5

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

A single front-loaded sentence with no filler, which is appropriately sized for the tool. The second half, however, is opaque enough that its brevity costs clarity rather than buying it.

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

Completeness2/5

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

With no annotations, no output schema, and no parameter documentation, the description is the only source of behavioral context and it supplies almost none. An agent cannot tell what the response contains, what "terminal state" means, or whether calling it has side effects.

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

Parameters2/5

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

Schema description coverage is 0% and the description only loosely implies that a template identifier and a run identifier are involved. It adds no meaning about format, where run_id comes from (presumably run_flow_template), or constraints beyond the schema's length limits.

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

Purpose4/5

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

The description names a specific verb and resource ("Read a template run's status"), which is distinguishable from siblings like get_flow_template and run_flow_template. However, the trailing clause "reconcile its terminal state locally" introduces jargon that muddies rather than sharpens the stated purpose.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to call this versus alternatives, no mention of calling it after run_flow_template, no polling cadence, and no statement about which run states are terminal. The only hint of usage is the implicit association with template runs.

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

get_flow_templateC

Read a template definition and its input schema.

NameRequiredDescriptionDefault
template_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. "Read" implies a safe retrieval operation, but the description does not disclose permissions, error behavior, whether missing templates fail gracefully, or what the returned definition and input schema contain beyond a brief mention.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no wasted wording. Its brevity is appropriate for a simple getter, though it is under-specified rather than optimally complete.

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

Completeness3/5

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

For a simple one-parameter retrieval tool with no output schema, the description states what is returned at a high level. However, it does not compensate for the absent annotations or the undocumented template_id parameter, leaving gaps around identifier format and failure behavior.

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

Parameters2/5

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

The only parameter, template_id, has 0% schema description coverage and no format or constraint details in the description. The description implicitly establishes that the ID identifies a template but adds no syntax, source, or validation meaning beyond that.

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

Purpose4/5

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

The description uses a specific verb, "Read," and a clear resource, "a template definition and its input schema." It is distinguishable from siblings like list_flow_templates and run_flow_template by focusing on retrieving one template's definition rather than listing or executing it, though it does not explicitly name those alternatives.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus list_flow_templates, run_flow_template, or get_flow_run. The usage is only implied by "Read a template definition," leaving the agent to infer prerequisites and appropriate contexts.

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

get_generation_history_itemB

Read metadata for one ElevenLabs history item.

NameRequiredDescriptionDefault
history_item_idYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. "Read" implies a non-mutating operation and "metadata" implies it does not download audio, but the description does not disclose permissions, error behavior, or what metadata is returned.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no unnecessary wording. It states the operation and scope efficiently.

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

Completeness3/5

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

For a simple one-parameter read tool, the description adequately signals that it returns metadata rather than audio. However, it omits where to obtain the history_item_id and lacks behavioral context that would normally be covered by annotations.

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

Parameters2/5

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

The single required parameter is history_item_id, but schema description coverage is 0% and the description does not explain where the ID comes from or what format it takes. The parameter name is largely self-explanatory, but the description adds only marginal meaning beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: "Read metadata for one ElevenLabs history item." The singular scope distinguishes it implicitly from list_generation_history and download_history_audio, but it does not explicitly name a sibling tool as the alternative.

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

Usage Guidelines3/5

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

Usage is implied: use this when metadata for a single history item is needed. However, the description gives no explicit when-to-use guidance relative to list_generation_history, download_history_audio, or delete_history_item.

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

get_image_generationC

Read the status of one image generation.

NameRequiredDescriptionDefault
generation_idYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it says nothing about what status values are returned, whether the call is cheap/safe to poll, or what happens for an unknown or expired generation_id. Only the bare read semantics are conveyed.

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

Conciseness3/5

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

One sentence with zero waste and the key information front-loaded, but the brevity crosses into under-specification rather than economy.

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

Completeness2/5

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

With no annotations and no output schema, the description is the only source of behavioral information, and it omits the returned status semantics, polling expectations, and error behavior. For a status-check tool this leaves meaningful gaps for an agent wiring up a generation workflow.

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

Parameters2/5

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

The single parameter has 0% schema description coverage, and the description never mentions generation_id, its expected format, or its provenance (returned by generate_image or list_image_generations). The name is self-explanatory, which keeps this from a 1, but no meaning is added.

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

Purpose4/5

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

"Read the status of one image generation" gives a specific verb (read) and resource (image generation) with singular scope, which separates it from list_image_generations and download_image at a glance. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus list_image_generations, download_image, or generate_image, and no mention of where a generation_id comes from or whether polling is expected. Usage must be inferred entirely from the name.

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

get_music_finetuneB

Get metadata for one music finetune. The optional finetune module is disabled by default.

NameRequiredDescriptionDefault
finetune_idYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds one genuinely useful disclosure, the module-disabled-by-default prerequisite, but says nothing about permissions, error behaviour when the module is off, or the shape of the returned metadata. For a read with no annotation coverage, this is a real but partial contribution.

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

Conciseness5/5

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

Two short sentences, zero waste, with the tool's purpose front-loaded ahead of the availability caveat. Nothing is padded or repeated.

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

Completeness3/5

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

For a simple single-parameter lookup, the description covers the purpose and the module-disabled prerequisite. Because there is no output schema, it should at least sketch what 'metadata' includes, and it should say how to obtain a valid finetune_id. Those gaps keep it at minimally adequate.

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

Parameters2/5

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

The schema has one required parameter, finetune_id, at 0% description coverage, so the schema supplies only a type and length bounds. The description implies the id addresses 'one music finetune' but never states the expected id format or where the id comes from, for example list_music_finetunes or create_music_finetune.

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

Purpose4/5

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

The description names a specific verb and resource: 'Get metadata for one music finetune'. This clearly separates it from list_music_finetunes, update_music_finetune, and delete_music_finetune, though those siblings are never named. An agent can infer the difference from the verb and the singular scope.

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

Usage Guidelines3/5

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

The second sentence states that the optional finetune module is disabled by default, which is a real precondition for calling the tool. However, it never says when to use this tool rather than list_music_finetunes or get_music_finetune's other siblings, and it gives no guidance on what to do if the module is disabled.

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

get_remote_usage_reportB

Query official workspace product usage between Unix millisecond timestamps. The endpoint may require workspace permissions.

NameRequiredDescriptionDefault
end_timeYes
group_byNo
start_timeYes
interval_secondsNo

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It adds one genuinely useful behavioral fact — that workspace permissions may be needed — but says nothing about whether the call is read-only, whether results are aggregated or paginated, rate limits, or what a response looks like.

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

Conciseness4/5

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

Two compact sentences with no filler, and the primary action is front-loaded. The phrase 'official workspace product usage' is slightly loaded with unexplained qualifiers, but overall the text is appropriately sized.

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

Completeness2/5

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

This is a multi-parameter aggregation/reporting tool with no output schema and no annotations. An agent still cannot tell what the report contains, how group_by and interval_seconds shape the result, or how this differs from get_usage_report. The definition is under-specified relative to the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does add real meaning for the two required params by specifying Unix milliseconds as the unit — information the schema's bare integer ranges do not convey. However, group_by (the enum-driven aggregation control) and interval_seconds (default 86400) get no explanation at all, so half the parameters remain opaque.

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

Purpose4/5

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

Uses a specific verb and resource ('Query official workspace product usage') plus a scope qualifier ('between Unix millisecond timestamps'). It is clear what the tool does, but it never distinguishes itself from the similarly named sibling get_usage_report or from get_budget_status, leaving ambiguity about which usage tool to pick.

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

Usage Guidelines2/5

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

No when-to-use guidance is given beyond a bare time-range scoping. The presence of get_usage_report in the sibling list makes the absence of an explicit 'use this instead of X when...' statement a real gap. A user-level permission caveat is mentioned but framed as uncertain ('may require').

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

get_sound_effect_presetsA

Return editable local starter prompts for common game-audio categories. This is local guidance and does not contact ElevenLabs.

NameRequiredDescriptionDefault
categoryNo

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden, and it does disclose the single most important behavioral trait: the tool is purely local, makes no network calls, and returns editable (not final) content. It does not cover whether the call is side-effect free by design or what the returned prompt objects contain, so it falls short of full disclosure.

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

Conciseness5/5

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

Two short sentences with the core behavior front-loaded and the network-free caveat second. No filler or redundant restatement of the name.

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

Completeness4/5

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

For a simple, zero-required-parameter lookup tool with no output schema, the description adequately conveys what comes back (editable starter prompts) and that no API is involved. The only meaningful gap is the optional-parameter default behavior, which matters because the schema leaves it undocumented.

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

Parameters3/5

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

Schema description coverage is 0% and the single optional 'category' parameter has no description in the schema, so the description should compensate more. It references 'game-audio categories' but never states what happens when category is omitted (all categories? a default?), and the ten enum values are only discoverable from the schema.

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

Purpose4/5

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

The description gives a specific verb ('Return') and resource ('editable local starter prompts') scoped to 'common game-audio categories', which is far more precise than the name alone. It also implicitly distinguishes itself from generate_sound_effect and the other generation siblings by stating it does not contact ElevenLabs, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

The 'local guidance and does not contact ElevenLabs' clause implies this is a pre-generation starting point rather than a generator, which is useful context. However, there is no explicit when-to-use statement, no mention of what to do with the returned prompts, and no named alternative such as generate_sound_effect.

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

get_subscriptionB

Read the account subscription and documented usage fields. This does not estimate generation cost.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Read' implies a non-mutating operation, and the cost-estimation exclusion sets a boundary, but the description does not disclose permissions, safety profile, return format, or side effects. For a zero-parameter account getter, this is thin.

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

Conciseness5/5

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

Two short sentences with no waste. The primary purpose is front-loaded, and the boundary condition follows immediately. Every clause is useful.

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

Completeness3/5

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

The tool is simple, but the description does not explain what subscription or usage fields are returned, even though there is no output schema. It also leaves the relationship to get_usage_report, get_budget_status, and get_account_info ambiguous. The definition is minimally adequate for calling the tool but incomplete for confidently choosing it among siblings.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter meaning for the description to add. The schema is empty and requires no explanation, making the baseline score of 4 appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Read the account subscription and documented usage fields.' It also explicitly excludes cost estimation, which distinguishes it from estimate_cost. However, it does not clearly differentiate the tool from nearby siblings like get_usage_report, get_budget_status, or get_account_info.

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

Usage Guidelines3/5

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

The one explicit exclusion, 'This does not estimate generation cost,' helps route agents away from estimate_cost. But the description gives no positive guidance on when to use this instead of get_usage_report, get_budget_status, or get_account_info. Usage context is therefore only implied.

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

get_transcriptionC

Read an existing transcription job/result by its remote transcription ID.

NameRequiredDescriptionDefault
transcription_idYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations supplied, the description carries the full behavioral burden. "Read" implies non-mutating, but it never discloses whether the response is a job status, a partial result, or the final transcript, nor what happens for an unknown or expired ID, nor whether the caller must retry while the job is pending.

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

Conciseness4/5

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

One front-loaded sentence with zero filler, and the scope word "existing" appears early. It is arguably too terse for a tool with no annotations, but nothing is redundant or buried.

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

Completeness2/5

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

For a lookup tool with no annotations and no output schema, the description is thin: it does not say what a caller receives (status vs. transcript), whether results are eventually consistent, or how to recover from a missing ID. One sentence does not cover the behavioral surface an agent needs.

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

Parameters3/5

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

Schema coverage is 0% for the single required parameter, so the description must add meaning. It does clarify that transcription_id is a *remote* transcription ID (not a local job handle), which is genuinely useful, but it gives no format, source, or where to obtain one.

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

Purpose4/5

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

States a specific verb ("Read") and resource ("existing transcription job/result") plus the lookup key ("remote transcription ID"). The read-by-ID pattern distinguishes it from transcribe_audio, but the description never names that sibling or any other, so differentiation is left to the reader.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance, no prerequisites, no alternatives. The reader must infer that this is the polling/retrieval counterpart to transcribe_audio purely from the word "existing", with nothing stating when to call it versus transcribe_audio or get_generation_history_item.

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

get_usage_reportB

Read local operation counts and explicit usage values returned by the API. Character counts are not converted into credits.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose a useful trait: character counts are not converted into credits, which tells the agent how to interpret the returned values. But it does not say what the report contains, over what time window, or whether it is a read-only snapshot.

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

Conciseness4/5

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

The description is two tight sentences with no filler, and the core purpose comes first. The trailing 'returned by the API' phrase adds a little ambiguity rather than useful detail.

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

Completeness3/5

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

With no annotations and no output schema, the description should explain the shape of what comes back. It names 'operation counts' and 'usage values' but offers no structure, units, or scope, which leaves real gaps for a reporting tool.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. Schema coverage is also 100%, leaving no gap.

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

Purpose4/5

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

The description states a specific verb and resource: 'Read local operation counts and explicit usage values.' The qualifier 'local' implicitly separates it from the sibling get_remote_usage_report, though it never names that sibling. An agent can tell this is a usage-reporting read tool, but the phrase 'returned by the API' muddies the local/remote distinction.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternative. The 'local' qualifier hints that get_remote_usage_report or get_api_request_history might cover other cases, but the agent has to infer that relationship instead of being told.

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

get_video_generationC

Read the status of one video generation.

NameRequiredDescriptionDefault
generation_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden of behavioral disclosure, and it says nothing about whether this is a safe read, whether it requires auth, how often it may be polled, or what the status response contains. It is essentially a one-line restatement of the operation with no behavioral context.

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

Conciseness4/5

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

One front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is partly under-specification rather than disciplined concision.

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

Completeness2/5

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

With no output schema, no annotations, and an undocumented parameter, the definition leaves the agent guessing about returned status fields, terminal vs in-progress states, and how to obtain the id. For an async status-check tool this is materially incomplete.

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

Parameters2/5

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

The schema has 0% description coverage for the single parameter generation_id, and the description adds no meaning beyond "one video generation" — no format, no note that the id comes from generate_video, and no constraint context. With one undocumented parameter, the description should compensate but does not.

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

Purpose4/5

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

The description gives a specific verb and resource ("Read the status" of "one video generation"), which is enough to separate it from list_video_generations, generate_video, and get_image_generation. It stops short of naming those siblings, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance: nothing says this is for polling an async video job, nor when to prefer list_video_generations or get_generation_history_item instead. Only an implied reading (fetch status for a known generation id) is available.

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

get_voiceC

Read a single voice by ID.

NameRequiredDescriptionDefault
voice_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, and it discloses almost nothing: 'Read' weakly implies read-only, but there is no statement about permissions, behavior for a nonexistent or inaccessible voice_id, or what the returned voice record contains. For a lookup tool with zero annotation coverage and no output schema, this is a substantial gap.

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

Conciseness4/5

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

One short sentence with no filler, and the key scope ('single', 'by ID') is front-loaded. The brevity is efficient, though it edges toward under-specification that other dimensions already penalize.

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

Completeness2/5

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

The tool is simple, but with no annotations and no output schema the description should say at least roughly what a voice record returns and how failures surface. As written, an agent knows only that it reads one voice by ID, not how to use the result or recover from errors.

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

Parameters2/5

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

Schema description coverage is 0% for the single parameter, so the description must compensate. It only contributes the generic phrase 'by ID', leaving the voice_id format, accepted value space (e.g., library vs. custom voice IDs), and identifier source undocumented beyond the string type and length bounds.

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

Purpose4/5

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

The description uses a specific verb ('Read') and resource ('a single voice') and explicitly scopes to one record 'by ID', which implicitly separates it from list_voices and from get_voice_preview. It stops short of naming a sibling, so the differentiation is inferable rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of the alternative tools (list_voices, get_voice_settings, get_voice_preview), and no note that a valid voice_id must already be known. The agent must infer everything about tool selection from the name and the phrase 'by ID'.

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

get_voice_previewB

Download an existing generated voice preview to a local MP3 file without generating a new sample.

NameRequiredDescriptionDefault
filenameYes
generated_voice_idYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool writes a local MP3 file and does not generate a new sample, but it omits important behavior such as whether an existing file is overwritten, how the local path is resolved, permission requirements, and error behavior.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no redundant wording. Every phrase contributes to identifying the operation and its key distinction from generation.

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

Completeness3/5

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

For a simple two-parameter download tool with no output schema, the description gives the core purpose and output type. However, with no annotations and no parameter descriptions, it leaves meaningful gaps around filename handling and local file behavior.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate for both required parameters. It implicitly maps generated_voice_id to an existing preview and filename to the local MP3 target, but it does not explain the ID format, whether filename is a basename or full path, allowed extensions, or overwrite semantics.

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

Purpose5/5

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

The description states a specific verb and resource: downloads an existing generated voice preview to a local MP3 file. It also distinguishes the operation from generating a new sample, which helps separate it from voice-generation siblings such as design_voice or generate_speech.

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

Usage Guidelines3/5

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

The phrase 'existing generated voice preview' and 'without generating a new sample' implies when to use it, but the description does not explicitly name alternatives or fully clarify when to choose this over related tools like get_voice or create_voice_from_preview.

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

get_voice_settingsC

Read the saved settings for an ElevenLabs voice.

NameRequiredDescriptionDefault
voice_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It implies a non-mutating read, but does not say what happens if a voice has no saved settings (defaults vs error), what permission or ownership is needed, or what the response looks like.

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

Conciseness4/5

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

One short sentence with a front-loaded verb and no filler, so it is efficient. The brevity, however, reflects under-specification rather than disciplined compression.

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

Completeness3/5

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

For a one-parameter read tool with no output schema, the definition gives a minimum viable statement of what it returns. It leaves gaps around when to call it versus get_voice or update_voice_settings and how the voice_id should be obtained.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter voice_id, so the description must compensate. It only hints that the ID identifies an ElevenLabs voice, without stating format, source (e.g., from list_voices or get_voice), or error behaviour for unknown IDs.

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

Purpose4/5

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

The description names a specific verb ('Read') and a specific resource ('saved settings for an ElevenLabs voice'), which is enough to distinguish it from generation tools. It does not explicitly contrast with the closest sibling, update_voice_settings, but the read/write split is clear from the verb.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no mention of the update_voice_settings alternative, and no prerequisites or exclusions. The only signal is the implied read semantics of 'Read the saved settings'.

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

inspect_mediaB

Inspect one local media file's size, hash, container, codec and duration when locally available.

NameRequiredDescriptionDefault
pathYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations present, the description carries the full burden. It does convey that this is a read-style inspection and that metadata fields are only present 'when locally available', which usefully warns about partial results; however, it says nothing about error behavior for missing/unreadable files, permission needs, or whether any probing is expensive/slow.

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

Conciseness4/5

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

A single front-loaded sentence with the key resource and returned fields stated up front. The trailing 'when locally available' is slightly awkward but earns its place by flagging optional fields.

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

Completeness4/5

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

For a one-parameter, read-only inspection tool with no output schema and no annotations, the description enumerates the returned metadata fields, which compensates well for the absent output schema. Remaining gaps are error/edge-case behavior and the local-vs-remote distinction from sibling tools.

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

Parameters3/5

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

Schema description coverage is 0% and the single 'path' parameter is undocumented in the schema. The description compensates partially by establishing that the path refers to one local media file (not an asset ID or URL), but it adds no format hints, relative-vs-absolute expectations, or supported container notes.

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

Purpose4/5

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

States a specific verb (inspect) plus resource (one local media file) and enumerates the attributes returned: size, hash, container, codec, duration. It does not explicitly distinguish itself from siblings such as transcribe_audio or get_asset, but the scope is clear enough to select the tool without opening the schema.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternative (e.g., get_asset for hosted assets vs. this tool for local files). The only implicit constraint is 'local', which an agent must infer from the wording rather than being told directly.

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

isolate_voiceA

Isolate speech from a local audio recording. This is not a music stem separator.

NameRequiredDescriptionDefault
filenameYes
allow_paidNo
input_pathYes
allow_unknown_costNo

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden but discloses little beyond the local input and functional scope. It does not explain where output is written, whether the source remains unchanged, supported inputs, or the cost implications suggested by allow_paid and allow_unknown_cost.

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

Conciseness5/5

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

The two short sentences are front-loaded and contain no wasted wording. The second sentence earns its place by preventing a plausible confusion with the music-stem tools.

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

Completeness2/5

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

The description is sufficient for high-level tool selection but not for confident invocation. With no annotations or output schema to fill the gaps, the undocumented output filename behavior and cost-control flags are substantial omissions for a four-parameter audio-processing tool.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only indirectly clarifies that input_path should identify a local audio recording. It provides no semantics for filename, allow_paid, or allow_unknown_cost, leaving most invocation details and the potentially important cost controls undocumented.

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

Purpose5/5

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

The description specifies the operation ("Isolate speech"), the resource ("a local audio recording"), and an explicit boundary with music stem separation. This clearly distinguishes its role from siblings such as separate_music_stems and extract_music_stems, even without naming them.

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

Usage Guidelines4/5

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

It gives a clear use case and an explicit when-not condition: use it for speech isolation, not as a music stem separator. It would be stronger if it directed music-separation requests to a specific sibling or mentioned any input prerequisites.

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

list_assetsC

List uploaded assets in the authenticated ElevenLabs workspace.

NameRequiredDescriptionDefault
cursorNo
page_sizeNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden and does almost nothing with it: it does not state that the operation is read-only, that results are paginated via cursor, what an asset record contains, or what happens at the end of a cursor chain. 'Authenticated workspace' gestures at auth scope but adds no real operational detail.

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

Conciseness3/5

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

A single sentence with no filler, so nothing is wasted, but the brevity comes at the cost of under-specification rather than being genuinely tight. The scope qualifier is front-loaded, which is a plus.

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

Completeness2/5

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

For a simple paginated read tool this could be adequate, but with no annotations and no output schema there is no structured field carrying the safety profile, return shape, or pagination contract. The description leaves all three unstated.

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

Parameters2/5

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

Both parameters have 0% schema description coverage, so the description is the only place semantics could be supplied, and it says nothing about `cursor` or `page_size`. An agent can only guess that cursor means forward pagination and that page_size caps at the schema-declared 100.

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

Purpose4/5

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

States a specific verb+resource ('List uploaded assets') scoped to the authenticated ElevenLabs workspace, which implicitly distinguishes it from list_generated_assets and from the singular upload_asset/get_asset/delete_asset siblings. However, it never explicitly names those near-identical alternatives, leaving the agent to infer the 'uploaded vs generated' distinction.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, even though list_generated_assets is a sibling that an agent could easily confuse with this tool. The only scoping cue is the word 'uploaded', which is never contrasted against 'generated'.

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

list_audio_effectsB

Read the documented audio effects catalog.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. 'Read' implies read-only, but nothing is said about whether the catalog is static or account-specific, whether results are paginated, or what the effect entries contain. For a zero-annotation tool this leaves the behavioral profile largely undisclosed.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though the lone ambiguous adjective 'documented' is doing work that a short clarifying clause could have done better.

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

Completeness3/5

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

The tool is simple (no params, no output schema, no nested objects), so the definition is nearly adequate. Missing are the shape of the returned catalog and its relation to the sound-effect generators, which an agent would need to use the results meaningfully.

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

Parameters4/5

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

The tool takes no parameters, so per the baseline this scores 4. The description correctly implies a no-argument call rather than hinting at filters that do not exist in the schema.

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

Purpose4/5

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

States a specific verb and resource: 'Read the documented audio effects catalog.' An agent can distinguish this from siblings like get_sound_effect_presets or generate_sound_effect. It stops short of 5 because the word 'documented' is unexplained (documentation vs. runtime catalog?) and no sibling is named.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no pointer to alternatives such as get_sound_effect_presets. The agent must infer whether this is a discovery step before calling a generator or a standalone lookup.

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

list_dubbing_projectsC

List dubbing projects using the documented page-size, cursor and status filters.

NameRequiredDescriptionDefault
cursorNo
statusNo
page_sizeNo
sort_directionNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden, yet it discloses nothing about read-only safety, permission requirements, result ordering, or whether the response includes pagination tokens. Only the implicit 'list' semantics indicate a 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.

Conciseness4/5

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

A single front-loaded sentence with no filler, which is appropriate for a simple list tool. The only inefficiency is the vague word 'documented', which conveys nothing verifiable.

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

Completeness3/5

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

For a four-parameter list tool with no annotations, no output schema, and no parameter descriptions, the definition is thin but minimally sufficient to attempt a call. An agent could invoke it, but would not know how to paginate correctly, what status values are valid, or what shape the response takes.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate, and it does name page_size, cursor, and status, which helps map intent to the schema. But it adds no meaning beyond names — no defaults, no maximum of 100, no cursor lifecycle, no example status values — and it omits sort_direction entirely, leaving an enum parameter unexplained.

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

Purpose4/5

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

The description names a specific verb and resource (list dubbing projects) and it is clearly distinguishable from sibling mutations such as create_dubbing_project and delete_dubbing_project. However, it scopes itself to only three of the four filters, omitting sort_direction, and the phrase 'documented' points at documentation that does not actually exist in the schema.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus alternatives like get_dubbing_status or list_generation_history, and no note on pagination workflow (whether cursor should be looped until exhausted) or whether filters can be combined. Usage is only implied by the word 'List'.

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

list_flow_templatesB

List published ElevenCreative templates.

NameRequiredDescriptionDefault
cursorNo
page_sizeNo

TDQS

B3.1/5.0
Behavior2/5

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

Since no annotations are provided, the description must carry all behavioral context. However, it offers no details on what 'published' entails, rate limiting, or expected response structure, making it low on behavioral transparency.

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

Conciseness5/5

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

The definition is highly concise, stating the exact function in one clear sentence without unnecessary padding or jargon. It is perfectly front-loaded.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the sibling tools, the definition is slightly incomplete. A sentence specifying whether this tool retrieves full data or only metadata would improve the agent's ability to choose the correct tool for the user's request.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 0%, meaning the description must add all semantic value. Since the description is a single declarative sentence, it adds no semantic meaning beyond what is already provided by the schema for the two pagination parameters. The score reflects the neutral baseline for low-value description on a simple tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('List') and the resource ('ElevenCreative templates'). While the name is specific, the brevity means it does not explicitly differentiate the scope (e.g., public vs. internal) from similar list tools in the ecosystem.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus other list/retrieve functions (like 'get_flow_template'). It merely states the function without context for optimal tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_generated_assetsC

List local files recorded in the asset registry.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. "List" weakly implies a read-only, side-effect-free operation, but the description says nothing about result size, ordering, pagination, or whether it reflects disk state or registry state. For a tool with zero structured behavioral hints this is a substantial gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with no filler or redundancy. It is efficiently written, though the brevity comes at the cost of the detail scored in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is structurally simple (no params, no output schema), but the description still omits what the list actually returns (file paths, IDs, metadata?) and how the results relate to list_assets/get_asset. With no annotations and no output schema to fall back on, the description should do more to make the tool callable with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 and there is no parameter meaning the description could have added. Nothing is missing on this dimension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("List local files recorded in the asset registry"), which is better than a bare restatement of the name. However, siblings list_assets, get_asset, delete_asset and upload_asset exist, and the description never explains how a "generated asset" differs from a plain "asset" or why this registry is separate. The agent must guess which of the two list tools to call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance at all: no prerequisites, no mention of when to prefer this over list_assets, and no indication of what the caller should do next (e.g. get_asset, download). The agent must infer routing from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_generation_historyC

List ElevenLabs speech generation history with documented filters.

NameRequiredDescriptionDefault
searchNo
sourceNo
model_idNo
voice_idNo
page_sizeNo
sort_directionNo
date_after_unixNo
date_before_unixNo
start_after_history_item_idNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden and adds essentially nothing: "List" weakly implies a read-only, non-destructive operation, but there is no disclosure of pagination mechanics, default page size, sort defaults, result caps, auth or scope requirements, or timestamp units. The cursor-style parameter start_after_history_item_id hints at pagination, yet the description never confirms or explains it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and wastes no tokens on preamble, which is a genuine strength. But the closing phrase "with documented filters" is pure filler that promises documentation the definition does not deliver, and the extreme brevity here reads as under-specification rather than economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter, filter-heavy list tool with zero schema description coverage, no annotations, and no output schema, the definition is far too thin to support correct invocation. An agent cannot determine filter value formats, pagination behavior, default and maximum result sizes, or what a history item contains without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across nine parameters, and the description claims "documented filters" while documenting none of them. Ambiguous fields like source (what values?), date_after_unix vs date_before_unix (epoch seconds? milliseconds? timezone?), and start_after_history_item_id (cursor semantics) are left entirely unexplained in both the schema and the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("List ... speech generation history") and pins the provider as ElevenLabs, which separates it from singular siblings like get_generation_history_item. However, the trailing clause "with documented filters" is a content-free qualifier, and nothing distinguishes this from adjacent list tools such as list_generated_assets or list_image_generations beyond the domain noun.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of the alternatives an agent should consider (get_generation_history_item for a single item, download_history_audio for retrieval, get_api_request_history for request-level logs). The agent must infer selection 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.

list_image_generationsC

List image generations from the ElevenCreative API.

NameRequiredDescriptionDefault
cursorNo
page_sizeNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden and largely drops it. 'List' weakly implies a read-only paginated operation, but ordering, page size defaults, cursor expiry, and return shape are all unstated, and no output schema exists to fill the gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted clauses earns credit for terseness, but here brevity shades into under-specification rather than economy. The 'from the ElevenCreative API' tail is pure filler that could have been replaced by a useful clause about pagination.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated listing endpoint with two undocumented parameters, no annotations, and no output schema, the description supplies neither the pagination contract nor the item shape. It is materially short of what an agent needs to invoke and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (cursor and page_size) have 0% schema description coverage, and the description says nothing about either. An agent learning how pagination works here — how the cursor is obtained, what page_size defaults to, the 1-100 bounds — gets no help from the text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource (list image generations), so the basic action is unambiguous. However, it does nothing to separate this tool from close siblings such as get_image_generation, list_generated_assets, list_generation_history, and list_video_generations, and the trailing phrase 'from the ElevenCreative API' adds no distinguishing information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this instead of get_image_generation for a single item or list_generated_assets for a broader asset listing. The agent must infer usage purely from the tool name, with no exclusions or prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_modelsB

List models returned by ElevenLabs GET /v1/models.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden, yet it only asserts that a list is returned. It does not state that the operation is read-only and side-effect free, whether results reflect the account's entitlements or a static catalog, whether the call is paginated or rate-limited, or what a returned item contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is appropriate for a trivial zero-argument tool. The reference to the raw HTTP endpoint is marginally useful for traceability but adds no decision-relevant information for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-argument list tool this is nearly sufficient, and the simple shape limits how much the description must carry. However, there is no output schema, and the description never indicates what identifying fields a model record exposes, which is the one thing an agent needs in order to use the results downstream.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The empty schema is consistent with the description's claim that this is an unfiltered listing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('List models') and ties it to the upstream endpoint GET /v1/models, so an agent knows exactly what is being enumerated. It does not explicitly distinguish itself from catalog-style siblings such as list_voices or list_music_finetunes, but the resource noun is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus alternatives, nor any prerequisite or follow-up context. The description states only what the tool returns, leaving the agent to infer that it is a discovery call used to obtain model identifiers before a generation request.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_music_finetunesC

List music finetunes in the workspace. This optional module is disabled by default.

NameRequiredDescriptionDefault
sortNo
cursorNo
page_sizeNo
created_byNo
visibilityNo
sort_directionNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full behavioral burden, and it does disclose one genuinely useful trait: the finetunes module is optional and disabled by default, implying calls may fail or return empty until enabled. It says nothing about pagination behavior (the cursor/page_size params), result ordering defaults, permissions, or return shape, which is a substantial gap for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and with no wasted wording. It is efficient, though the extreme brevity is under-specification rather than economy given six undocumented parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated, sortable, filterable list tool with six parameters, no output schema and no annotations, the description leaves out pagination mechanics, filter semantics, and what a result contains. The disabled-by-default note is the only complexity-related context provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Six parameters with 0% schema description coverage means the description is the only place semantics could be added, and it adds none: sort, sort_direction, cursor, page_size, created_by and visibility are never mentioned. "In the workspace" even suggests a workspace scope filter that has no corresponding parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"List music finetunes in the workspace" gives a specific verb and resource, and the plural/list framing distinguishes it from siblings get_music_finetune, create_music_finetune, update_music_finetune and delete_music_finetune. It stops short of explicitly naming those siblings as the alternatives for single-item or mutation operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance relative to the CRUD siblings or to listing tools like list_models and list_generated_assets. The only usage-adjacent signal is "This optional module is disabled by default," which is a prerequisite caveat rather than a routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_video_generationsC

List video generations from the ElevenCreative API.

NameRequiredDescriptionDefault
cursorNo
page_sizeNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden, yet it discloses nothing about pagination behavior (despite a cursor param), ordering, result limits, auth requirements, or what a response contains. The reference to the ElevenCreative API adds provenance but no operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of padding, which is good, but its brevity comes at the cost of under-specification rather than efficiency. There is no structural element such as a usage clause or pagination note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and two undocumented parameters, this is a thin listing tool whose definition covers only the bare minimum. An agent would have to guess how to page through results and how results differ from the several other list tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, so the description would need to explain cursor and page_size semantics, and it explains neither. Default page size, cursor expiry, and the 1-100 bounds implicit in the schema are left entirely opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("List video generations") plus the backing API, so the basic operation is unambiguous. It does nothing to distinguish this from siblings such as list_image_generations, list_generation_history, or list_generated_assets, so an agent cannot tell which listing to pick from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus the other listing tools, no mention of pagination walk order, and no prerequisites. The only hint about scope is the word "video" in the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_voicesC

Search the authenticated voice catalog through ElevenLabs GET /v2/voices.

NameRequiredDescriptionDefault
searchNo
page_sizeNo
next_page_tokenNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description still carries useful behavioral signal: the GET verb implies a non-destructive read, and 'authenticated' flags an auth requirement. It says nothing about pagination behavior, default page size, ordering of results, or what the catalog entries contain, which is a notable gap for a paginated list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no padding and the resource immediately front-loaded, so nothing is wasted. However, the brevity comes at the cost of substance rather than through efficient packing, so it reads as under-specified rather than tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A paginated catalog-list tool with three undocumented parameters, no annotations, and no output schema needs at least an explanation of paging and what is returned. The definition supplies only the endpoint name, which is not enough to call it confidently or correctly on the first attempt.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate and does not. The word 'Search' faintly gestures at the 'search' parameter but gives no guidance on matching semantics, and neither 'page_size' nor 'next_page_token' is mentioned, leaving all three parameters' purpose to be guessed from their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Search') and a specific resource ('the authenticated voice catalog'), and names the underlying endpoint GET /v2/voices, so an agent knows this browses voices rather than creating, cloning, or fetching a single one (get_voice, clone_voice, design_voice). It stops short of explicitly naming those siblings, which keeps it at 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of when to prefer this over get_voice or the voice-creation tools, and no prerequisites beyond the word 'authenticated'. Usage must be inferred entirely from the tool name and the resource noun.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

merge_audioC

Concatenate local audio files through FFmpeg's audio concat filter.

NameRequiredDescriptionDefault
formatYes
filenameYes
overwriteNo
input_pathsYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It hints at local filesystem access but omits whether files are re-encoded, where the output is written, whether existing files are overwritten, and what happens on format mismatch between inputs — significant gaps for a file-writing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy. It is lean, though the brevity comes at the cost of necessary detail rather than being a model of efficient completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation tool with no annotations and no output schema, the definition is under-specified: ordering of inputs, output destination, and overwrite semantics are all unstated. It orients the agent to what the tool is but not enough to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 4 parameters, so the description must compensate and does not. It says nothing about filename, format enum choices, the overwrite flag, or the 2–20 input constraint, adding no meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (concatenate) plus resource (local audio files) and names the implementation (FFmpeg concat filter). It distinguishes itself reasonably from siblings like split_audio, trim_audio, and convert_audio, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no named alternatives. It never says when to pick merge_audio over split_audio, create_audio_loop, or create_composition_plan, nor any prerequisites such as matching sample rates or formats across inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

normalize_audioC

Normalize local audio loudness using the FFmpeg loudnorm filter.

NameRequiredDescriptionDefault
formatNowav
filenameYes
overwriteNo
input_pathYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It usefully reveals the processing engine (FFmpeg loudnorm), but says nothing about whether output is written to a new file or in place, what the 'overwrite' parameter actually controls, whether source files can be destroyed, or what happens on unsupported inputs. These are critical for a file-mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is tight, though its brevity is part of why behavioral and parameter detail is missing rather than a model of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a file-writing tool with zero annotation coverage, no output schema, and fully undocumented parameters, the description should say where the normalized file lands and how overwrite/format behave. As written, an agent knows what the tool conceptually does but not enough to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four parameters, and the description compensates almost not at all. 'local audio' weakly implies input_path is a filesystem path, but filename, format (enum: wav/ogg/mp3/flac), and overwrite are left entirely to the bare schema, with no explanation of how they interact or what defaults mean in practice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Normalize local audio loudness') plus the underlying implementation (FFmpeg loudnorm filter), which clearly separates it from file-manipulation siblings such as convert_audio, trim_audio, or merge_audio. It stops short of explicitly naming those siblings as non-alternatives, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'local' hints that this operates on files on disk rather than cloud assets, but there is no explicit when-to-use guidance, no prerequisites, and no comparison to the many adjacent audio tools (convert_audio, isolate_voice, extract_music_stems). An agent must infer when loudness normalization is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remix_voiceB

Create new voice previews from one of your saved voices. Preview generation may consume credits and requires both paid-operation gates.

NameRequiredDescriptionDefault
seedNo
textNo
loudnessNo
voice_idYes
allow_paidNo
output_formatNomp3_44100_128
guidance_scaleNo
filename_prefixNovoice-remix
prompt_strengthNo
stream_previewsNo
voice_descriptionYes
allow_unknown_costNo
auto_generate_textNo
remixing_session_idNo
remixing_session_iteration_idNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description does real work by disclosing that preview generation may consume credits and depends on two paid-operation gates — genuinely useful cost/safety context. However, it says nothing about what the remix actually alters relative to the source voice, whether results are persisted or ephemeral, or how streaming/seed behaviors matter, leaving substantial behavioral burden on the schema alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the primary action stated first and the cost caveat second. Nothing is redundant and nothing needs reordering.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter, unannotated, output-schema-less tool, two sentences are not enough — the description neither maps the many generation-shaping parameters nor describes what the tool returns (preview URLs, files, session IDs). Only the cost/gating dimension is adequately covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 15 parameters, so the description must compensate and largely does not. Its phrase 'both paid-operation gates' usefully hints that allow_paid and allow_unknown_cost must both be set, but seed, text, loudness, guidance_scale, prompt_strength, voice_description, output_format, filename_prefix, stream_previews, auto_generate_text, and the two remixing_session IDs are left entirely unexplained beyond their types and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and result ('Create new voice previews') scoped to a saved voice, which resolves the ambiguity of the tool name 'remix_voice'. It does not distinguish this from nearby siblings such as design_voice, create_voice_from_preview, or get_voice_preview, so an agent gets a clear purpose but no explicit routing signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It establishes a precondition (the voice must already exist as a saved voice) and flags the paid-operation gates, which implies when the tool can run. It never says when to choose this over create_voice_from_preview or design_voice, nor when to avoid it, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_flow_templateB

Run a published template. Because its internal steps can generate media, cost is treated as unknown and both paid-operation gates are required.

NameRequiredDescriptionDefault
inputsYes
allow_paidNo
version_idNo
template_idYes
allow_unknown_costNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full load: it usefully discloses that cost is treated as unknown because steps can generate media, and that two gates must be set. It stops short of stating side effects, whether the run is asynchronous, what is returned, or whether prior runs are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core action front-loaded and the cost caveat immediately after. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no annotations, no output schema, five parameters, a nested free-form object, and 0% schema description coverage needs far more: the required input contract, what a run produces, and how failures or unknown-cost rejection surface are all missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across five parameters, including a free-form nested 'inputs' object, so the description must compensate and largely does not. It references 'both paid-operation gates' without naming allow_paid and allow_unknown_cost, and says nothing about template_id, version_id, or the shape of inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run a published template'), which separates it from siblings like list_flow_templates and get_flow_template. It does not explicitly name those siblings or clarify the difference from get_flow_run, but the action itself is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the template must already be published and that cost considerations apply, and the note that 'both paid-operation gates are required' tells the agent a precondition exists. However, it never says when to prefer this over direct generation tools, nor what happens if the gates are omitted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

separate_music_stemsC

Separate an uploaded music file, retain the returned ZIP, and extract each verified audio stem into GENERATED_DIR.

NameRequiredDescriptionDefault
filenameYes
allow_paidNo
input_pathYes
stem_variation_idNosix_stems_v1
allow_unknown_costNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It mentions retaining a ZIP and output location, but never says this may be a paid/async operation, how long it takes, what happens when allow_paid is false (and the cost gate is rejected), or what "verified" stems means; the cost-related parameters in the schema hint at behavior the description never explains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the action first and the outcome second; no filler. Minor deduction for the compressed phrasing "retain the returned ZIP," which is opaque without context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter, no-annotation, no-output-schema tool this is thin: the stem variation choice and both cost flags are unaddressed, and required vs optional inputs are not clarified. The workflow shape (upload → separate → extract to GENERATED_DIR) is at least conveyed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across five parameters, so the description must compensate and it largely does not. It only loosely maps to input_path/filename via "uploaded music file" and says nothing about stem_variation_id (two vs six stems) or the allow_paid/allow_unknown_cost gating.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("Separate an uploaded music file" ... "extract each verified audio stem") and states the output destination (GENERATED_DIR). It does not, however, distinguish itself from the sibling tool extract_music_stems, which an agent could easily confuse with this one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Uploaded music file" implies a prior upload step, which is the only usage cue. There is no statement of when to choose this over extract_music_stems, isolate_voice, or split_audio, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_local_budgetC

Change local request, monthly and concurrency policy limits. This does not enable paid calls.

NameRequiredDescriptionDefault
max_monthly_creditsNo
max_credits_per_requestNo
max_concurrent_generationsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden for a mutation tool. It discloses one important trait, that this does not enable paid calls, but it does not explain permissions, whether omitted parameters leave existing limits unchanged, whether zero disables a limit, or how in-flight requests are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and front-loads the main action before the caveat. There is little wasted wording, though 'local request' is slightly awkward and could be clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation tool with no annotations, no output schema, and three optional parameters at 0% schema description coverage. The description omits partial-update semantics, return behavior, and permission requirements, leaving too much for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does conceptually map the three parameters to request, monthly, and concurrency policy limits, but it omits units, the meaning of setting a value to zero, and what happens when optional parameters are omitted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb, 'Change', and identifies the resource as 'local request, monthly and concurrency policy limits', which maps to the three budget dimensions in the schema. It does not explicitly differentiate itself from the sibling get_budget_status tool, which would make the purpose even clearer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit when-to-use guidance, no prerequisites, and no named alternative such as get_budget_status for viewing current limits. The caveat 'This does not enable paid calls' is useful context but does not tell the agent when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

split_audioC

Split local audio into segments of the requested maximum duration using FFmpeg.

NameRequiredDescriptionDefault
input_pathYes
filename_prefixYes
segment_secondsYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses FFmpeg-based processing and that input is a local file, but leaves unclear whether audio is re-encoded, whether the source file is modified, where segment files are written, and how output files are named from the prefix.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the core action front-loaded and no filler. It is short rather than padded, though the terseness is partly why the behavioral gaps exist.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a filesystem-mutating tool with no annotations, no output schema, and zero schema description coverage, the description is too thin. It does not say where segments are written or what the caller gets back, which an agent needs before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all three required parameters. It clarifies that the path is a local audio file and that segment_seconds is a maximum duration, but filename_prefix — which governs output naming — is never explained anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: split audio into segments of a requested maximum duration, plus the implementation (FFmpeg). This distinguishes it from siblings like trim_audio and merge_audio, though it never names those alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this instead of trim_audio, convert_audio, merge_audio, or create_audio_loop. The purpose implies segmentation, but nothing tells the agent the conditions that select this tool over its close neighbors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transcribe_audioC

Transcribe a local audio or video file. Supports the API's model, diarization and timestamp controls. Cost is not estimated locally.

NameRequiredDescriptionDefault
diarizeNo
filenameNotranscript.json
model_idNoscribe_v2
allow_paidNo
input_pathYes
num_speakersNo
language_codeNo
tag_audio_eventsNo
allow_unknown_costNo
timestamps_granularityNoword

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden and it falls well short. 'Cost is not estimated locally' gestures at billing risk but never explains the allow_paid / allow_unknown_cost gating, what happens when a paid model is requested without opt-in, or that the tool writes a transcript file to disk (filename defaults to transcript.json) and whether it overwrites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the core action front-loaded and no filler. The closing sentence about cost is terse to the point of being cryptic, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 10-parameter transcription tool with no annotations, no output schema, and no schema descriptions needs a far richer definition. The description omits the paid-operation safeguards that are the main invocation risk, does not explain the file-writing side effect, and says nothing about return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so every one of the 10 parameters depends on the description for meaning. It only alludes to three (model_id, diarize, timestamps_granularity) in a single summary clause, leaving the two cost-safety booleans, language_code, num_speakers, tag_audio_events, input_path and filename entirely uninterpreted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb and resource ('Transcribe a local audio or video file') and the word 'local' implicitly separates it from retrieval-oriented siblings like get_transcription or transcript_to_subtitles. It stops short of naming an alternative, so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus get_transcription, align_audio_to_text, or estimate_cost, and no prerequisites or exclusions are given. The only usable cue is the phrase 'local ... file', which hints at the input scope but is not framed as guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transcript_to_subtitlesB

Convert a local JSON transcript with word timestamps into SRT or WebVTT. Writes one caption per timed word to preserve source alignment.

NameRequiredDescriptionDefault
formatYes
filenameYes
input_pathYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose two non-obvious traits: the tool writes a file rather than returning captions, and it emits one caption per timed word to preserve source alignment. It stops short of saying where the file is written, whether an existing file is overwritten, or how malformed input is handled, which are material gaps for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the purpose is front-loaded before the behavioral detail. Every clause adds information an agent could act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, annotation-free, output-schema-less conversion tool, the description covers the input contract, output formats, and caption granularity adequately. It leaves the output-file destination and overwrite semantics unstated, which is the largest remaining gap given nothing else documents them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate and it only partially does: 'local JSON transcript with word timestamps' explains input_path, and 'SRT or WebVTT' maps to the format enum. The filename parameter is left unexplained — no indication whether an extension should be supplied, whether directories are allowed, or where it resolves relative to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Convert a local JSON transcript with word timestamps into SRT or WebVTT') plus the output granularity, which is far more informative than the name alone. It does not explicitly contrast itself with adjacent siblings such as transcribe_audio or generate_speech_with_timestamps, so the differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage signal is the precondition baked into the sentence: the input must be a local JSON transcript containing word timestamps. There is no statement of when to pick this over transcribe_audio/align_audio_to_text, no note on what happens if the transcript lacks word timings, and no guidance on choosing SRT versus VTT beyond the enum.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trim_audioC

Trim local audio using a start offset and duration in seconds.

NameRequiredDescriptionDefault
formatNowav
filenameYes
overwriteNo
input_pathYes
start_secondsYes
duration_secondsYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It hints that the operation is file-local rather than asset-based, but never states what the output is, whether a new file is written under 'filename', what 'overwrite' changes, or whether an existing file is destroyed — all material for a write-to-disk tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy. It is well structured but so terse that brevity shades into under-specification rather than efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with four required fields, zero schema descriptions, no annotations, and no output schema, one sentence is far short of what an agent needs. It should at minimum cover the input/output file relationship and overwrite behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all six parameters. It only clarifies that start/duration are in seconds, which the property names already imply, and says nothing about input_path, filename, format enum, or overwrite semantics — a substantial gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Trim local audio') plus the two core inputs (start offset, duration in seconds), so the operation is unmistakable. It does not name or contrast with close siblings such as split_audio, convert_audio, or merge_audio, so differentiation is left to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no exclusions. An agent cannot tell from the description when trimming is preferable to split_audio for cutting segments or to convert_audio for format changes, both of which are plausible siblings for the same local-file workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_music_finetuneC

Update documented metadata fields for a music finetune. The optional module is disabled by default.

NameRequiredDescriptionDefault
nameNo
tagsNo
visibilityNo
finetune_idYes
primary_genreNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure for a mutation tool. It does not explain whether updates are partial or full, what happens to omitted fields, what permissions are required, whether changes are reversible, or what errors may occur. The optional module sentence is unexplained and adds no actionable 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is front-loaded and to the point, but the second sentence is confusing and does not appear to help an agent call the tool correctly. With only two sentences total, the irrelevant or ambiguous module note materially reduces structural quality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation tool with five parameters, zero schema description coverage, no annotations, and no output schema. The description does not cover essential operational details such as partial-update semantics, field meanings, permissions, or expected results. It is far too thin for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for five undocumented parameters. It does not name or explain any of the parameters (name, tags, visibility, primary_genre, or finetune_id) or their formats and constraints. Saying 'metadata fields' generically provides no meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: update documented metadata fields for a music finetune. This distinguishes it from siblings like get_music_finetune, list_music_finetunes, delete_music_finetune, and create_music_finetune. However, 'documented metadata fields' is somewhat vague, and the second sentence about the optional module is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no when-to-use guidance, no comparison with sibling tools, and no prerequisites such as requiring an existing finetune ID. The note that 'the optional module is disabled by default' does not clarify when this tool should be selected or avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_voice_settingsC

Update stored settings for one voice using the documented voice settings endpoint.

NameRequiredDescriptionDefault
settingsYes
voice_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden, yet it only implies mutation. It does not say whether the settings object replaces existing settings wholesale or merges (relevant given additionalProperties: false and no optional fields), whether changes are reversible, what permissions are needed, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no redundancy of substance, but 'using the documented voice settings endpoint' is filler that points at documentation it does not identify, consuming words without conveying information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and a nested settings object with zero described fields, the description is far too thin. An agent cannot know what the call changes, how partial versus full updates behave, or what happens on failure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the settings parameter is a nested object with five undocumented sub-fields (speed, style, stability, similarity_boost, use_speaker_boost). The description adds no meaning beyond the schema — it repeats the word 'settings' without explaining any field, unit, or effect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Update' plus the resource 'stored settings for one voice' sets a clear operation, but it is a near-restatement of the tool name and does nothing to distinguish it from siblings such as get_voice_settings or change_voice. The trailing phrase 'using the documented voice settings endpoint' adds no discriminating information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus get_voice_settings (read) or change_voice, no prerequisites, and no note about whether a voice must already exist. The agent must infer the entire usage context from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_assetB

Upload a local media file to the ElevenLabs Assets API. Requires rights confirmation and unknown-cost authorization because asset pricing is not estimated here.

NameRequiredDescriptionDefault
nameYes
allow_paidNo
input_pathYes
rights_confirmedNo
allow_unknown_costNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It usefully reveals that asset pricing is not estimated here and that uploads are gated on rights and cost authorization — real behavioral context. It omits what happens when the flags are false, whether existing assets are overwritten, supported media types, or size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, purpose front-loaded ahead of the gating caveat. Slightly compressed — the causal clause 'because asset pricing is not estimated here' could be tightened, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no annotations and no output schema, the description covers only the cost/rights gating story. It says nothing about return values (asset ID?), failure modes, or the three undocumented parameters, so an agent still cannot call it confidently without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 5 parameters, so the description must compensate. It explains the intent behind rights_confirmed and allow_unknown_cost but leaves input_path, name, and especially allow_paid (a paid-spend consent flag) completely unaddressed, and does not clarify how allow_paid differs from allow_unknown_cost.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Upload a local media file to the ElevenLabs Assets API.' The 'local media file' + 'Assets API' framing distinguishes it from siblings like upload_music, generate_image, or generate_video, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when the tool is usable by flagging two preconditions (rights confirmation, unknown-cost authorization), but it never states when to choose this over upload_music or list_assets, nor what to do if pricing must be known (e.g., call estimate_cost first). Usage is inferable rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_musicC

Upload music for the documented later inpainting workflow. The official endpoint charges the same as song generation, so both paid gates apply.

NameRequiredDescriptionDefault
allow_paidNo
input_pathYes
allow_unknown_costNo
extract_composition_planNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that the endpoint is billed like song generation and that two paid gates apply, which maps to the allow_paid and allow_unknown_cost parameters. But it says nothing about whether the upload is persisted, what happens on cost rejection, file format/size limits, or whether the response returns an asset reference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no padding, and the cost warning is placed after the purpose statement. The phrase "the documented later inpainting workflow" is vague filler that points at unavailable documentation rather than conveying information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter, no-annotation, no-output-schema tool, the description is thin: it covers the billing aspect but omits the semantics of the single required parameter and of extract_composition_plan, and never states what the tool returns after a successful upload.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four parameters. The description only obliquely explains the two paid-gate booleans ("both paid gates apply"); input_path (local path vs URL, accepted formats) and extract_composition_plan are entirely unexplained in both schema and description, leaving the required parameter's semantics undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource ("Upload music") is specific, and the description distinguishes this from generate_music by framing it as feeding a later inpainting workflow. However, "the documented later inpainting workflow" is a dangling reference to documentation the agent cannot see, so the actual purpose remains only loosely defined and it is not clear why this differs from the sibling upload_asset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you need source audio for a later inpainting workflow, and note that paid gates apply. There is no explicit when-not guidance, no mention of upload_asset as an alternative for generic asset uploads, and no prerequisites such as file format or size.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 89 tool updatesv0.1.0
    • First observedadd_dubbing_language
    • First observedalign_audio_to_text
    • First observedchange_voice
    • First observedclone_voice
    • First observedconvert_audio
    • First observedcreate_async_speech
    • First observedcreate_audio_loop
    • First observedcreate_composition_plan
    • First observedcreate_dubbing_project
    • First observedcreate_music_finetune
    • First observedcreate_voice_from_preview
    • First observeddelete_asset
    • First observeddelete_dubbing_project
    • First observeddelete_history_item
    • First observeddelete_music_finetune
    • First observeddelete_voice
    • First observeddesign_voice
    • First observeddownload_dubbed_media
    • First observeddownload_history_audio
    • First observeddownload_image
    • First observeddownload_video
    • First observedestimate_cost
    • First observedexport_to_godot
    • First observedextract_music_stems
    • First observedgenerate_ambient_audio
    • First observedgenerate_dialogue
    • First observedgenerate_dialogue_stream
    • First observedgenerate_dialogue_stream_with_timestamps
    • First observedgenerate_dialogue_with_timestamps
    • First observedgenerate_image
    • First observedgenerate_music
    • First observedgenerate_music_detailed
    • First observedgenerate_music_detailed_stream
    • First observedgenerate_music_from_video
    • First observedgenerate_music_stream
    • First observedgenerate_sound_effect
    • First observedgenerate_speech
    • First observedgenerate_speech_stream
    • First observedgenerate_speech_stream_with_timestamps
    • First observedgenerate_speech_with_timestamps
    • First observedgenerate_video
    • First observedget_account_info
    • First observedget_api_request_history
    • First observedget_asset
    • First observedget_async_speech
    • First observedget_budget_status
    • First observedget_capabilities
    • First observedget_dubbing_status
    • First observedget_flow_run
    • First observedget_flow_template
    • First observedget_generation_history_item
    • First observedget_image_generation
    • First observedget_music_finetune
    • First observedget_remote_usage_report
    • First observedget_sound_effect_presets
    • First observedget_subscription
    • First observedget_transcription
    • First observedget_usage_report
    • First observedget_video_generation
    • First observedget_voice
    • First observedget_voice_preview
    • First observedget_voice_settings
    • First observedinspect_media
    • First observedisolate_voice
    • First observedlist_assets
    • First observedlist_audio_effects
    • First observedlist_dubbing_projects
    • First observedlist_flow_templates
    • First observedlist_generated_assets
    • First observedlist_generation_history
    • First observedlist_image_generations
    • First observedlist_models
    • First observedlist_music_finetunes
    • First observedlist_video_generations
    • First observedlist_voices
    • First observedmerge_audio
    • First observednormalize_audio
    • First observedremix_voice
    • First observedrun_flow_template
    • First observedseparate_music_stems
    • First observedset_local_budget
    • First observedsplit_audio
    • First observedtranscribe_audio
    • First observedtranscript_to_subtitles
    • First observedtrim_audio
    • First observedupdate_music_finetune
    • First observedupdate_voice_settings
    • First observedupload_asset
    • First observedupload_music

TDQS

C2.7/5.0

Scored across 89 tools

Disambiguation3/5

The server has many intentionally parallel tools, especially non-streaming vs streaming vs timestamped variants for speech, dialogue, and music, plus several usage/budget/history read tools. Descriptions usually clarify boundaries, but the sheer number of near-duplicate generation paths makes misselection likely for an agent.

Naming Consistency5/5

Tool names consistently use snake_case verb_noun patterns such as generate_speech, list_voices, get_asset, delete_asset, and update_voice_settings. Minor suffixes like _stream and _with_timestamps are predictable and coherent.

Tool Count1/5

Eighty-nine tools is an extreme mismatch for a single MCP server, even one covering a broad media API. It far exceeds the practical 3-15 range and creates a large selection burden, duplicate pathways, and cognitive overhead.

Completeness4/5

The surface covers a very wide domain: TTS, dialogue, sound effects, music, dubbing, voices, history, assets, image/video generation, flows, and local FFmpeg operations. There are only minor lifecycle gaps, such as limited update operations for some resources, but no major dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers