SnirRadomsky/tts-mcp-server
If you are the rightful owner of tts-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Text-to-Speech MCP Server for Claude Desktop with ElevenLabs v3 support and custom voice integration.
speak_text
Convert text to speech using various TTS services.
list_voices
List available voices on the system.
TTS MCP Server
A Text-to-Speech MCP (Model Context Protocol) Server for Claude Desktop with ElevenLabs v3 support and custom voice integration.
š Features
- ElevenLabs v3 Integration: Most advanced TTS model with superior quality
- Custom Voice Support: Pre-configured with custom Hebrew voice
- Audio Tags: Express emotions and speech styles with special tags
- Multi-TTS Support: System TTS, Google TTS, eSpeak, and ElevenLabs
- Multilingual: Supports 70+ languages including Hebrew
- MCP Integration: Seamless integration with Claude Desktop
š Audio Tags for Expressive Speech
ElevenLabs v3 supports special audio tags for more natural speech:
Emotions:
[excited]
- Excited delivery[sad]
- Sad, melancholy tone[angry]
- Angry, frustrated tone[happy]
- Happy, cheerful tone[nervous]
- Nervous, anxious tone
Speech Styles:
[whispers]
- Whispered speech[shouting]
- Loud delivery[sighs]
- Add sighs to speech[laughs]
- Natural laughter[pause]
- Natural pause
š¦ Installation
-
Clone the repository:
git clone https://github.com/SnirRadomsky/tts-mcp-server.git cd tts-mcp-server
-
Install dependencies:
npm install
-
Configure environment:
cp .env.example .env # Edit .env with your ElevenLabs API key
-
Add to Claude Desktop config:
Add to your Claude Desktop
claude_desktop_config.json
:{ "mcpServers": { "tts": { "command": "node", "args": ["/path/to/tts-mcp-server/index.js"] } } }
šÆ Usage Examples
Basic Usage:
"Use ElevenLabs to speak: Hello, this is my custom voice!"
With Emotions:
"Use ElevenLabs to speak: [excited] Hello everyone! [pause] This is amazing!"
Hebrew with Expression:
"Use ElevenLabs to speak: [happy] ש×××, ××× ×©××××? [sighs] ×× ××××Ŗ × ××ר!"
Storytelling:
"Use ElevenLabs to speak: [whispers] Once upon a time... [pause] [excited] there was a magical kingdom!"
š ļø Available TTS Services
Service | Description | Best For |
---|---|---|
elevenlabs | Premium AI voice synthesis | Natural, expressive speech |
system | Built-in system TTS | Quick, offline usage |
gtts | Google Text-to-Speech | Free, good quality |
espeak | Open-source TTS | Lightweight, fast |
š§ Configuration
Environment Variables
# ElevenLabs Configuration
ELEVENLABS_API_KEY=your_api_key_here
DEFAULT_VOICE_ID=NxntAy2oHYkBlK5VbKgU
# Voice Settings
VOICE_STABILITY=0.5 # Voice consistency (0.0-1.0)
VOICE_SIMILARITY=0.5 # Voice similarity (0.0-1.0)
VOICE_STYLE=0.0 # Voice style exaggeration (0.0-1.0)
USE_SPEAKER_BOOST=true # Enhance speaker clarity
Available Models
eleven_v3
(default) - Most expressive, highest qualityeleven_multilingual_v2
- Stable multilingual supporteleven_flash_v2_5
- Fast, low latencyeleven_turbo_v2_5
- Balanced quality and speed
š API Reference
Tools Available
speak_text
Convert text to speech using various TTS services.
Parameters:
text
(string, required): Text to convert to speechservice
(string, optional): TTS service (elevenlabs
,system
,gtts
,espeak
)voice
(string, optional): Voice to usemodel
(string, optional): ElevenLabs model to userate
(number, optional): Speech rate (0.1-2.0)
list_voices
List available voices on the system.
š Features of ElevenLabs v3
- 10,000 Character Limit: Support for longer text
- 70+ Languages: Including Hebrew, Arabic, and more
- Advanced Emotions: Natural emotional expression
- Audio Tags: Special tags for expressive speech
- Custom Voice: Pre-configured with your personal voice
š Getting Started
-
Test Basic Functionality:
"Use ElevenLabs to speak: Hello, this is a test!"
-
Try Audio Tags:
"Use ElevenLabs to speak: [excited] This is amazing!"
-
Test Hebrew:
"Use ElevenLabs to speak: ש××× ×¢×××!"
š Security
- API keys are stored in environment variables
.env
file is excluded from version control- No sensitive data is logged
š Development
Project Structure
tts-mcp-server/
āāā index.js # Main MCP server
āāā package.json # Dependencies and scripts
āāā .env.example # Environment template
āāā USAGE.md # Detailed usage guide
āāā project-docs/ # Additional documentation
Running in Development
npm run dev
š¤ Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
š License
MIT License - see LICENSE file for details.
š Support
For issues and questions:
- Check the guide
- Review Claude Desktop MCP documentation
- Open an issue on GitHub
š Acknowledgments
- Built with @modelcontextprotocol/sdk
- Powered by ElevenLabs v3 API
- Designed for seamless Claude Desktop integration