Skip to main content

Minimal cross-platform MCP server for text-to-speech using Microsoft Edge TTS

Project description

Edge TTS MCP - Give Claude a Voice!

Python License Platform

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

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:

Claude Code (.mcp.json)

Windows:

{
  "mcpServers": {
    "edge-tts": {
      "command": "C:\\path\\to\\edge-tts-mcp\\venv\\Scripts\\python.exe",
      "args": ["-m", "edge_tts_mcp"]
    }
  }
}

macOS / Linux:

{
  "mcpServers": {
    "edge-tts": {
      "command": "/path/to/edge-tts-mcp/venv/bin/python",
      "args": ["-m", "edge_tts_mcp"]
    }
  }
}

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: ffmpeg or mpv recommended

License

MIT


Made with ❤️ in Ukraine

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_edge_tts-0.1.0.tar.gz (15.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_edge_tts-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_edge_tts-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_edge_tts-0.1.0.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

Hashes for mcp_edge_tts-0.1.0.tar.gz
Algorithm Hash digest
SHA256 828cf65a87cea0f017514ea4f9ed32b861bde51f5d2ba5bf13c90602d2072338
MD5 7026008cb5bf0fa0c9f44dec6941b96f
BLAKE2b-256 ab340d620f0dc862cca430c2a993dd571dc0cba05735fd8dfa5eceff7c454400

See more details on using hashes here.

File details

Details for the file mcp_edge_tts-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_edge_tts-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mcp_edge_tts-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b24f10e17772cffb88971f25d4806f28274d2023be94f3f72e31457653fb72e3
MD5 bed68069f0f5a261089e085e2e972f6e
BLAKE2b-256 ab2e105af608eeb57242945e4a7795213adca6bece01037642ba162fea952da1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page