EL

ElevenLabs

Created 6 months ago

A Model Context Protocol (MCP) server that integrates with ElevenLabs text-to-speech API.

development documentation public text-to-speech API

What is ElevenLabs?

A server that integrates with ElevenLabs text-to-speech API capable of generating full voiceovers with multiple voices.

Documentation

ElevenLabs MCP Server

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

Using uvx (recommended)

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
  1. 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
  1. Install dependencies:
pnpm install
  1. Copy .env.example to .env and configure as needed
  2. Run the web UI:
pnpm dev
  1. 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.

Server Config

{
  "mcpServers": {
    "elevenlabs-server": {
      "command": "npx",
      "args": [
        "elevenlabs"
      ]
    }
  }
}

Links & Status

Repository: github.com
Hosted: No
Global: No
Official: No

Project Info

Hosted Featured
Created At: May 23, 2025
Updated At: Aug 07, 2025
Author: mamertofabian
Category: community
License: MIT License
Tags:
development documentation public