mcpField
T
TextToSpeech-MCP Server

TextToSpeech-MCP Server

Local
github.com/SmartLittleAppsMedia & Design3Updated 74w ago

About TextToSpeech-MCP Server

TextToSpeech-MCP Server is a local text-to-speech MCP server using macOS Say and Kokoro TTS. It is for users who want on-device synthesis, with tools for voice discovery, engine checks, and playback control.

Key features

  1. 01Use macOS Say and Kokoro TTS
  2. 02Synthesize speech locally
  3. 03Choose voice, language, format, and speed
  4. 04Filter available voices
  5. 05Check engines and control playback

Use cases

  1. 01Convert text into speech audio
  2. 02Find voices by language or gender
  3. 03Check TTS engines and play generated audio

MCP support

The MCP server exposes tools for speech synthesis, voice listing, health checks, and audio playback to compatible clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"local-tts": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
Run commandnpx -y @modelcontextprotocol/inspector

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@modelcontextprotocol/inspector

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

TextToSpeech-MCP Server

A local text-to-speech MCP server providing high-quality, privacy-first TTS synthesis using macOS Say and Kokoro TTS engines.

Features

  • 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

Quick Start

1. Install Dependencies
npm install
2. Build the Project
npm run build
3. Test the Server
npm start
4. Configure Claude Desktop

Add this configuration to your Claude Desktop settings:

{
  "mcpServers": {
    "local-tts": {
      "command": "node",
      "args": ["./dist/server.js"],
      "cwd": "/path/to/your/TextToSpeech-MCP"
    }
  }
}

Available Tools

synthesize_text

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_voices

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"
health_check

Check engine availability and system health.

play_audio

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")

Example Usage

Basic Synthesis
Use the synthesize_text tool to say "Hello, world!" using the default voice.
Voice Selection
List all English female voices, then use one to synthesize a greeting.
Multi-language
Synthesize "Bonjour le monde" using a French voice.

Development

Available Scripts
  • npm run build - Build TypeScript
  • npm run dev - Build with watch mode
  • npm start - Start the server
  • npm test - Run tests (coming soon)
  • npm run lint - Run ESLint
  • npm run format - Format code with Prettier
Environment Variables
  • 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")

Status

✅ 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

Testing with MCP Inspector

npx @modelcontextprotocol/inspector node dist/server.js

Then open http://localhost:5173 to test the server interactively.

Requirements

  • macOS (for macOS Say engine)
  • Node.js 18+
  • TypeScript

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.