A local text-to-speech MCP server providing high-quality, privacy-first TTS synthesis using macOS Say and Kokoro TTS engines.
- Local Processing: All TTS synthesis happens locally - no data sent to external services
- Multiple Engines:
- macOS Say (fast, built-in, 23 voices, multiple languages)
- Kokoro TTS (high-quality neural synthesis, 21 voices, 8 languages)
- MCP Integration: Works with Claude Desktop and other MCP-compatible clients
- Multi-language Support: 43 languages including English, Spanish, French, Japanese, Chinese, and more
npm installnpm run buildnpm startAdd this configuration to your Claude Desktop settings:
{
"mcpServers": {
"local-tts": {
"command": "node",
"args": ["./dist/server.js"],
"cwd": "/path/to/your/TextToSpeech-MCP"
}
}
}Convert text to speech with customizable options.
Parameters:
text(required): Text to convert (max 50,000 characters)voice(optional): Voice name (e.g., "Alex", "Samantha", "Daniel")engine(optional): "macos", "kokoro", or "auto" (default: "auto")outputFormat(optional): "aiff", "wav", "mp3", "m4a" (default: "aiff")speed(optional): Speed multiplier 0.1-3.0 (default: 1.0)quality(optional): "fast", "balanced", "high" (default: "balanced")
List available voices with filtering options.
Parameters:
engine(optional): "macos", "kokoro", "all" (default: "all")language(optional): Language filter (e.g., "en-us", "es", "fr")gender(optional): "male", "female", "neutral"
Check engine availability and system health.
Play generated audio files with control options.
Parameters:
audioPath(optional): Path to audio file (defaults to most recent)action(optional): "play", "pause", "stop", "resume" (default: "play")
Use the synthesize_text tool to say "Hello, world!" using the default voice.
List all English female voices, then use one to synthesize a greeting.
Synthesize "Bonjour le monde" using a French voice.
npm run build- Build TypeScriptnpm run dev- Build with watch modenpm start- Start the servernpm test- Run tests (coming soon)npm run lint- Run ESLintnpm run format- Format code with Prettier
TTS_OUTPUT_DIR- Audio output directory (default: ./output)TTS_TEMP_DIR- Temporary files directory (default: ./temp)TTS_ENGINE- Default engine: "macos", "kokoro", "auto" (default: "auto")TTS_QUALITY- Default quality: "fast", "balanced", "high" (default: "balanced")
✅ Phase 1 Complete: macOS Say engine with 23 voices ✅ Phase 2 Complete: Kokoro TTS integration with 21 voices 📋 Phase 3 Planned: Batch audio playback and advanced features
npx @modelcontextprotocol/inspector node dist/server.jsThen open http://localhost:5173 to test the server interactively.
- macOS (for macOS Say engine)
- Node.js 18+
- TypeScript
MIT