Command Palette

Search for a command to run...

UnylyUnyly
Browse all

STT2TTS

FreeNot checked

Local-first speech-to-text and text-to-speech MCP server. Hot-swappable engines via config.yaml — no code changes, no API keys required.

GitHubEmbed

About

Local-first speech-to-text and text-to-speech MCP server. Hot-swappable engines via config.yaml — no code changes, no API keys required.

README

Local-first speech-to-text and text-to-speech MCP server. Hot-swappable engines via config.yaml — no code changes, no API keys required.

┌──────────────┐     stdio      ┌──────────────────┐
│ MCP client   │ ◀────────────▶ │ stt2tts-mcp      │
│              │                │  ├─ STT engine   │ ──▶ faster-whisper
│              │                │  └─ TTS engine   │ ──▶ piper / kokoro / coqui
└──────────────┘                └──────────────────┘
                                       │
                                       ▼
                              config.yaml (hot-reload)

Why

Replaces whisper-mcp. Works offline, ships with five STT and six TTS engines, switches per-task via config.

Install

pip install stt2tts-mcp

# Add the engines you actually use:
pip install stt2tts-mcp[stt-faster-whisper]   # local STT
pip install stt2tts-mcp[tts-piper]            # local TTS (~50MB voices)

# Register with your MCP client (consult your client's docs for the exact
# config file location — most use mcp_config.json or a per-client equivalent):
{
  "mcp": {
    "stt2tts": {
      "type": "local",
      "command": ["stt2tts-mcp"],
      "enabled": true
    }
  }
}

Engines

STT Size License Best for
faster-whisper 39M – 2.9 GB MIT English, INT8 CPU, fastest
sherpa-onnx 39M – large Apache 2.0 Multilingual
OpenAI API cloud Proprietary Highest accuracy, needs key
Ollama varies MIT Local LLM integration
LMStudio varies MIT Local model server
TTS Voice size License Best for
Piper 20 – 50 MB Apache 2.0 Smallest, 10-20× realtime
Kokoro-82M ~330 MB Apache 2.0 Quality/size ratio
Coqui XTTS ~1.5 GB MPL 2.0 Voice cloning, needs GPU
OpenAI API cloud Proprietary All voices, needs key
Ollama varies MIT LLM-based voices
LMStudio varies MIT Local model server

Configure

config.yaml:

stt:
  engine: faster_whisper   # sherpa_onnx | openai_api | ollama | lmstudio
  enabled: true
  params:
    model_size: base.en     # tiny.en | base.en | small.en | medium.en
    device: cpu             # cpu | cuda

tts:
  engine: piper             # kokoro | coqui | openai_api | ollama | lmstudio
  enabled: true
  params:
    voice: en_US-lessac-medium
    model_dir: ~/.cache/piper

Reload without restart by calling the reload_config MCP tool.

MCP Tools

Tool What it does
transcribe(audio_path, language?) Audio file → text
speak(text, output_path, voice?) Text → WAV file
list_stt_models Available STT models
list_tts_voices Available TTS voices
reload_config Re-read config.yaml, rebuild engines
health_check Engine status

All formats ffmpeg supports (wav, mp3, ogg, flac, m4a) are accepted; STT input is auto-converted to 16 kHz mono.

Develop

Source-only releases ship on main for clean installs. The dev branch carries the test suite (tests/test_config_loader.py, tests/test_mcp_integration.py, tests/test_piper_no_json.py) for contributors.

git clone https://github.com/pygodzilla/stt2tts-mcp
cd stt2tts-mcp
git checkout dev                 # for tests + dev iteration
pip install -e ".[all]"
python -m stt2tts_mcp.server

License

MIT

from github.com/pygodzilla/stt2tts-mcp

Install STT2TTS in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install stt2tts-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add stt2tts-mcp -- uvx --from git+https://github.com/pygodzilla/stt2tts-mcp stt2tts-mcp

FAQ

Is STT2TTS MCP free?

Yes, STT2TTS MCP is free — one-click install via Unyly at no cost.

Does STT2TTS need an API key?

No, STT2TTS runs without API keys or environment variables.

Is STT2TTS hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install STT2TTS in Claude Desktop, Claude Code or Cursor?

Open STT2TTS on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare STT2TTS with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs