# elevenlabs-mcp

> MCP Server

ElevenLabs MCP server. Manages model context for optimized AI speech generation. #ElevenLabs #AI #TTS #MCP

## Overview

- **Category:** Communication
- **Language:** Python
- **Stars:** 1523
- **Forks:** 103
- **Owner:** elevenlabs
- **GitHub:** https://github.com/elevenlabs/elevenlabs-mcp
- **Homepage:** https://elevenlabs.io/blog/introducing-elevenlabs-mcp
- **Created:** 2025-03-14T13:28:17+00:00
- **Updated:** 2025-07-07T12:34:22+00:00
- **Source:** https://model-context-protocol.com/servers/elevenlabs-mcp

## Setup

## Setup

This section provides instructions for setting up the ElevenLabs MCP server for different MCP clients.

### Prerequisites

*   An ElevenLabs account and API key. You can obtain an API key from the [ElevenLabs website](https://elevenlabs.io/app/settings/api-keys). A free tier with 10k credits per month is available.
*   Python 3.7 or higher.
*   `uv` package manager (recommended) or `pip`.

### Installation

#### Using `uv` (Recommended)

1.  Install `uv`.  Use the following command:

    ```bash
    curl -LsSf https://astral.sh/uv/install.sh | sh
    ```

    Refer to the `uv` [repository](https://github.com/astral-sh/uv) for alternative installation methods.

#### Using `pip`

1.  Install the `elevenlabs-mcp` package using `pip`:

    ```bash
    pip install elevenlabs-mcp
    ```

### Configuration

Configuration steps vary depending on the MCP client you are using.

#### Claude Desktop

1.  Open Claude Desktop settings.
2.  Navigate to: Settings > Developer > Edit Config > `claude_desktop_config.json`.
3.  Add the following configuration to the `claude_desktop_config.json` file:

    ```json
    {
      "mcpServers": {
        "ElevenLabs": {
          "command": "uvx",
          "args": ["elevenlabs-mcp"],
          "env": {
            "ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
          }
        }
      }
    }
    ```

    Replace `<insert-your-api-key-here>` with your actual ElevenLabs API key.

    *   **Windows Users:** Enable "Developer Mode" in Claude Desktop (Help > Enable Developer Mode).

#### Other MCP Clients (Cursor, Windsurf, etc.)

1.  After installing the package, run the following command to generate the configuration:

    ```bash
    python -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --print
    ```

    Replace `{{PUT_YOUR_API_KEY_HERE}}` with your actual ElevenLabs API key.
2.  Copy the output configuration and paste it into the appropriate configuration directory specified by your MCP client.

### Environment Variables

*   **`ELEVENLABS_API_KEY`**:  (Required) Your ElevenLabs API key.  This is used to authenticate with the ElevenLabs API.  Set this in the `env` section of your MCP client's configuration (as shown in the Claude Desktop example) or as a system environment variable.
*   **`ELEVENLABS_MCP_BASE_PATH`**: (Optional) Specifies the base path the MCP server should use for relative file paths.  Set this in the `env` section of your MCP client's configuration.

## Tools

## Available Tools

The ElevenLabs MCP server provides the following tools for interacting with the ElevenLabs API:

*   **Text to Speech:** Generates speech from text using a variety of voices.
    *   Example Usage: "Create an AI agent that speaks like a film noir detective and can answer questions about classic movies"
*   **Voice Cloning:** Clones voices to create new, personalized voices.
    *   Example Usage: "Generate three voice variations for a wise, ancient dragon character, then I will choose my favorite voice to add to my voice library"
*   **Voice Conversion:** Converts audio recordings of voices to sound like another voice.
    *   Example Usage: "Convert this recording of my voice to sound like a medieval knight"
*   **Soundscape Generation:** Creates soundscapes based on descriptions.
    *   Example Usage: "Create a soundscape of a thunderstorm in a dense jungle with animals reacting to the weather"
*   **Speech to Text (Transcription):** Transcribes audio into text and can identify different speakers.
    *   Example Usage: "Turn this speech into text, identify different speakers, then convert it back using unique voices for each person"
