Skip to main content

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

Project description

mcp-edge-tts - Give Claude a Voice!

PyPI 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

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: 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.1.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.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

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

Hashes for mcp_edge_tts-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4b475f29954d2b86d36b9420ab6366b1fce52104d16ef0d30859d37f44353c1a
MD5 efe674f1cd457df895591d3fa14cfe21
BLAKE2b-256 ae7510844cd4b40718ec357043747f55264d71ad49730e0b0458480e17cb5054

See more details on using hashes here.

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

Hashes for mcp_edge_tts-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f76557456787a5a92626caf49deb931ee4a9e9ab312111497708cecad0188a39
MD5 47a85b13c6013d015be70224441e38c2
BLAKE2b-256 7c2904bfa303c1571e368fca8703b6679d2f042634b020ee18e61d343b2d33af

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