A Model Context Protocol server providing ElevenLabs text-to-speech integration
Project description
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
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):
{
"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
- Copy
.env.example
to.env
and fill in your ElevenLabs credentials
{
"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
- Install dependencies:
pnpm install
- Copy
.env.example
to.env
and configure as needed - Run the web UI:
pnpm 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file elevenlabs_mcp_server-0.1.1.tar.gz
.
File metadata
- Download URL: elevenlabs_mcp_server-0.1.1.tar.gz
- Upload date:
- Size: 108.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38515164097d5bcde71ccb28ef2b895a11afcfa3ed1d0ec9dcb47cad22a644b5 |
|
MD5 | d193195b7d5298900dfd98b19f287c4f |
|
BLAKE2b-256 | 42777d7f198f9d6c9a74d8fd56bcf1251c466cf8c8bf9c72d2a967a13ef6866e |
File details
Details for the file elevenlabs_mcp_server-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: elevenlabs_mcp_server-0.1.1-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f0a04d1c8b5cb02e41c6f2b556a58fc2db17a3e6190a53eb955f2ee73d71308 |
|
MD5 | ea95e7faf39e754cb30d28c301dd8cdb |
|
BLAKE2b-256 | b4e438c9fe43cc066bba816f1fee5e4e17f40d451fe4dc18f5571e684679fdc3 |