ElevenLabs MCP Server
Give AI agents high-fidelity text-to-speech
About
Open-source ElevenLabs MCP server for text-to-speech in Claude Code, Claude Desktop, and other MCP clients. Run the Python package with uvx to generate scripted multi-voice audio and list available voices. ElevenLabs account and API usage costs are separate.
Set up ElevenLabs MCP Server
You need
- uv installed (provides uvx; it downloads elevenlabs-mcp-server 0.1.2 or later and a Python runtime for you)
- An ElevenLabs API key, set as ELEVENLABS_API_KEY
Check that the server runs
uvx downloads the published elevenlabs-mcp-server package from PyPI and starts it over stdio. No separate install step is needed.
ELEVENLABS_API_KEY=your-api-key uvx elevenlabs-mcp-serverAdd it to Claude Code
Register the server once for your user account so every Claude Code project can generate audio and list voices. Replace your-api-key with your own key; keys typed on the command line are saved in your shell history.
claude mcp add elevenlabs --scope user -e ELEVENLABS_API_KEY=your-api-key -- uvx elevenlabs-mcp-serverAdd it to Claude Desktop or another MCP client
Add this entry to claude_desktop_config.json, or to the MCP settings file of any client that runs stdio servers.
{ "mcpServers": { "elevenlabs": { "command": "uvx", "args": ["elevenlabs-mcp-server"], "env": { "ELEVENLABS_API_KEY": "your-api-key" } } } }Seeing an old version? Refresh once
If uvx keeps starting an older cached copy that fails to start, run this once to download the latest release. Without a key it then exits with "ELEVENLABS_API_KEY environment variable not set", which is expected.
uvx --refresh elevenlabs-mcp-serverOptional voice settings
ELEVENLABS_VOICE_ID, ELEVENLABS_MODEL_ID, ELEVENLABS_STABILITY, ELEVENLABS_SIMILARITY_BOOST, and ELEVENLABS_STYLE have defaults; set them in the same env block to change the voice or model. Generated audio is saved to an output folder in the directory where the server starts.