ElevenLabs MCP server. Manages model context for optimized AI speech generation. #ElevenLabs #AI #TTS #MCP
# ElevenLabs Model Context Protocol (MCP) Server
<div align="center">
[](https://discord.gg/elevenlabs)
[](https://x.com/ElevenLabsDevs)
[](https://pypi.org/project/elevenlabs-mcp)
[](https://github.com/elevenlabs/elevenlabs-mcp-server/actions/workflows/test.yml)
</div>
This repository provides the official ElevenLabs [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol) server, enabling seamless integration of ElevenLabs' powerful Text-to-Speech (TTS) and audio processing APIs with MCP-compatible clients. This allows applications like [Claude Desktop](https://www.anthropic.com/claude), [Cursor](https://www.cursor.so), [Windsurf](https://codeium.com/windsurf), and [OpenAI Agents](https://github.com/openai/openai-agents-python) to leverage ElevenLabs' capabilities for speech generation, voice cloning, audio transcription, and more.
## Getting Started
This guide provides instructions for setting up the ElevenLabs MCP server with different MCP clients.
### Prerequisites
* An [ElevenLabs account](https://elevenlabs.io/app/settings/api-keys) with an API key. A free tier is available with 10,000 credits per month.
* Python 3.7+
### Installation
Install the `elevenlabs-mcp` package using pip:
```bash
pip install elevenlabs-mcp
This section details how to configure the ElevenLabs MCP server for use with Claude Desktop.
uv
: uv
is a fast Python package installer and resolver. Install it using:curl -LsSf https://astral.sh/uv/install.sh | sh
Refer to the uv
repository for alternative installation methods.Claude > Settings > Developer > Edit Config > claude_desktop_config.json
and add the following configuration block:{
"mcpServers": {
"ElevenLabs": {
"command": "uvx",
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
}
}
}
}
<insert-your-api-key-here>
with your actual ElevenLabs API key.For other MCP clients, follow these steps:
pip install elevenlabs-mcp
python -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --print
{{PUT_YOUR_API_KEY_HERE}}
with your actual ElevenLabs API key.Once configured, your MCP client can now interact with ElevenLabs. Here are some example prompts you can try:
Important: Using these tools consumes ElevenLabs credits.
ELEVENLABS_MCP_BASE_PATH
Environment VariableYou can use the ELEVENLABS_MCP_BASE_PATH
environment variable to specify the base directory for relative file paths used by the MCP server. This is useful for managing input and output files. Add this variable to the claude_desktop_config.json
file (or your client's configuration) as needed.
If you'd like to contribute to the project or run the server from source:
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
uv
for dependency management.uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
.env.example
file to .env
and add your ElevenLabs API key:cp .env.example .env
# Edit .env and add your API key
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
mcp install elevenlabs_mcp/server.py
mcp dev elevenlabs_mcp/server.py
Logs for the ElevenLabs MCP server when running with Claude Desktop can be found at:
%APPDATA%\Claude\logs\mcp-server-elevenlabs.log
~/Library/Logs/Claude/mcp-server-elevenlabs.log
Some ElevenLabs API operations (e.g., voice design, audio isolation) can take a significant amount of time. When using the MCP inspector in development mode, you might encounter timeout errors even if the tool completes successfully. This is less likely to occur when using a client like Claude.
This error indicates that the uvx
executable cannot be found. To resolve this:
uvx
by running the following command in your terminal:which uvx
command
field in your claude_desktop_config.json
(or equivalent) with the absolute path obtained in the previous step. For example:{
"mcpServers": {
"ElevenLabs": {
"command": "/usr/local/bin/uvx", // Example path
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
}
}
}
}
This ensures that the correct executable is being referenced.
elevenlabs/elevenlabs-mcp
March 14, 2025
July 7, 2025
Python