Minimal cross-platform MCP server for text-to-speech using Microsoft Edge TTS
Project description
mcp-edge-tts - Give Claude a Voice!
Minimal cross-platform MCP server for text-to-speech using Microsoft Edge TTS.
Let Claude speak! Works with Claude Code and Claude Desktop.
Слава Україні!
Features
- 🎙️ 300+ voices in 50+ languages
- 🖥️ Cross-platform: Windows, macOS, Linux
- 🔑 Zero API keys required
- ⚙️ Customizable: speed, volume, pitch
- 🤖 Works with Claude Code and Claude Desktop
Installation
Via pip (recommended)
pip install mcp-edge-tts
From source
Windows
git clone https://github.com/s-n-n/edge-tts-mcp.git
cd edge-tts-mcp
python -m venv venv
venv\Scripts\activate
pip install -e .
macOS / Linux
git clone https://github.com/s-n-n/edge-tts-mcp.git
cd edge-tts-mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .
Setup
Add to your MCP configuration:
If installed via pip
{
"mcpServers": {
"edge-tts": {
"command": "python",
"args": ["-m", "mcp_edge_tts"]
}
}
}
If installed from source
Claude Code (.mcp.json)
Windows:
{
"mcpServers": {
"edge-tts": {
"command": "C:\\path\\to\\edge-tts-mcp\\venv\\Scripts\\python.exe",
"args": ["-m", "mcp_edge_tts"]
}
}
}
macOS / Linux:
{
"mcpServers": {
"edge-tts": {
"command": "/path/to/edge-tts-mcp/venv/bin/python",
"args": ["-m", "mcp_edge_tts"]
}
}
}
Usage
speak
Speak text aloud.
speak("Hello, world!")
speak("Привіт!", voice="uk-UA-PolinaNeural")
speak("Fast!", rate="+50%")
Parameters:
| Parameter | Description | Example |
|---|---|---|
text |
Text to speak | "Hello" |
voice |
Voice name | "en-US-AriaNeural" |
rate |
Speed (-50% to +100%) | "+20%" |
volume |
Volume (-50% to +100%) | "+10%" |
pitch |
Pitch (-50Hz to +50Hz) | "+5Hz" |
list_available_voices
List voices, optionally filtered by language.
list_available_voices()
list_available_voices("uk")
get_config
Show current settings and available audio players.
Configuration
Set defaults via environment variables or .env file:
EDGE_TTS_VOICE=uk-UA-OstapNeural
EDGE_TTS_RATE=+0%
EDGE_TTS_VOLUME=+0%
EDGE_TTS_PITCH=+0Hz
EDGE_TTS_PLAYER=auto
Audio Players
Auto-detected by platform:
| Platform | Default Player | Alternatives |
|---|---|---|
| Windows | PowerShell MediaPlayer (built-in) | ffplay, mpv |
| macOS | afplay (built-in) | ffplay, mpv |
| Linux | ffplay | mpv, paplay |
Popular Voices
| Language | Voice | Gender |
|---|---|---|
| Ukrainian | uk-UA-OstapNeural | Male |
| Ukrainian | uk-UA-PolinaNeural | Female |
| English (US) | en-US-AriaNeural | Female |
| English (US) | en-US-GuyNeural | Male |
| German | de-DE-ConradNeural | Male |
| French | fr-FR-DeniseNeural | Female |
| Spanish | es-ES-AlvaroNeural | Male |
| Chinese | zh-CN-XiaoxiaoNeural | Female |
Run list_available_voices() for full list.
Requirements
- Python 3.10+
- No additional software on Windows/macOS (uses built-in players)
- Linux:
ffmpegormpvrecommended
License
MIT
Made with ❤️ in Ukraine
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_edge_tts-0.1.1.tar.gz.
File metadata
- Download URL: mcp_edge_tts-0.1.1.tar.gz
- Upload date:
- Size: 15.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b475f29954d2b86d36b9420ab6366b1fce52104d16ef0d30859d37f44353c1a
|
|
| MD5 |
efe674f1cd457df895591d3fa14cfe21
|
|
| BLAKE2b-256 |
ae7510844cd4b40718ec357043747f55264d71ad49730e0b0458480e17cb5054
|
File details
Details for the file mcp_edge_tts-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mcp_edge_tts-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f76557456787a5a92626caf49deb931ee4a9e9ab312111497708cecad0188a39
|
|
| MD5 |
47a85b13c6013d015be70224441e38c2
|
|
| BLAKE2b-256 |
7c2904bfa303c1571e368fca8703b6679d2f042634b020ee18e61d343b2d33af
|