ElevenLabs MCP Server
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.
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:
1npx -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):
1{ 2 "mcpServers": { 3 "elevenlabs": { 4 "command": "uvx", 5 "args": ["elevenlabs-mcp-server"], 6 "env": { 7 "ELEVENLABS_API_KEY": "your-api-key", 8 "ELEVENLABS_VOICE_ID": "your-voice-id", 9 "ELEVENLABS_MODEL_ID": "eleven_flash_v2", 10 "ELEVENLABS_STABILITY": "0.5", 11 "ELEVENLABS_SIMILARITY_BOOST": "0.75", 12 "ELEVENLABS_STYLE": "0.1", 13 "ELEVENLABS_OUTPUT_DIR": "output" 14 } 15 } 16 } 17}
Development Installation
- Clone this repository
- Install dependencies:
1uv venv
- Copy
.env.example
to.env
and fill in your ElevenLabs credentials
1{ 2 "mcpServers": { 3 "elevenlabs": { 4 "command": "uv", 5 "args": [ 6 "--directory", 7 "path/to/elevenlabs-mcp-server", 8 "run", 9 "elevenlabs-mcp-server" 10 ], 11 "env": { 12 "ELEVENLABS_API_KEY": "your-api-key", 13 "ELEVENLABS_VOICE_ID": "your-voice-id", 14 "ELEVENLABS_MODEL_ID": "eleven_flash_v2", 15 "ELEVENLABS_STABILITY": "0.5", 16 "ELEVENLABS_SIMILARITY_BOOST": "0.75", 17 "ELEVENLABS_STYLE": "0.1", 18 "ELEVENLABS_OUTPUT_DIR": "output" 19 } 20 } 21 } 22}
Using the Sample SvelteKit MCP Client
- Navigate to the web UI directory:
1cd clients/web-ui
- Install dependencies:
1pnpm install
- Copy
.env.example
to.env
and configure as needed - Run the web UI:
1pnpm dev
- Open http://localhost:5174 in your browser
Available Tools
generate_audio_simple
: Generate audio from plain text using default voice settingsgenerate_audio_script
: Generate audio from a structured script with multiple voices and actorsdelete_job
: Delete a job by its IDget_audio_file
: Get the audio file by its IDlist_voices
: List all available voicesget_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 IDvoiceover://voices
: List all available voices
License
This project is licensed under the MIT License - see the LICENSE file for details.