MCP ExplorerExplorer

ElevenLabs

@mamertofabianon 13 days ago
93 MIT
FreeCommunity
Media Creation
#ElevenLabs#Text-to-Speech#SvelteKit#TTS
A server that integrates with ElevenLabs text-to-speech API capable of generating full voiceovers with multiple voices.

Overview

What is ElevenLabs

ElevenLabs MCP Server is a server that integrates with the ElevenLabs text-to-speech API, allowing users to generate audio from text. It features both a server component and a sample web-based client built with SvelteKit to manage voice generation tasks.

Use cases

This MCP server can be used for various applications including simple text-to-speech conversion, multi-part script management for audio production, and tracking voice history for playback. It is suitable for content creators, developers, and anyone needing reliable text-to-speech functionality.

How to use

Users can install the server using Smithery or uvx. After setting up the MCP configuration with necessary API keys and parameters, they can run the server. A sample SvelteKit client is provided to facilitate interaction with the server and manage audio tasks conveniently.

Key features

Key features include the ability to generate audio from text with multiple voice options, support for structured scripts, a persistent SQLite database for history storage, and a web-based interface for managing tasks and tracking audio playback.

Where to use

The ElevenLabs MCP Server can be used in a variety of environments, particularly in desktop applications like Claude Desktop, as well as in web applications where users need an interactive platform for text-to-speech tasks.

Content

ElevenLabs MCP Server

smithery badge

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.

ElevenLabs Server 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
    
  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.

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. Accepts either: 1. Plain text string 2. JSON string with format: { "script": [ { "text": "Text to speak", "voice_id": "optional-voice-id", "actor": "optional-actor-name" }, ... ] }
delete_job
Delete a voiceover job and its associated files
get_audio_file
Get the audio file content for a specific job
list_voices
Get a list of all available ElevenLabs voices with metadata
get_voiceover_history
Get voiceover job history. Optionally specify a job ID for a specific job.

Comments