Get the FREE Ultimate OpenClaw Setup Guide →

elevenlabs

MCP server from mamertofabian/elevenlabs-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio mamertofabian-elevenlabs-mcp-server uvx elevenlabs-mcp-server \
  --env ELEVENLABS_STYLE="0.1" \
  --env ELEVENLABS_API_KEY="your-api-key" \
  --env ELEVENLABS_MODEL_ID="eleven_flash_v2" \
  --env ELEVENLABS_VOICE_ID="your-voice-id" \
  --env ELEVENLABS_STABILITY="0.5" \
  --env ELEVENLABS_OUTPUT_DIR="output" \
  --env ELEVENLABS_SIMILARITY_BOOST="0.75"

How to use

This MCP server provides an integration with the ElevenLabs text-to-speech API. It exposes a service that can generate audio from plain text or from structured scripts, supporting multiple voices and actors, and stores a persistent history in SQLite. A sample web-based MCP Client (SvelteKit) is included to manage voice generation tasks, view history, and download audio files. To use it, configure your MCP settings to point at the elevenlabs-mcp-server executable via uvx, and supply your ElevenLabs API credentials and preferences through environment variables. Once running, you can submit text or script inputs to generate audio, list available voices, and retrieve generated audio by job or file ID. The included web UI provides a user-friendly way to compose multi-voice scripts, track history, and download outputs.

How to install

Prerequisites:

  • Python and uv (uvx) installed on your system
  • An ElevenLabs API key and access to a voice/model you want to use
  • Node.js is not required for this MCP server (uvx-based installation is recommended)

Installation steps (uvx-based):

  1. Clone this repository: git clone https://github.com/slug/mamertofabian-elevenlabs-mcp-server.git cd mamertofabian-elevenlabs-mcp-server

  2. Install dependencies (if needed by the server package):

    • This MCP server uses uvx to run the server binary/package. Ensure uvx is installed: uvx --version
  3. Prepare environment variables and settings:

    • Create or edit your MCP settings file (e.g., cline_mcp_settings.json) and add the elevenlabs server entry as shown: { "mcpServers": { "elevenlabs": { "command": "uvx", "args": ["elevenlabs-mcp-server"], "env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_VOICE_ID": "your-voice-id", "ELEVENLABS_MODEL_ID": "eleven_flash_v2", "ELEVENLABS_STABILITY": "0.5", "ELEVENLABS_SIMILARITY_BOOST": "0.75", "ELEVENLABS_STYLE": "0.1", "ELEVENLABS_OUTPUT_DIR": "output" } } } }
  4. Run the server using uvx as configured in your settings: uvx --directory path/to/elevenlabs-mcp-server run elevenlabs-mcp-server

  5. Alternatively, if you are developing locally, copy the example environment file and populate credentials: cp .env.example .env

    edit .env to include ELEVENLABS_API_KEY, ELEVENLABS_VOICE_ID, etc.

Notes:

  • The exact command may vary depending on how you host the ElevenLabs MCP server package. Adjust the args accordingly if your setup differs from the example.

Additional notes

Tips and common issues:

  • Ensure ELEVENLABS_API_KEY and related credentials are valid and have access to the selected voice/model.
  • The OUTPUT_DIR should be writable by the user running the MCP server.
  • If you encounter authentication errors, double-check API key placement in environment variables and consider regenerating keys.
  • When using the sample web client, start it from the clients/web-ui directory and ensure it can reach the MCP server endpoint.
  • For scripts, you can use multi-voice scripts and specify different actors/voices per segment. Review the available voices via the get_voiceover_history/ list_voices tools in the UI.
  • If upgrading from a previous version, migrate any configuration formats to the current mcpServers schema.

Related MCP Servers

Sponsor this space

Reach thousands of developers