ElevenLabs MCP Server

ElevenLabs MCP Server

A Model Context Protocol (MCP) server that integrates with ElevenLabs text-to-speech API, featuring both a server component and a sample web-based MCP Client (SvelteKit) for managing voice generation tasks.

<a href="https://glama.ai/mcp/servers/leukzvus7o"><img width="380" height="200" src="https://glama.ai/mcp/servers/leukzvus7o/badge" alt="ElevenLabs Server MCP server" /></a>

Features

  • Generate audio from text using ElevenLabs API
  • Support for multiple voices and script parts
  • SQLite database for persistent history storage
  • Sample SvelteKit MCP Client for:
    • Simple text-to-speech conversion
    • Multi-part script management
    • Voice history tracking and playback
    • Audio file downloads

Installation

Installing via Smithery

To install ElevenLabs MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install elevenlabs-mcp-server --client claude

When using uvx, no specific installation is needed.

Add the following configuration to your MCP settings file (e.g., cline_mcp_settings.json for Claude Desktop):

{ "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" } } } }

Development Installation

  1. Clone this repository
  2. Install dependencies:
    uv venv
  3. Copy .env.example to .env and fill in your ElevenLabs credentials
{ "mcpServers": { "elevenlabs": { "command": "uv", "args": [ "--directory", "path/to/elevenlabs-mcp-server", "run", "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" } } } }

Using the Sample SvelteKit MCP Client

  1. Navigate to the web UI directory:
    cd clients/web-ui
  2. Install dependencies:
    pnpm install
  3. Copy .env.example to .env and configure as needed
  4. Run the web UI:
    pnpm dev
  5. Open http://localhost:5174 in your browser

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 job by its ID
  • get_audio_file: Get the audio file by its ID
  • list_voices: List all available voices
  • get_voiceover_history: Get voiceover job history. Optionally specify a job ID for a specific job.

Available Resources

  • voiceover://history/{job_id}: Get the audio file by its ID
  • voiceover://voices: List all available voices

License

This project is licensed under the MIT License - see the LICENSE file for details.

A
security – no known vulnerabilities (report Issue)
A
license - permissive license
A
quality - confirmed to work

Integrates with ElevenLabs text-to-speech API.

  1. Features
    1. Installation
      1. Installing via Smithery
        1. Using uvx (recommended)
          1. Development Installation
          2. Using the Sample SvelteKit MCP Client
            1. Available Tools
              1. Available Resources
              2. License