muse-tts-embed
Click on "Deploy 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., "@muse-tts-embedSay hello in a warm voice"
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.
What Is This?
MUSE TTS Embed gives Claude a persistent audio player — right in the chat. Everything runs on your machine.
Looking for direct audio playback without a player widget? See MUSE TTS Live.
Related MCP server: Kokoro MCP Server
Features
Embedded Player — play, pause, seek, replay
Voice Selector — switch between 54 voices without leaving the conversation
Voice Cloning — drop a WAV, get a clone (~7s)
Speed Control — 0.5x through 2.0x playback
Download — save any generation as WAV or MP3
3 Engines — Kokoro-82M (~1s), IndexTTS-1.5 (Apple Silicon cloning), Chatterbox (cross-platform cloning)
Fully Local — no cloud APIs, no Docker, no subscription
Quick Start
1. Install dependencies
macOS (Apple Silicon — fastest):
pip install fastmcp mlx_audioWindows / Linux / Intel Mac:
pip install fastmcp kokoro soundfile numpyOn Linux, you also need
espeak-ng:sudo apt install espeak-ng
2. Add to Claude Desktop
Open Settings > Developer > Edit Config and add:
{
"mcpServers": {
"muse-tts-embed": {
"command": "python3",
"args": ["/path/to/muse-tts-embed/server.py"]
}
}
}Restart Claude Desktop.
3. Speak
Ask Claude to speak anything. Try: "Say hello in a warm voice" or "Read this paragraph aloud"
Voice Cloning
Add your own reference WAV files to the voices/ directory. They'll be detected on startup.
voices/
my_narrator.wav
interview_voice.wavThen ask Claude: "Speak this using the my_narrator clone"
Or use ref_audio to point to any WAV in voices/ or ~/Downloads/:
"Read this aloud using the reference audio at ~/Downloads/sample.wav"
Configuration
Variable | Default | Description |
|
| Default voice ID |
|
| Default speed (0.5 - 2.0) |
| (required for HTTP) | Bearer token for HTTP mode |
|
| HTTP server port |
|
| HTTP bind address |
HTTP Mode (Web / Mobile)
For Claude Web or Mobile, run the server in HTTP mode behind a tunnel:
export MUSE_AUTH_TOKEN=your-secret-token
python3 server.py --httpThen expose via tunnel (ngrok, cloudflared) and add the URL to Claude's MCP settings.
Browsers block auto-play. The player shows a "click to play" hint — tap play to start.
Voices
54 preset voices across 9 languages (American English, British English, Spanish, French, Hindi, Italian, Japanese, Portuguese, Mandarin).
Language | Female | Male |
American English | af_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky | am_adam, am_echo, am_eric, am_fenrir, am_liam, am_michael, am_onyx, am_puck, am_santa |
British English | bf_alice, bf_emma, bf_isabella, bf_lily | bm_daniel, bm_fable, bm_george, bm_lewis |
Spanish | ef_dora | em_alex, em_santa |
French | ff_siwis | -- |
Hindi | hf_alpha, hf_beta | hm_omega, hm_psi |
Italian | if_sara | im_nicola |
Japanese | jf_alpha, jf_gongitsune, jf_nezumi, jf_tebukuro | jm_kumo |
Portuguese | pf_dora | pm_alex, pm_santa |
Mandarin | zf_xiaobei, zf_xiaoni, zf_xiaoxiao, zf_xiaoyi | zm_yunjian, zm_yunxi, zm_yunxia, zm_yunyang |
Tools
Tool | What it does |
| Speak text with embedded player (preset or cloned voice) |
| Verify engine, platform, and configuration |
How It Works
Audio is delivered via structuredContent — bypasses model context, no size limit. The player is a self-contained HTML/JS app.
Requirements
Python 3.10+
Claude Desktop (latest version with MCP Apps support)
One of:
mlx_audio(Mac M-series) orkokoro+soundfile(any platform)~200MB disk space (model downloads on first use)
Player shows "Generating..." but nothing happens:
Check that the TTS engine is installed. Run muse_embed_check to verify status.
No sound on Web/Mobile: Browsers block auto-play. Click the play button.
"No TTS engine found": See installation above.
Model download is slow: First run downloads ~200MB.
"Text too long" error: Max 2000 characters per generation (~2 minutes of speech). Break longer text into parts.
Player doesn't appear: Update Claude Desktop to the latest version with MCP Apps support.
License
Licensed under the Apache License, Version 2.0.
Copyright 2026 The Funkatorium (Falco & Rook Schäfer). Protected under German Copyright Law (Urheberrechtsgesetz). Jurisdiction: Amtsgericht Berlin.
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn Claude into a creative studio: DNA-locked characters, images, video, voiceover — 55 tools.
Text to speech for your AI. Your AI can send text to Doc Player to read it aloud. You will see a reader window with the text and you can control the playback sentence by sentence. Find an example here: https://documentplayer.com/connect-ai/
AI voice generation: text-to-speech and voice cloning from any MCP client.
Generate AI images, videos, music, SFX & speech in any AI assistant. Results appear inline in chat.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables text-to-speech conversion with smart language detection (using Google TTS for Chinese) and audio file playback with playback controls for Claude Desktop.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides text-to-speech generation using the Kokoro-82M model, enabling AI assistants to generate voiceovers and audio content directly within Claude Desktop and Cursor.14Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables text-to-speech conversion using OpenAI's TTS API, with inline audio playback and history within MCP hosts like Claude.4 npmBSD 4-Clause "Original" or "Old"
- AlicenseAqualityDmaintenanceEnables local text-to-speech synthesis for Claude and Cursor using Supertonic 3, with support for multiple voices, expressions, and languages. No API key or cloud required.3MIT