{"name":"io.github.mindstone/mcp-server-elevenlabs","slug":"mindstone-mcp-server-elevenlabs","title":"ElevenLabs","description":"ElevenLabs MCP server: TTS, music, sound effects, voices, and audio transcription","url":"https://mcp.market/server/mindstone-mcp-server-elevenlabs","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"media","tags":["media"],"presence":{"score":35,"stars":12,"forks":4,"downloads_week":76,"last_push_at":"2026-09-13T00:54:57.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/mindstone/mcp-servers","website":null,"version":"0.5.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mindstone/mcp-server-elevenlabs","version":"0.5.2","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"ElevenLabs API key (starts with sk_)","isRequired":true,"format":"string","isSecret":true,"name":"ELEVENLABS_API_KEY"},{"description":"Workspace directory for transcription audio file inputs. Defaults to os.tmpdir() when unset.","format":"filepath","name":"MCP_WORKSPACE_PATH"}]}],"tools":[{"name":"add_pronunciation_dictionary","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"archive_pronunciation_dictionary","description":"Archive a pronunciation dictionary so it is no longer applied to generations. WHEN TO USE: - Retire an outdated or mistaken dictionary - Clean up test dictionaries EXAMPLE: {\"pronunciation_dictionary_id\": \"5xM3yVvZQKV0EfqQpLrJ\"} RELATED TOOLS: - list_pronunciation_dictionaries: find dictionary IDs (include_archived shows archived ones) - add_pronunciation_dictionary: create a replacement RETURNS: ","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_subscription","description":"Check ElevenLabs subscription tier and character credit usage. WHEN TO USE: - Before expensive generation calls (speech, music, sound effects) to confirm credits remain - When a tool returns quota or 403 errors — read remaining characters and next reset - To answer \"how much ElevenLabs credit do I have left?\" EXAMPLE: {} (no arguments) RELATED TOOLS: - generate_speech, generate_music, generate_sou","write_action":false,"price_micros":0,"input_schema":null},{"name":"clone_voice","description":"Create an instant voice clone from one or more local audio samples. WHEN TO USE: - Clone a speaker from short audio samples the user provides - Add a custom voice to the account for generate_speech or speech_to_speech EXAMPLE: {\"name\": \"My Clone\", \"files\": [\"/path/to/sample.mp3\"], \"description\": \"Meeting voice\"} RELATED TOOLS: - delete_voice: remove a cloned voice when no longer needed (required f","write_action":true,"price_micros":0,"input_schema":null},{"name":"configure_elevenlabs_api_key","description":"Host-managed setup only. The user adds the ElevenLabs API key in Settings → Connectors in the app. Do not ask for or accept the key in chat. WHEN TO USE: - Only when the host supplies the key during connector setup EXAMPLE: - Host-managed setup supplies the key directly after the user saves it in Settings → Connectors RELATED TOOLS: - check_subscription: verify the key and see credits after config","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_dubbing","description":"Submit an async dubbing job (v1 API). You MUST poll get_dubbing until status is …. WHEN TO USE: - Translate/dub existing audio or video into another language - Localize a short clip the user already has on disk EXAMPLE: {\"file_path\": \"/path/in/workspace/clip.mp3\", \"target_lang\": \"es\", \"name\": \"rebel-live-test-dub\"} RELATED TOOLS: - get_dubbing: poll job status (every ~10s; respect expected_duratio","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_music_plan","description":"Create a composition plan for music generation. WHEN TO USE: - Structure a song with per-section lyrics and styles before paying for generation - Review or edit sections before calling generate_music_from_plan EXAMPLE: {\"prompt\": \"Acoustic folk ballad about the sea\", \"duration_seconds\": 45} RELATED TOOLS: - generate_music_from_plan: generate audio from the returned composition_plan - generate_musi","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_voice_from_preview","description":"Save a voice-design preview as a permanent voice on the account. WHEN TO USE: - After design_voice, when the user picks a preview they want to keep - Promote a generated_voice_id into a reusable voice_id for generate_speech EXAMPLE: {\"voice_name\": \"rebel-live-test-stage4\", \"voice_description\": \"calm middle-aged narrator\", \"generated_voice_id\": \"abc123fromPreview\"} RELATED TOOLS: - design_voice: pr","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_dubbing","description":"Permanently delete a dubbing job and its outputs. WHEN TO USE: - Cleanup rebel-live-test-* dubbing jobs after live tests - Remove a failed or unwanted dub from the account EXAMPLE: {\"dubbing_id\": \"dub_abc123\"} RELATED TOOLS: - create_dubbing / get_dubbing / download_dubbed_audio: the dubbing lifecycle RETURNS: ok confirmation. Irreversible. COST: FREE — no generation; permanently removes the dubbi","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_voice","description":"Permanently delete a voice from the ElevenLabs account. WHEN TO USE: - Remove a test or temporary cloned voice (e.g. rebel-live-test-* names) - Free a voice slot after clone_voice EXAMPLE: {\"voice_id\": \"abc123voiceId\"} RELATED TOOLS: - clone_voice: creates voices that should be deleted after testing - list_voices: confirm the voice is gone RETURNS: ok confirmation. This action is irreversible. COS","write_action":true,"price_micros":0,"input_schema":null},{"name":"design_voice","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"download_dubbed_audio","description":"Download dubbed audio for a completed dubbing job. WHEN TO USE: - After get_dubbing reports status dubbed - Fetch the localized track for a target language EXAMPLE: {\"dubbing_id\": \"dub_abc123\", \"language_code\": \"es\"} RELATED TOOLS: - get_dubbing: confirm status is dubbed before downloading - delete_dubbing: cleanup after testing RETURNS: file_path and size_bytes (extension sniffed from Content-Typ","write_action":false,"price_micros":0,"input_schema":null},{"name":"forced_alignment","description":"Align a transcript to audio and return per-word timestamps. WHEN TO USE: - Build karaoke-style captions or precise edit markers from audio + transcript - Verify that spoken words match a provided script EXAMPLE: {\"file_path\": \"/path/to/clip.mp3\", \"text\": \"Hello world.\"} RELATED TOOLS: - transcribe_audio: generate transcript text from audio alone - generate_speech: create audio from text (inverse w","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_music","description":"Generate music from a text prompt using ElevenLabs Music API. WHEN TO USE: - Quick music bed from a genre/mood description - Vocal songs when the prompt includes [Verse]/[Chorus] lyric markers (do not set force_instrumental: true) EXAMPLE: {\"prompt\": \"Upbeat jazz piano, 30 seconds\", \"duration_seconds\": 30} RELATED TOOLS: - create_music_plan / generate_music_from_plan: per-section lyrics and styles","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_music_from_plan","description":"Generate music from a composition plan. WHEN TO USE: - After create_music_plan when you want per-section control over lyrics and styles - When generate_music's single prompt is not precise enough EXAMPLE: pass the composition_plan object from create_music_plan verbatim RELATED TOOLS: - create_music_plan: produces the plan shape this tool expects - check_subscription: confirm credits before generat","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_sound_effect","description":"Generate sound effects from a text description. WHEN TO USE: - Short ambient or UI sounds from a natural-language prompt - Effects for video, games, or presentations EXAMPLE: {\"prompt\": \"Soft rain on a tin roof\", \"duration_seconds\": 3} RELATED TOOLS: - check_subscription: confirm credits before generation RETURNS: file_path, size_bytes, duration_seconds. COST: Credits based on duration (0.5–22 sec","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_speech","description":"Generate spoken audio from text using ElevenLabs text-to-speech. WHEN TO USE: - Turn user text into a playable speech file - Narration, voiceovers, or reading content aloud EXAMPLE: {\"text\": \"Hello world.\", \"voice_id\": \"21m00Tcm4TlvDq8ikWAM\", \"model_id\": \"eleven_v3\"} RELATED TOOLS: - list_voices / search_shared_voices / get_voice: find voice_id - list_models: pick model_id (default eleven_v3) - ch","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_speech_with_timestamps","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dubbing","description":"Poll dubbing job status. Call repeatedly after create_dubbing until status is …. WHEN TO USE: - After create_dubbing — poll every ~10s (respect expected_duration_sec) - Check whether a dub failed before retrying EXAMPLE: {\"dubbing_id\": \"dub_abc123\"} RELATED TOOLS: - create_dubbing: submit the job - download_dubbed_audio: fetch audio when status is dubbed - delete_dubbing: remove test jobs RETURNS:","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_history_item_audio","description":"Re-download the audio of a past generation by history_item_id. WHEN TO USE: - After list_history — fetch the audio file of an earlier generation again - Recover audio that was generated in a previous session EXAMPLE: {\"history_item_id\": \"ja9xsmfGhxYcymxGcOGB\"} RELATED TOOLS: - list_history: find history_item_id values RETURNS: file_path and size_bytes (extension sniffed from Content-Type). COST: F","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_pronunciation_dictionary","description":"Get one pronunciation dictionary's metadata and current rules. WHEN TO USE: - Inspect the rules of a dictionary before adding more or attaching it to a generation - Confirm a brand name is covered EXAMPLE: {\"pronunciation_dictionary_id\": \"5xM3yVvZQKV0EfqQpLrJ\"} RELATED TOOLS: - list_pronunciation_dictionaries: find dictionary IDs - add_pronunciation_dictionary: create a new dictionary RETURNS: id,","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_usage_stats","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_voice","description":"Get full details for one voice by voice_id. WHEN TO USE: - Inspect labels, preview URL, and description before generate_speech - Verify a voice_id still exists after a generation error - Compare a voice from list_voices or search_shared_voices in detail EXAMPLE: {\"voice_id\": \"21m00Tcm4TlvDq8ikWAM\"} RELATED TOOLS: - list_voices: browse account voices when you do not have the voice_id yet - search_s","write_action":false,"price_micros":0,"input_schema":null},{"name":"isolate_audio","description":"Remove background noise from an audio file (audio isolation). WHEN TO USE: - Clean up meeting recordings or voice memos with background noise - Prepare a cleaner clip before transcription or voice cloning - Source audio is at least ~4.6 seconds long (shorter clips fail upstream) COMMON MISTAKES: - Clips under ~4.6 seconds — the API rejects them; trim/merge or pick a longer sample first EXAMPLE: {\"","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_history","description":"List previously generated audio items (speech, sound effects, etc.) on this account. WHEN TO USE: - Find a past generation to re-use (\"that voiceover from last week\") instead of regenerating - Review what text/voice/model a previous generation used EXAMPLE: {\"page_size\": 10} RELATED TOOLS: - get_history_item_audio: re-download the audio of an item from this list - get_usage_stats: aggregate credit","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_models","description":"List ElevenLabs models with languages and capability flags. WHEN TO USE: - Pick a TTS model_id for generate_speech (e.g. eleven_v3, eleven_multilingual_v2) - Verify a model supports the language or capability you need before calling generation tools - Discover model IDs after an invalid model_id error EXAMPLE: {} (no arguments) RELATED TOOLS: - generate_speech: consumes a model_id from this list -","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pronunciation_dictionaries","description":"List pronunciation dictionaries on this account (brand names, jargon, acronyms the TTS voice should pronounce a specific way). WHEN TO USE: - Discover existing pronunciation_dictionary_id values before adding rules or attaching to speech - Check whether a dictionary for a brand or product already exists EXAMPLE: {\"page_size\": 20} RELATED TOOLS: - get_pronunciation_dictionary: inspect one dictionar","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_voices","description":"Search and browse voices on your ElevenLabs account. WHEN TO USE: - Find voice_id values before generate_speech - Filter by category (premade, cloned, generated, professional) - Recover from VOICE_NOT_FOUND by listing what exists on the account EXAMPLE: {\"search\": \"Rachel\", \"page_size\": 5} RELATED TOOLS: - get_voice: full detail for one voice_id from this list - search_shared_voices: browse the pu","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_shared_voices","description":"Search the public ElevenLabs shared voice library. WHEN TO USE: - Discover voices beyond those on the user's account - Filter by language, gender, age, or category before cloning or TTS - Find a voice_id when list_voices returns no match EXAMPLE: {\"search\": \"british narrator\", \"language\": \"en\", \"page_size\": 10} RELATED TOOLS: - list_voices: voices already on the account (faster for owned voices) -","write_action":false,"price_micros":0,"input_schema":null},{"name":"speech_to_speech","description":"Convert an audio clip to sound like a different voice (voice conversion). WHEN TO USE: - Change the speaker voice of an existing recording while preserving timing - Apply a premade or cloned voice_id to source audio the user provides as a file EXAMPLE: {\"audio_path\": \"/path/to/source.mp3\", \"voice_id\": \"21m00Tcm4TlvDq8ikWAM\"} RELATED TOOLS: - list_voices / get_voice: resolve voice_id - generate_spe","write_action":false,"price_micros":0,"input_schema":null},{"name":"text_to_dialogue","description":"Generate multi-voice dialogue audio from a script with one voice per line. WHEN TO USE: - Produce a conversation or script with different speakers - Podcast-style back-and-forth with distinct voices per line EXAMPLE: {\"inputs\": [{\"text\": \"Hello there.\", \"voice_id\": \"21m00Tcm4TlvDq8ikWAM\"}, {\"text\": \"Hi!\", \"voice_id\": \"pNInz6obpgDQGcFmaJgB\"}], \"model_id\": \"eleven_v3\"} RELATED TOOLS: - list_voices: ","write_action":false,"price_micros":0,"input_schema":null},{"name":"transcribe_audio","description":"","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-09-23T04:54:38.847Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T04:54:38.759Z","components":{"code":{"score":25,"max":25,"notes":["59 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 10 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@mindstone/mcp-server-elevenlabs","version":"0.5.2","found":true,"license":"FSL-1.1-MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-18T13:34:58.938Z","repositoryUrl":"git+https://github.com/mindstone/mcp-servers.git","weeklyDownloads":76}],"repo":{"found":true,"owner":"mindstone","repo":"mcp-servers","archived":false,"pushedAt":"2026-09-13T00:54:57Z","stars":12,"forks":4,"openIssues":24,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/58389135?v=4","ownerCreatedAt":"2019-12-01T11:21:22Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/58389135?v=4&s=128","source":"github"},"presence":{"stars":12,"forks":4,"downloadsWeek":76,"license":"NOASSERTION","lastPushAt":"2026-09-13T00:54:57.000Z","score":35}}}},"grade_history":[],"reviews":[]}