Skip to main content
Glama
CryptoDappDev

Piper TTS MCP Server

🎀 Piper TTS MCP Server

A Model Context Protocol (MCP) server that integrates Piper TTS for high-quality text-to-speech functionality. This server provides a speak tool that converts text to speech and plays it directly through your speakers with customizable volume control.

✨ Features

  • πŸ”Š High-quality text-to-speech using Piper TTS

  • 🎚️ Volume control (0.01 to 1.00)

  • ⚑ Memory-based audio playback (no temporary files)

  • πŸ”§ Customizable voice parameters (speaker, speed, voice variation)

  • πŸš€ Fast and lightweight MCP integration

  • πŸ”‡ Silent operation (no console output)

Related MCP server: Tripo MCP Server

πŸ“‹ Requirements

⚠️ Important Prerequisites:

  • Python 3.12+ installed on your system

  • Piper TTS service running on localhost:5000

You can set this up using the included Docker configuration or by running Piper TTS separately.

πŸš€ Quick Start

1. 🐳 Start Piper TTS Service

Clone this repo and start the TTS service:

git clone https://github.com/CryptoDappDev/piper-tts-mcp.git cd piper-tts-mcp

Option A: Using Docker Compose (Recommended)

docker compose up -d

Option B: Using Docker Build

docker build -t piper-tts-mcp . docker run -p 5000:5000 piper-tts-mcp

2. πŸ”§ Configure MCP Client

Add the server to your MCP configuration (e.g., .mcp.json for Claude Desktop):

{ "mcpServers": { "speak": { "command": "uv", "args": [ "--directory", "/path/to/your/piper-tts-mcp", "run", "server.py" ] } } }

3. πŸŽ‰ Enjoy!

The speak tool is now available in your MCP client!

πŸ› οΈ Usage

The MCP server provides a speak tool with the following parameters:

Parameter

Type

Default

Description

text

string

required

Text to convert to speech

speaker_id

int

0

Voice speaker ID

length_scale

float

1.1

Speech speed (lower = faster)

noise_scale

float

0.667

Voice variation control

noise_w_scale

float

0.333

Pronunciation variation

volume

float

0.15

Volume level (0.01 to 1.00)

Example Usage

# Basic usage speak("Hello, world!") # With custom volume speak("This is louder!", volume=0.5) # With custom voice settings speak("Fast and varied speech", length_scale=0.8, volume=0.3, noise_scale=0.8)

πŸ”§ Development

Dependencies

  • Python 3.12+

  • mcp[cli] - MCP framework

  • requests - HTTP client for TTS API

  • pygame - Audio playback

Local Development

# Install dependencies uv sync # Run the server uv run server.py

πŸ“¦ Docker Configuration

The included Docker setup provides:

  • Piper TTS service on port 5000

  • Pre-configured voice models

  • Automatic startup

πŸŽ™οΈ Voice Models

The default voice model used in this repository is en_GB-cori-high (British English, female voice).

πŸ” Exploring Voice Options

πŸ› οΈ Changing Voice Models

To use a different voice model:

  1. Choose a voice from the voice samples page

  2. Update the Dockerfile - Replace en_GB-cori-high with your chosen voice model:

    # Download your preferred voice model RUN python3 -m piper.download_voices your-chosen-voice-model # Update the server command CMD ["sh", "-c", "python3 -m piper.http_server -m your-chosen-voice-model"]
  3. Rebuild the Docker image:

    docker build -t piper-tts-mcp . docker compose up -d

🎨 Creating Custom Voices

Creating your own custom voice requires additional effort and research. Please refer to the Piper documentation for guidance on voice training and customization.

🀝 Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

πŸ“„ License

This project is open source and available under the MIT License.

πŸ™ Acknowledgments


Made with ❀️ for the MCP community

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CryptoDappDev/piper-tts-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server