LabscoMCP early access ↗
leo9iotaMCP SERVER

TTS MCP

Have the assistant speak its answers aloud through your machine's own speakers.

by leo9iota ↗Speech Synthesis & TranscriptionCommunity

LABSCO SUMMARY

Speech out of the model and into the room, with one binary.

The useful design choice is aggregation: you configure whichever providers you have keys for, and each becomes a tool, with personas sitting on top so the model picks a voice by name rather than by id. Keys live in a config file outside the repo, so the same binary serves every client on the machine without pasting secrets into each one.

What it is

A Go MCP server that takes text from the model, synthesizes it with a remote or local text-to-speech provider, and pipes the audio straight to the host system's native audio driver.

What you get

  • Playback on the host itself, not a file you have to open afterwards
  • A command tool exposed automatically for each provider you have configured
  • Persona routing — map a semantic name to a provider and voice so the model calls speak_as_persona instead of juggling voice ids
  • Generated audio cached to an XDG cache directory, so a repeated line does not cost a second synthesis
  • Provider choice across FishAudio, ElevenLabs, Neets AI, PlayHT, Cartesia, OpenAI, Azure and local APIs

Requirements

Download the prebuilt binary for your OS from the releases page, or build from source with Go 1.22+. The server reads an .env file from your OS configuration directory — %APPDATA%\tts-mcp\.env on Windows, ~/.config/tts-mcp/.env on Linux, ~/Library/Application Support/tts-mcp/.env on macOS — holding a key per provider, such as FISHAUDIO_API_KEY or ELEVENLABS_API_KEY. The bundled tts-mcp-config CLI writes that file for you.

Setup effort

Follow the published steps