elevenlabs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ELEVENLABS_API_KEY | Yes | Your ElevenLabs API key. | |
| ELEVENLABS_MCP_OUTPUT_DIR | No | Where generated audio/media files are written. (ELEVENLABS_MCP_BASE_PATH is accepted as an alias.) | ~/Desktop |
| ELEVENLABS_DEFAULT_MODEL_ID | No | Default TTS model. | eleven_multilingual_v2 |
| ELEVENLABS_DEFAULT_VOICE_ID | No | Voice used when a tool call omits voice_id. | JBFqnCBsd6RMkjVDRZzb |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| text_to_speechA | Convert text to speech and save the audio to a file. Args: text: The text to synthesize. voice_id: ElevenLabs voice id (defaults to the configured default voice). model_id: TTS model id (default "eleven_multilingual_v2"). Other options include "eleven_flash_v2_5" (fast/cheap) and "eleven_turbo_v2_5". output_format: e.g. "mp3_44100_128", "mp3_44100_192", "pcm_44100", "wav_44100". language_code: ISO code to enforce a language (supported by some models). stability / similarity_boost / style / speed: voice setting overrides (0..1; speed ~0.7..1.2). use_speaker_boost: bool. seed: deterministic generation seed. output_filename: optional file name (extension inferred if omitted). Returns the absolute path of the saved audio file. |
| text_to_dialogueA | Generate multi-speaker dialogue audio from a list of turns. Args:
dialogue: list of turns, each Returns the absolute path of the saved audio file. |
| speech_to_speechA | Voice changer: transform speech in an audio file to a target voice. Args: audio_file_path: path to the source audio file. voice_id: target voice id (defaults to the configured default voice). model_id: STS model id (default "eleven_multilingual_sts_v2"). output_format: audio output format. remove_background_noise: strip background noise before conversion. output_filename: optional output file name. Returns the absolute path of the converted audio file. |
| sound_effectsA | Generate a sound effect from a text prompt. Args: text: description of the sound effect, e.g. "distant thunder rolling". duration_seconds: desired length (0.5..30). If omitted the model chooses. prompt_influence: 0..1 — how strictly to follow the prompt. loop: make the effect loopable. output_format: audio output format. output_filename: optional output file name. Returns the absolute path of the saved audio file. |
| audio_isolationA | Isolate speech from an audio file by removing background noise/music. Args: audio_file_path: path to the source audio file. output_filename: optional output file name. Returns the absolute path of the cleaned audio file. |
| compose_musicA | Compose music from a text prompt (ElevenLabs Music). Args: prompt: description of the music, e.g. "upbeat lofi hip hop, mellow piano". music_length_ms: desired length in milliseconds (e.g. 30000 for 30s). model_id: music model id (API default when omitted). output_format: audio output format. output_filename: optional output file name. Returns the absolute path of the saved audio file. |
| speech_to_textA | Transcribe an audio file to text (ElevenLabs Scribe). Args: audio_file_path: path to the audio file to transcribe. model_id: STT model id (default "scribe_v1"). language_code: optional ISO language hint. diarize: annotate which speaker said what. tag_audio_events: tag non-speech events like (laughter). num_speakers: hint for the expected number of speakers. Returns the transcription result as JSON (text, language, words with timings). |
| forced_alignmentA | Align a known transcript to audio, returning per-word/character timings. Args: audio_file_path: path to the audio file. text: the exact transcript of the audio. Returns alignment data as JSON. |
| design_voiceA | Design candidate voices from a text description (Voice Design). Generates preview voices and saves each preview's audio to a file. To keep a
preview permanently, call Args: voice_description: description of the desired voice, e.g. "an old British narrator with a warm, gravelly tone". text: sample text to speak in the previews (>=100 chars recommended). model_id: voice-design model id (API default when omitted). auto_generate_text: let ElevenLabs generate the preview text. Returns JSON listing each preview's generated_voice_id and saved audio path. |
| create_voice_from_previewA | Save a previously designed voice preview as a permanent voice. Args:
voice_name: name for the new voice.
voice_description: description of the voice.
generated_voice_id: id returned by Returns the new voice's id and name as JSON. |
| clone_voiceA | Instant voice clone: create a new voice from one or more audio samples. Args: name: name for the cloned voice. audio_file_paths: paths to clean sample recordings of the target voice. description: optional description. labels: optional dict of metadata labels. remove_background_noise: clean the samples before cloning. Returns the new voice's id as JSON. |
| list_voicesA | List the voices available in your account. Args: search: optional case-insensitive substring to filter by name/labels. Returns a JSON summary of each voice (id, name, category, labels). |
| get_voiceB | Get full details for a single voice, including its settings. Args: voice_id: the voice id. Returns the voice object as JSON. |
| search_voice_libraryA | Search the shared ElevenLabs voice library (community voices). Args: search: free-text search. category: e.g. "professional", "high_quality", "famous". gender: e.g. "male", "female". language: language filter. page_size: max results to return. Returns a JSON summary of matching shared voices. |
| get_default_voice_settingsA | Return the default voice settings used by ElevenLabs. |
| edit_voice_settingsA | Update the settings for a voice (only provided fields are changed). Args: voice_id: the voice id. stability / similarity_boost / style / speed: floats (0..1; speed ~0.7..1.2). use_speaker_boost: bool. Returns the updated settings as JSON. |
| delete_voiceC | Delete a voice from your account. Args: voice_id: the voice id to delete. |
| list_modelsA | List the available ElevenLabs models and their capabilities. |
| get_user_infoA | Get information about the authenticated ElevenLabs user. |
| check_subscriptionA | Check subscription tier and character usage/remaining for the account. |
| get_usage_statsA | Get character/credit usage statistics over a time window. Args: start_unix: window start (unix seconds). Defaults to 30 days ago. end_unix: window end (unix seconds). Defaults to now. metric: one of "credits", "tts_characters", "minutes_used", "request_count". breakdown_type: e.g. "none", "voice", "model", "api_keys". aggregation_interval: "hour", "day", "week", "month", or "cumulative". Returns usage data as JSON. |
| list_historyB | List recent generation history items. Args: page_size: number of items to return. voice_id: filter to a specific voice. search: free-text search over history. Returns a JSON summary of history items. |
| get_history_itemC | Get metadata for a single history item. Args: history_item_id: the history item id. |
| download_history_audioB | Download the audio for a history item and save it to a file. Args: history_item_id: the history item id. output_filename: optional output file name. Returns the absolute path of the saved audio file. |
| delete_history_itemB | Delete a history item. Args: history_item_id: the history item id to delete. |
| dub_audioA | Start a dubbing job to translate audio/video into another language. Provide either a local file or a source URL (e.g. YouTube). Dubbing runs
asynchronously — poll with Args: target_lang: target language code (e.g. "es", "fr", "de"). audio_file_path: path to a local audio/video file. source_url: URL of the source media (alternative to a file). source_lang: source language code (auto-detected if omitted). name: optional project name. num_speakers: expected number of speakers (0 = auto). watermark: apply ElevenLabs watermark. Returns the dubbing_id as JSON. |
| get_dubbing_statusC | Get the status and metadata of a dubbing job. Args: dubbing_id: the dubbing job id. |
| download_dubbed_audioA | Download the dubbed audio for a completed dubbing job. Args: dubbing_id: the dubbing job id. language_code: the target language code to download. output_filename: optional output file name. Returns the absolute path of the saved audio file. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/neomorrison/elevenlabs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server