ElevenLabs MCP Server

by MCP-Mirror

399 downloads Not rated yet
GitHub

About

ElevenLabs MCP Server is a Model Context Protocol (MCP) server that integrates with the ElevenLabs text-to-speech API. It includes a server component and a sample SvelteKit web-based MCP client for managing voice generation tasks.

Explore

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ElevenLabs MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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

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.

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

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "elevenlabs mcp server": {
            "mamertofabian_elevenlabs-mcp-server": {
                "command": "uv",
                "args": [
                    "venv"
                ]
            }
        }
    }
}

McpServers

{
    "mamertofabian_elevenlabs-mcp-server": {
        "command": "uv",
        "args": [
            "venv"
        ]
    }
}

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.

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

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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.