FlowSpeech MCP Server
README.md
# FlowSpeech MCP Server
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that brings [FlowSpeech](https://flowspeech.io) text-to-speech capabilities directly into your LLM workflows.
## What is FlowSpeech?
[FlowSpeech](https://flowspeech.io) is a context-aware text-to-speech tool that converts text into human-like audio with:
- π **Emotion control** β stage directions like `***(say cheerfully: Hello!)***`
- βΈοΈ **Pause control** β natural pacing and rhythm
- ποΈ **30+ voices** β male and female voices across moods and styles
- π **Human-like output** β natural-sounding synthesis for creators, educators, and developers
## Installation
Run the MCP server directly with npx (no install needed):
```bash
npx mcp-flowspeech-server
```
Or install globally:
```bash
npm install -g mcp-flowspeech-server
```
## Configuration
Add to your MCP client config (e.g. Claude Desktop `claude_desktop_config.json`):
```json
{
"mcpServers": {
"flowspeech": {
"command": "npx",
"args": ["-y", "mcp-flowspeech-server"],
"env": {
"FLOWSPEECH_OUTPUT_DIR": "~/flowspeech-audio"
}
}
}
}
```
### Environment Variables
| Variable | Description | Default |
|---|---|---|
| `FLOWSPEECH_OUTPUT_DIR` | Directory to save generated audio files | `~/.flowspeech-mcp/audio` |
## Tools
### `flowspeech_tts`
Convert text to speech with a single voice.
**Parameters:**
| Name | Type | Required | Description |
|---|---|---|---|
| `text` | string | β
| Text to synthesize. Supports emotion stage directions. |
| `voice` | string | | Voice name (default: `Kore`) |
| `output_path` | string | | Custom file path for the output audio |
**Example:**
```
Convert this to audio with a cheerful tone using the Puck voice:
"***(say cheerfully: Good morning, everyone!)*** Today we're going to explore something amazing."
```
### `flowspeech_tts_multi`
Convert a two-speaker dialogue to speech.
**Parameters:**
| Name | Type | Required | Description |
|---|---|---|---|
| `text` | string | β
| Dialogue with `Speaker1:` and `Speaker2:` prefixes |
| `voice_a` | string | | Voice for Speaker1 (default: `Charon`) |
| `voice_b` | string | | Voice for Speaker2 (default: `Kore`) |
| `output_path` | string | | Custom file path for the output audio |
**Example:**
```
Speaker1: Welcome to the show! I'm your host.
Speaker2: And I'm your co-host. Great to be here!
Speaker1: Today we're talking about AI voices.
```
### `flowspeech_list_voices`
List all available voices.
**Parameters:**
| Name | Type | Description |
|---|---|---|
| `gender` | `male` \| `female` \| `all` | Filter by gender (default: `all`) |
## Available Voices
| Voice | Gender | Style |
|---|---|---|
| Puck | Male | Upbeat and playful |
| Fenrir | Male | Excitable and energetic |
| Zephyr | Female | Bright and cheerful |
| Autonoe | Female | Bright and welcoming |
| Charon | Male | Informative and narrative |
| Kore | Female | Firm and focused |
| Orus | Male | Firm and decisive |
| Iapetus | Male | Clear and professional |
| Umbriel | Male | Easy-going and relaxed |
| Callirrhoe | Female | Easy-going and soothing |
| Sulafat | Female | Warm and inviting |
| Achernar | Female | Soft and tender |
| Gacrux | Female | Mature and experienced |
| β¦ | β¦ | 30+ total β use `flowspeech_list_voices` to see all |
## Emotion Stage Directions
FlowSpeech supports inline emotion control using the format `***(say <style>: text)***`:
```
***(say cheerfully: Good morning!)***
Today I want to talk about something important.
***(say solemnly: This affects all of us.)***
```
## Links
- π Website: [https://flowspeech.io](https://flowspeech.io)
- π¬ Demo: [https://youtu.be/nkBI7WbggW8](https://youtu.be/nkBI7WbggW8)
- π¦ npm: [https://www.npmjs.com/package/mcp-flowspeech-server](https://www.npmjs.com/package/mcp-flowspeech-server)
## License
MIT
TDQS
A3.9/5.0
Scored across 3 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: listing voices, single-speaker TTS, and two-speaker TTS. No overlap or ambiguity.
Naming Consistency5/5
All tool names follow a consistent flowspeech_verb_noun pattern using snake_case, with clear and predictable naming.
Tool Count4/5
Three tools is slightly minimal but appropriate for a focused TTS server. The set covers the core functionality without feeling overly sparse.
Completeness4/5
The tool surface covers the essential operations: voice discovery, single-speaker TTS, and dialogue TTS. Minor gaps exist (e.g., no explicit voice selection or emotion control parameters documented), but the core workflow is complete.
Maintenance
ActivityInactive
ResponsivenessNo issues