Zonos-TTS-MCP
by: PhialsBasement
MCP server that allows Claude to have a voice.
📌Overview
Purpose: To integrate a Model Context Protocol for Zonos TTS, enabling Claude to generate speech directly.
Overview: The Zonos MCP Integration is designed to facilitate text-to-speech functionality through Claude by utilizing the Model Context Protocol, allowing for nuanced speech output with multi-language and emotional expression capabilities.
Key Features:
-
Text-to-Speech Functionality: Enables Claude to convert written text into spoken audio, enhancing its interactivity.
-
Emotional Expression Support: Allows for the selection of various emotional tones (e.g., happy, sad, angry) to enrich user experience.
-
Multi-Language Capability: Supports text-to-speech in multiple languages, broadening accessibility for diverse users.
-
PulseAudio Compatibility: Ensures proper audio playback through PulseAudio, providing reliable sound output.
Zonos MCP Integration
A Model Context Protocol integration for Zonos TTS, allowing Claude to generate speech directly.
Setup
Installing via Smithery
To install Zonos TTS Integration for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @PhialsBasement/zonos-tts-mcp --client claude
Manual Installation
-
Make sure you have Zonos running with the API implementation (PhialsBasement/zonos-api).
-
Install dependencies:
npm install @modelcontextprotocol/sdk axios
- Configure PulseAudio access:
Ensure your PulseAudio is properly configured for audio playback. The MCP server will automatically try to connect to your PulseAudio server.
- Build the MCP server:
npm run build
This will create the dist
folder with the compiled server.
- Add to Claude's config file:
Edit your Claude config file (usually in ~/.config/claude/config.json
) and add this to the mcpServers
section:
"zonos-tts": {
"command": "node",
"args": [
"/path/to/your/zonos-mcp/dist/server.js"
]
}
Replace /path/to/your/zonos-mcp
with the actual path where you installed the MCP server.
Using with Claude
Once configured, Claude automatically knows how to use the speak_response
tool:
speak_response(
text="Your text here",
language="en-us", # optional, defaults to en-us
emotion="happy" # optional: "neutral", "happy", "sad", "angry"
)
Features
- Text-to-speech through Claude
- Multiple emotions support
- Multi-language support
- Proper audio playback through PulseAudio
Requirements
- Node.js
- PulseAudio setup
- Running instance of Zonos API (PhialsBasement/zonos-api)
- Working audio output device
Notes
- Make sure both the Zonos API server and this MCP server are running.
- Audio playback requires proper PulseAudio configuration.