MCP server providing access to ElevenLabs API endpoints for text-to-speech, speech-to-text, sound effects generation, voice cloning, and conversational AI capabilities
Three tools with complete input schemas and descriptions. text_to_speech and speech_to_text have detailed parameter documentation (stability, similarity_boost, output_format enums, etc.), but sound_effects lacks visible schema/description in source. All tools include cost warnings. Parameter descriptions are generally good (72-char baseline met), but descriptions could be more concise for LLM optimization. No output schemas documented. Error handling present but minimal guidance for recovery. Missing tool annotations (readOnlyHint/destructiveHint).
Convert text description of a sound effect to sound effect with a given duration and save the output audio file to a given directory.
Transcribe speech from an audio file and either save the output text file to a given directory or return the text to the client directly. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
Convert text to speech with a given voice and save the output audio file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop. Only one of voice_id or voice_name can be provided. If none are provided, the default voice will be used. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
sound_effects tool has no visible schema or description in source code. Only name and risk level provided. Cannot verify parameter types, constraints, or output structure.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., file paths, voice IDs). Violates pattern:response-shaper.
Tool descriptions are verbose (200+ chars) and include implementation details (e.g., 'Directory is optional, if not provided, the output file will be saved to $HOME/Desktop'). Should be 50-150 chars with WHAT/WHEN/WHY structure for LLM optimization.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. speech_to_text is read-only; text_to_speech and sound_effects are destructive (write files, incur costs). Agents cannot reason about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error handling minimal. No recovery guidance (e.g., 'If voice not found, call list_voices() first'). No categorization of errors as retryable vs. user-fixable. Violates pattern:recovery-guide.