Muse Tts Embed — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Muse Tts Embed (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="./banner.png" alt="MUSE TTS Embed" width="800" /> </p>
<p align="center"> <img src="https://readme-typing-svg.demolab.com?font=Montserrat&weight=500&size=22&pause=1200&color=D4AF37¢er=true&vCenter=true&width=980&lines=Your+AI+speaks+%E2%80%94+and+the+voice+stays+in+chat.;Persistent+player+experience%2C+fully+local.;54+voices+on+demand." alt="MUSE TTS Embed tagline" /> </p>
<p align="center"> <a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-D4AF37?style=flat" alt="License: Apache 2.0" /></a> <img src="https://img.shields.io/badge/Python-3.10+-3776AB?style=flat&logo=python&logoColor=white" alt="Python 3.10+" /> <img src="https://img.shields.io/badge/Protocol-Claude%20MCP-000000?style=flat&logo=anthropic&logoColor=white" alt="Claude MCP" /> <img src="https://img.shields.io/badge/TTS-Kokoro--82M-D4AF37?style=flat" alt="Kokoro-82M" /> </p>
<p align="center"> <img src="https://img.shields.io/badge/macOS-Apple%20Silicon-000000?style=flat&logo=apple&logoColor=white" alt="macOS" /> <img src="https://img.shields.io/badge/Windows-supported-0078D4?style=flat&logo=windows&logoColor=white" alt="Windows" /> <img src="https://img.shields.io/badge/Linux-supported-FCC624?style=flat&logo=linux&logoColor=black" alt="Linux" /> <img src="https://img.shields.io/badge/Voices-54-brightgreen?style=flat" alt="54 Voices" /> <img src="https://img.shields.io/badge/Languages-9-brightgreen?style=flat" alt="9 Languages" /> </p>
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.
macOS (Apple Silicon — fastest):
pip install fastmcp mlx_audioWindows / Linux / Intel Mac:
pip install fastmcp kokoro soundfile numpyOn Linux, you also needespeak-ng:sudo apt install espeak-ng
Open Settings > Developer > Edit Config and add:
{
"mcpServers": {
"muse-tts-embed": {
"command": "python3",
"args": ["/path/to/muse-tts-embed/server.py"]
}
}
}Restart Claude Desktop.
Ask Claude to speak anything. Try: "Say hello in a warm voice" or "Read this paragraph aloud"
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"
| Variable | Default | Description |
|---|---|---|
KOKORO_VOICE | am_onyx | Default voice ID |
KOKORO_SPEED | 1.0 | Default speed (0.5 - 2.0) |
MUSE_AUTH_TOKEN | (required for HTTP) | Bearer token for HTTP mode |
MUSE_PORT | 3001 | HTTP server port |
MUSE_HOST | 127.0.0.1 | HTTP bind address |
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.
54 preset voices across 9 languages (American English, British English, Spanish, French, Hindi, Italian, Japanese, Portuguese, Mandarin).
<details> <summary><strong>Full voice list</strong></summary>
| 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 |
</details>
| Tool | What it does |
|---|---|
muse_speak_embed | Speak text with embedded player (preset or cloned voice) |
muse_embed_check | Verify engine, platform, and configuration |
Audio is delivered via structuredContent — bypasses model context, no size limit. The player is a self-contained HTML/JS app.
mlx_audio (Mac M-series) or kokoro + soundfile (any platform)<details> <summary><strong>Troubleshooting</strong></summary>
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.
</details>
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.
<p align="center"> <a href="https://linktr.ee/musestudio95"> <img src="https://img.shields.io/badge/Built%20by-The%20Funkatorium-D4AF37?style=flat" alt="Built by The Funkatorium" /> </a> </p>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.