Skip to main content
Glama
zjandrew

Fish Audio MCP Server

by zjandrew

fish_audio_tts

Convert text to speech with voice selection and streaming options using Fish Audio's TTS API. Supports various audio formats and real-time playback.

Instructions

Generate speech from text using Fish Audio TTS API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesText to convert to speech
reference_idNoVoice model reference ID (optional)
reference_nameNoVoice model name to search for (optional)
reference_tagNoVoice model tag to search for (optional)
streamingNoEnable HTTP streaming mode (optional)
websocket_streamingNoEnable WebSocket streaming mode (optional)
realtime_playNoEnable real-time audio playback during streaming (optional)
formatNoOutput audio format (optional)mp3
mp3_bitrateNoMP3 bitrate in kbps (optional)
opus_bitrateNoOpus bitrate in bps; -1000 = auto. Only applies when format=opus.
sample_rateNoAudio sample rate in Hz. Defaults to format-native rate when omitted.
normalizeNoEnable text normalization (optional)
latencyNoLatency mode: low=lowest latency, balanced=reduced latency, normal=best qualitybalanced
output_pathNoCustom output file path (optional)
auto_playNoAutomatically play the generated audio (optional)
speedNoSpeaking rate multiplier (0.5=half speed, 1.0=normal, 2.0=double speed)
volumeNoVolume adjustment in dB (0=no change, positive=louder, negative=quieter)
normalize_loudnessNoNormalize output loudness for consistent perceived volume (s2-pro only)
temperatureNoExpressiveness/emotion control (0=consistent and calm, 1=varied and emotional)
top_pNoNucleus sampling diversity (0..1)
chunk_lengthNoTarget text segment size for processing (100-300)
max_new_tokensNoMaximum audio tokens to generate per text chunk
repetition_penaltyNoPenalty for repeating audio patterns; values >1.0 reduce repetition
min_chunk_lengthNoMinimum characters before splitting into a new chunk (0-100)
condition_on_previous_chunksNoUse previous audio as context for voice consistency across chunks
early_stop_thresholdNoEarly stopping threshold for batch processing (0..1)
speakersNoMulti-speaker mode (s2-pro only). Ordered list of speaker identifiers — each entry is resolved against FISH_REFERENCES by id, then name, then tag (or treated as a raw reference_id if no references are configured). The order maps to speaker tags `<|speaker:0|>`, `<|speaker:1|>`, ... in `text`. Provide at least 2 entries to engage multi-speaker; a single entry is equivalent to `reference_id`.
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only says 'generate speech', omitting key aspects like streaming behavior, output format handling, or whether it is safe/idempotent. The minimal description fails to compensate for absent annotations.

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 description is a single short sentence, which is concise but lacks structure. It would benefit from additional details without being verbose. It is adequate but not optimal.

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 the tool's complexity (27 parameters, no output schema), the description is insufficient. It does not explain return values, rate limits, or how to handle outputs. For a sophisticated TTS API, more context is needed.

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 100%, so baseline is 3. The description adds no extra parameter meaning; it merely restates the tool's purpose. It does not exceed the schema's own descriptions.

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 clearly states the verb 'generate speech' and resource 'text using Fish Audio TTS API', making the primary purpose evident. It also inherently distinguishes from the sibling tool 'fish_audio_list_references' which lists voice models.

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 tool vs alternatives, no prerequisites, and no conditions for optimal usage. The sibling tool exists but no differentiation or context is provided.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zjandrew/mcp-fish-audio-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server