generate_audio_simpleLABSCO SUMMARY
Scripts, not just single lines — and a history that outlives the session.
The multi-part script job is what separates it from a one-shot speak call: a dialogue with a different voice per part is one submission, and the SQLite history means yesterday's renders are still findable.
What it is
A text-to-speech server for the ElevenLabs API with a persistent history. Single lines and full scripts are both supported, generated files are retrievable afterwards, and every job is kept in a local SQLite database.
What you get
- A line of text spoken in your configured voice, in one call
- A multi-part script generated as a job, with parts able to use different voices
- The voices available on your account listed, so a voice is chosen rather than guessed
- Generated audio files fetched back by reference
- A voiceover history that survives restarts, and jobs deleted from it when they are no longer wanted
Requirements
uvx elevenlabs-mcp-server, with no separate install needed. An ElevenLabs API key as ELEVENLABS_API_KEY, plus ELEVENLABS_VOICE_ID and ELEVENLABS_MODEL_ID; stability, similarity boost and style sit in the same config, and ELEVENLABS_OUTPUT_DIR decides where files land. A sample SvelteKit client ships with the repo if you want a browser view of the history.
Setup effort
Add the configuration to your client
USE CASES
Narrating something you just wrote
Pass the text and get audio back in the voice already configured, written to the output directory you set.
Producing a scene with more than one speaker
Submit the script as parts, each with its own voice, and collect the result as one job.
Choosing a voice before you commit to it
List the voices on your own account instead of pasting an ID you found somewhere.
Finding a render you made last week
The history persists, so an earlier job is retrievable by looking rather than by regenerating it.
Clearing out the takes you did not keep
Delete the jobs that were experiments, so the history is only the work you kept.
6 tools
Listed in project docs. Your client may show a different list.
generate_audio_scriptdelete_jobget_audio_filelist_voicesget_voiceover_historyBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
- uvx on PATH
- ELEVENLABS_API_KEY in your environment
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
MCP Clients
Claude Desktop
{
"mcpServers": {
"elevenlabs": {
"command": "uvx",
"args": [
"elevenlabs-mcp-server"
],
"env": {
"ELEVENLABS_API_KEY": "<YOUR_ELEVENLABS_API_KEY>",
"ELEVENLABS_VOICE_ID": "<YOUR_ELEVENLABS_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"
}
}
}
}Claude Desktop — local build
{
"mcpServers": {
"elevenlabs": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_ELEVENLABS_MCP_SERVER>",
"run",
"elevenlabs-mcp-server"
],
"env": {
"ELEVENLABS_API_KEY": "<YOUR_ELEVENLABS_API_KEY>",
"ELEVENLABS_VOICE_ID": "<YOUR_ELEVENLABS_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"
}
}
}
}