TextToSpeech-MCP Server

by SmartLittleApps

330 downloads
Not rated
GitHub

About

Local text-to-speech MCP server with dual engines (macOS Say + Kokoro TTS) for Claude Desktop

Details

Author
SmartLittleApps
Downloads
330
Categories
Other

- All TTS synthesis happens locally – no data leaves your machine
- Two engines: macOS Say (23 voices) and Kokoro TTS (21 voices)
- Supports 43 languages including English, Spanish, French, Japanese, Chinese
- Customizable output formats: aiff, wav, mp3, m4a
- Adjustable speech speed (0.1–3.0) and quality (fast, balanced, high)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name TextToSpeech-MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies with npm install, build with npm run build, and test with npm start. For Claude Desktop, add the provided JSON configuration to your settings. Use tools like synthesize_text, list_voices, health_check, and play_audio to convert text to speech, manage voices, and control playback.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "texttospeech-mcp server": {
            "local-tts-mcp": {
                "command": "npx",
                "args": [
                    "@modelcontextprotocol/inspector",
                    "node",
                    "dist/server.js"
                ]
            }
        }
    }
}

McpServers

{
    "local-tts-mcp": {
        "command": "npx",
        "args": [
            "@modelcontextprotocol/inspector",
            "node",
            "dist/server.js"
        ]
    }
}

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.