MCP Connector

Generate Speech from Text with ElevenLabs

Generates ElevenLabs text-to-speech audio - simple or multi-voice scripts - with persistent SQLite job history and a sample web UI.

Works with elevenlabs

91
Spark score
out of 100
Updated Jan 2025
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Integrate ElevenLabs text-to-speech capabilities into your applications. Generate high-quality audio from scripts or simple text, manage multiple voices, and store voiceover history.

Outcomes

What it gets done

01

Generate audio from plain text.

02

Create audio from multi-voice scripts.

03

Manage and retrieve voiceover history.

04

List available voices for generation.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-elevenlabs | bash

Capabilities

Tools your agent gets

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 an audio file by its ID

list_voices

List all available voices

get_voiceover_history

Get voiceover job history, optionally filtered by job ID

Overview

ElevenLabs MCP Server

This MCP server generates ElevenLabs text-to-speech audio, either simple narration or multi-voice scripts, with a persistent SQLite job history and an optional sample web UI for browsing and playback. Use it to generate spoken audio from text or scripts via an AI assistant, with history tracking. Requires an ElevenLabs API key and configured voice/model.

What it does

ElevenLabs MCP Server integrates the ElevenLabs text-to-speech API into MCP clients, generating audio from plain text or from structured multi-part scripts with multiple voices/actors. It stores voice generation history persistently in a SQLite database, and ships with a sample SvelteKit web client for simple text-to-speech conversion, multi-part script management, history tracking/playback, and audio file downloads.

When to use - and when NOT to

Use this when you want an AI assistant to generate spoken audio - a simple narration, or a multi-character script with different voices per part - and keep a queryable history of past voiceover jobs. It requires an ElevenLabs API key and a configured default voice/model; voice quality and cost are governed by your ElevenLabs plan and the model chosen (e.g. eleven_flash_v2). The sample web UI is optional tooling for browsing history and playing back audio - the MCP server itself works with any MCP client, not just that UI.

Capabilities

  • generate_audio_simple(text) - generate audio from plain text with default voice settings
  • generate_audio_script(...) - generate audio from a structured, multi-voice script
  • list_voices - list all available ElevenLabs voices
  • get_voiceover_history(job_id?) - retrieve voiceover job history, optionally for a specific job
  • get_audio_file(id) - retrieve a generated audio file by ID
  • delete_job(id) - delete a job by ID

Resources: voiceover://history/{job_id}, voiceover://voices.

How to install

Via Smithery:

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

Or via uvx:

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

For the optional sample web UI: cd clients/web-ui && pnpm install && pnpm dev, then open http://localhost:5174.

Who it's for

Developers building voice-generation workflows - narration, multi-character scripts, audiobook-style content - who want ElevenLabs text-to-speech callable from an AI assistant with persistent job history. Licensed MIT.

Source README

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

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.