Text to Speech

Text-to-Speech MCP Server (OpenAI TTS based) - Teach your agent to finally speak up for itself.
  • python

3

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "josefgold-tts-mcp": {
      "command": "/absolute/path/to/tts-mcp/.venv/bin/python",
      "args": [
        "/absolute/path/to/tts-mcp/tts_mcp_server.py"
      ],
      "env": {
        "LOG_LEVEL": "INFO",
        "TTS_MODEL": "gpt-4o-mini-tts",
        "PYTHONPATH": "/absolute/path/to/tts-mcp",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

The Text to Speech MCP Server turns written text into audible speech on your computer, letting your agent speak with a chosen voice, optional delivery instructions, and flexible blocking behavior. It’s built with Python and OpenAI’s TTS capabilities to provide a responsive, queueable audio experience for your workflows.

How to use

You use the spoken capabilities by invoking the speak tool from your MCP client. Pick a voice, optionally add delivery instructions, and choose whether the call should block until playback finishes or return immediately for ongoing agent activity. You can queue multiple messages so they play in order.

Basic usage patterns you can apply in conversations: select a voice with speak(text, voice=voiceName) and adjust delivery with instructions to guide tone and pace. If you want continuous operation while audio plays, rely on the non-blocking default. For fully synchronized interactions, request blocking playback.

Voice options

Choose a narrator from the following voices to match your desired tone and style: alloy, ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse.

In Cursor with MCP

Tell Cursor to use the speak tool in your conversations. You can suggest a voice and style to maintain a consistent character across your interactions.

Usage examples in practice

Non-blocking example: speak("Hello, world! I’m now audible!")

Blocking example: speak("This message will finish before I return", blocking=True)

With a specific voice: speak("I’m feeling dramatic today!", voice="fable")

With delivery instructions: speak("You’re doing great—let’s take this one step at a time.", voice="shimmer", instructions="Speak in a warm, reassuring and unhurried tone and pace")

Available tools

speak

Speak a given text using a selected voice with optional delivery instructions and blocking behavior

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational