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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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