火山引擎 TTS MCP 服务 - Volcengine Text-to-Speech MCP Server
This server has two tools with visible schemas and descriptions. However, the definitions suffer from significant gaps in parameter completeness, lack of actionable error guidance, and missing output schema documentation. The `volcengine_tts` tool has 18 optional parameters but many lack constraints or format guidance. The `list_voice` tool is minimal with no output schema documented. Parameter descriptions are present but often generic, and the tool descriptions, while detailed in Chinese/English, lack specificity about error conditions and recovery paths. Naming is verb-based but descriptions don't provide the 'when to use' context that LLMs need for reliable selection.
获取所有可用的火山引擎TTS音色列表。 返回: List[dict],每个元素包含音色的scene、desc、voice_type、lang、emotions、keywords等信息。
将文本转为语音并保存为音频文件,支持所有火山引擎TTS参数。 支持自然语言描述音色,如"青年男声""甜美女声"等。 参数说明: text (str): 要合成的文本内容。 voice_type (str, 可选): 使用的音色名称,默认为官方女声。 encoding (str, 可选): 音频编码格式,默认为mp3。 speed_ratio (float, 可选): 语速,1.0为正常语速。 uid (str, 可选): 用户ID,默认uid123。 cluster (str, 可选): 集群,默认volcano_tts。 emotion (str, 可选): 情感标签。 enable_emotion (bool, 可选): 是否启用情感。 emotion_scale (float, 可选): 情感强度。 rate (int, 可选): 采样率,默认24000。 bitrate (int, 可选): 比特率,默认160。 loudness_ratio (float, 可选): 响度,默认1.0。 explicit_language (str, 可选): 明确语言。 context_language (str, 可选): 上下文语言。 silence_duration (float, 可选): 静音时长。 with_timestamp (bool, 可选): 是否返回时间戳。 extra_param (dict, 可选): 额外参数。 output_dir (str, 可选): 音频文件保存目录,优先级高于环境变量 OUTPUT_DIR,默认当前目录。 output_filename (str, 可选): 自定义音频文件名(无需扩展名),如不指定则自动生成唯一文件名。 返回: TextContent,包含合成成功提示和音频文件路径。
list_voice tool lacks output schema documentation. Response structure (fields in each dict, data types) is completely undocumented. The description only states 'List[dict]' without specifying what fields agents should expect (scene, desc, voice_type, lang, emotions, keywords).
volcengine_tts has 18 optional parameters with minimal guidance on constraints, ranges, or mutual exclusivity. For example, 'emotion' and 'enable_emotion' are both optional but relationship undefined; 'rate' and 'bitrate' have no documented minimum/maximum; 'output_dir' has smart fallback behavior but this is buried in the description rather than clearly stated upfront.
No error handling guidance documented. What happens if the TTS service is unavailable? If the output_dir is not writable? If the text is empty or too long? The tool description does not indicate error conditions or recovery paths, forcing the LLM to guess how to handle failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
list_voice description is extremely sparse (under 50 characters of actionable content). It does not explain WHEN to call this tool relative to volcengine_tts, or what the agent should do with the returned voice list. No dependency hint like 'Call this first to see available voices before calling volcengine_tts.'
Output schema for volcengine_tts is minimally documented. The tool returns TextContent with a simple success message and file path, but no schema is declared. Agents cannot programmatically extract the file path or verify the return type structure.
Parameter descriptions lack specificity. For example, 'emotion' description is just 'Emotion tag' with no guidance on valid values or interaction with enable_emotion. 'speed_ratio' says '1.0为正常语速' but does not specify min/max range or whether fractional values like 0.5 or 2.0 are supported.