Skip to main content
Glama

flowspeech_tts_multi

Generate a two-speaker WAV from text with Speaker1/Speaker2 turns, using a caller-provided request UUID to track the request.

Instructions

Generate a two-speaker WAV recording with a caller-known request UUID. Each turn starts with Speaker1: or Speaker2:. Consumes account credits.

Input Schema

NameRequiredDescriptionDefault
textYes
voice_aNoCharon
voice_bNoKore
request_idYesRequired caller-known UUID. Get one with flowspeech_new_request_id; reuse only for unchanged text and voices.
output_pathNoOptional output WAV file path. An existing file is not overwritten.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.2.1
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / output_path / description
      Previous value: -"File path to save audio. Defaults to a timestamped file in ~/.flowspeech-mcp/audio"New value: +"Optional output WAV file path. An existing file is not overwritten."
    • addedInput schema / properties / request_id
      Added value: +{
      +  "description": "Required caller-known UUID. Get one with flowspeech_new_request_id; reuse only for unchanged text and voices.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • removedInput schema / properties / text / description
      Removed value: -"Dialogue text with speaker labels. Example:\n\"Speaker1: Good morning!\nSpeaker2: Good morning! How are you?\""
    • removedInput schema / properties / voice_a / description
      Removed value: -"Voice for Speaker1. Default: \"Charon\""
    • removedInput schema / properties / voice_b / description
      Removed value: -"Voice for Speaker2. Default: \"Kore\""
    • changedInput schema / required
      Previous value: -[
      -  "text"
      -]New value: +[
      +  "text",
      +  "request_id"
      +]
  2. First observedv0.1.0

TDQS

A3.5/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 that it consumes account credits and produces a WAV recording, but it does not cover permissions, failure behavior, idempotency, or what the caller receives back.

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

Conciseness5/5

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

The description is three short sentences, front-loaded with the core action and output format. Every sentence adds useful information: the output type, the turn-prefix format, and the credit consumption.

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 tool with no annotations and no output schema, the description is only partially complete. It covers the output artifact and text-turn format, but omits the speaker-to-voice mapping, where the resulting WAV is written, and what the tool returns to the caller.

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 40%, so the description must compensate. It adds critical meaning for the text parameter by explaining that each turn begins with Speaker1: or Speaker2:, but it does not explain how voice_a and voice_b map to those speaker labels, nor does it clarify text formatting beyond the prefix rule.

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 and resource: 'Generate a two-speaker WAV recording.' The 'two-speaker' qualifier implicitly distinguishes it from the single-speaker sibling flowspeech_tts, though that sibling is not 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?

Usage is implied by 'two-speaker' and the need for a caller-known request UUID, which suggests when this tool is appropriate. However, it never explicitly says when to use this instead of flowspeech_tts or what prerequisites are required beyond getting a UUID.

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