# elevenlabs-mcp-server

> MCP Server

This repository provides an ElevenLabs MCP server for text-to-speech conversion, featuring a SvelteKit client for managing voices, scripts, and audio history. It supports persistent storage and offers easy installation via

## Overview

- **Category:** AI
- **Language:** Python
- **Stars:** 118
- **Forks:** 6
- **Owner:** mamertofabian
- **GitHub:** https://github.com/mamertofabian/elevenlabs-mcp-server
- **Created:** 2024-12-21T02:14:55+00:00
- **Updated:** 2025-03-28T10:02:55+00:00
- **Source:** https://model-context-protocol.com/servers/elevenlabs-text-to-speech-sveltekit-server

## Setup

## Setup

**Installing via Smithery:**

To install ElevenLabs MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/elevenlabs-mcp-server):

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

**Using uvx (recommended):**

When using [`uvx`](https://docs.astral.sh/uv/guides/tools/), no specific installation is needed.

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

```json
{
  "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:
   ```bash
uv venv
   ```
3. Copy `.env.example` to `.env` and fill in your ElevenLabs credentials

```json
{
  "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:
   ```bash
   cd clients/web-ui
   ```
2. Install dependencies:
   ```bash
   pnpm install
   ```
3. Copy `.env.example` to `.env` and configure as needed
4. Run the web UI:
   ```bash
   pnpm dev
   ```
5. Open http://localhost:5174 in your browser

## Tools

## Available Tools

1. `generate_audio_simple` (Generate audio from plain text using default voice settings)
2. `generate_audio_script` (Generate audio from a structured script with multiple voices and actors)
3. `delete_job` (Delete a job by its ID)
4. `get_audio_file` (Get the audio file by its ID)
5. `list_voices` (List all available voices)
6. `get_voiceover_history` (Get voiceover job history. Optionally specify a job ID for a specific job.)
