home / mcp / elevenlabs mcp server

ElevenLabs MCP Server

MCP server that integrates with ElevenLabs TTS, providing audio generation, multi-voice scripting, and history with a sample web client.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "mamertofabian-elevenlabs-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli",
        "install",
        "elevenlabs-mcp-server",
        "--client",
        "claude"
      ],
      "env": {
        "ELEVENLABS_STYLE": "0.1",
        "ELEVENLABS_API_KEY": "YOUR_API_KEY",
        "ELEVENLABS_MODEL_ID": "eleven_flash_v2",
        "ELEVENLABS_VOICE_ID": "YOUR_VOICE_ID",
        "ELEVENLABS_STABILITY": "0.5",
        "ELEVENLABS_OUTPUT_DIR": "output",
        "ELEVENLABS_SIMILARITY_BOOST": "0.75"
      }
    }
  }
}

You run an MCP server that talks to ElevenLabs text-to-speech, enabling you to generate audio from text, manage multiple voices and script parts, and keep a persistent history. It includes a sample web client to manage voice generation tasks and downloads, making it easy to automate and organize voice assets across projects.

How to use

Install or run the ElevenLabs MCP Server and connect it to an MCP client. You can generate audio from plain text or from structured scripts with multiple voices and actors. You’ll access a voice library, review history, and download produced audio files.

Using with an MCP client

Once the server is running, use your MCP client to perform common tasks: generate audio from text, create multi-voice scripts, delete jobs, fetch audio files, and list available voices. You can also retrieve voiceover history to replay or re-download previous outputs.

Notes on security and credentials

Keep your ElevenLabs API key and related identifiers secure. Do not expose keys in client-side code or shared configurations. Use environment variables as shown in the configuration examples to keep secrets out of source control.

Troubleshooting tips

If audio output fails, verify that your API key and voice IDs are correct, and that the server process has network access to ElevenLabs. Check the output directory exists and is writable, and review your environment variable values for any typographical errors.

Configuration and environment overview

The server runs as a standard MCP server process. You’ll provide API credentials and configuration through environment variables, and you may choose to run the server directly on your machine or via a container/runtime like uvx.

Available endpoints in the sample client

The sample SvelteKit client supports a set of actions to manage voice generation and history: generate_audio_simple, generate_audio_script, delete_job, get_audio_file, list_voices, and get_voiceover_history. It also provides routes to access voice history and the voice list for quick selection.

Getting audio files and history

From the client, you can fetch an audio file by its ID and review the history of generated voiceovers. History entries enable playback or re-downloads of prior outputs.

Available tools

generate_audio_simple

Generate audio from plain text using default voice settings.

generate_audio_script

Generate audio from a structured script with multiple voices and actors.

delete_job

Delete a voice generation job by its ID.

get_audio_file

Retrieve the generated audio file by its ID.

list_voices

List all available voices for selection.

get_voiceover_history

Fetch the history of voiceover jobs; optionally target a specific job by ID.