ElevenLabs Streaming MCP Server
Generates audio from text using ElevenLabs text-to-speech with streaming support, voice listing, and configurable parameters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ElevenLabs Streaming MCP Serversay 'Welcome to the future' with voice ID 21m00Tcm4TlvDq8ikWAM"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ElevenLabs Streaming MCP Server
A high-performance MCP (Model Context Protocol) server for ElevenLabs text-to-speech with streaming support!
Features
✅ Official ElevenLabs SDK integration
✅ True streaming - no file saving!
✅ Direct pipe to ffplay for instant playback
✅ No token limit issues
✅ Environment-based configuration
✅ Voice listing support
✅ Works with npx - no installation needed!
Related MCP server: ElevenLabs MCP Server
Quick Start
Add to your .mccp.json:
{
"mcpServers": {
"elevenlabs": {
"command": "npx",
"args": ["elevenlabs-streaming-mcp-server"],
"env": {
"ELEVENLABS_API_KEY": "your_api_key_here",
"ELEVENLABS_VOICE_ID": "Au8OOcCmvsCaQpmULvvQ",
"ELEVENLABS_MODEL_ID": "eleven_flash_v2",
"ELEVENLABS_STABILITY": "0.5",
"ELEVENLABS_SIMILARITY_BOOST": "0.75",
"ELEVENLABS_STYLE": "0.1"
}
}
}
}Environment Variables
ELEVENLABS_API_KEY(required): Your ElevenLabs API keyELEVENLABS_VOICE_ID: Default voice ID (default: Rusty Butter's voice)ELEVENLABS_MODEL_ID: Model to use (default: eleven_flash_v2)ELEVENLABS_STABILITY: Voice stability 0-1 (default: 0.5)ELEVENLABS_SIMILARITY_BOOST: Voice similarity 0-1 (default: 0.75)ELEVENLABS_STYLE: Style exaggeration 0-1 (default: 0.1)
Available Tools
generate_audio
Generates audio from text with streaming support:
text(required): Text to convert to speechvoice_id: Override default voicemodel_id: Override default modelplay_audio: Whether to auto-play (default: true)
list_voices
Lists all available ElevenLabs voices with their IDs and descriptions.
Development
npm install
npm run dev # Run with hot reload
npm run build # Build for productionPublishing
npm publishBuilt by Rusty Butter for MAXIMUM STREAMING AUTONOMY! 🚀
Available Tools
2 toolsgenerate_audioB
Generate and stream audio from text using ElevenLabs
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to convert to speech | |
| model_id | No | Model ID to use (default: eleven_flash_v2) | |
| voice_id | No | Voice ID to use (default: Au8OOcCmvsCaQpmULvvQ) | |
| play_audio | No | Whether to play the audio (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. 'Stream audio' is ambiguous—it does not state whether the audio is played on the device, returned as a URL, or both. It also omits side effects like local playback (despite a play_audio parameter) and any API requirements or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundancy. It is front-loaded with the key action and purpose, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters, no annotations, and no output schema. The description does not explain what the stream returns, whether the audio is played locally, or any operational details. Given the lack of structured metadata, the description is insufficiently complete to guide correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear per-parameter descriptions, so the baseline is 3. The description adds no extra meaning beyond the fact that text is converted to speech, which the schema already conveys. No compensation needed for undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('generate and stream') and the resource ('audio from text using ElevenLabs'), which fully distinguishes it from the sibling tool 'list_voices'. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives. The description implies usage for text-to-speech conversion but does not provide exclusions or compare against list_voices. This is implied usage rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_voicesA
List available ElevenLabs voices
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. The verb 'List' implies read-only, non-destructive behavior, but no additional detail is given about response format, accessibility, or any potential side effects. It is minimally transparent but lacks richer context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It conveys exactly the essential information for a parameterless list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity—no parameters, no output schema, and a straightforward purpose—the description is largely complete. It could mention what the returned list contains, but for a basic list operation this is not a critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already fully covers the parameter space. The description does not need to explain parameters, and the baseline of 4 applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with a clear resource ('available ElevenLabs voices'), making the tool's function immediately obvious. It also inherently distinguishes itself from the sibling tool 'generate_audio', which clearly performs a different operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. While the sibling 'generate_audio' suggests a related but distinct use case, the description does not explicitly mention when to prefer this tool or what it cannot do.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.1.1- First observed
generate_audio - First observed
list_voices
TDQS
The two tools have entirely distinct purposes: generate_audio creates audio from text, while list_voices retrieves available voices. There is no overlap or ambiguity between them.
Both tool names follow a clear verb_noun pattern (generate_audio, list_voices), demonstrating consistent and predictable naming.
With only two tools, the set feels thin for a general-purpose MCP server, though it may be acceptable for a focused streaming service. The count is on the low end of the appropriate range.
The tools cover the core generation and voice discovery workflow, but lack voice management (create/update/delete) and more granular streaming controls. There are minor gaps that could force workarounds in more complex scenarios.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
ElevenLabs in natural language: generate speech in any language, create and manage voices, compose m
AI voice generation: text-to-speech and voice cloning from any MCP client.
AI-manageable audio CDN: upload, transcode, normalize, stream & deliver audio, plus grounded docs.
- ChamadeOAuthio.chamade
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
Related MCP Servers
- AlicenseAqualityFmaintenanceIntegrates with ElevenLabs text-to-speech API.6118MIT
- AlicenseAqualityNot gradedmaintenanceEnables interaction with ElevenLabs Text-to-Speech and audio processing APIs. Supports speech generation, voice cloning, audio transcription, and sound effect creation through natural language.24-
- AlicenseAqualityFmaintenanceEnables text-to-speech conversion using ElevenLabs API with voice management, streaming support, and multiple models.51MIT
- AlicenseNot gradedqualityDmaintenanceProvides text-to-speech functionality using OpenAI's TTS API, enabling text-to-speech conversion, voice listing, and model listing.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CodingButter/elevenlabs-streaming-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server