An MCP server that enables LLMs to generate spoken audio from text using OpenAI's Text-to-Speech API, supporting various voices, models, and audio formats.
An MCP server that gives your LLMs a voice using OpenAI's Text-to-Speech API! 🔊
alloy
, echo
, fable
, onyx
, nova
, shimmer
).tts-1
) or high-definition (tts-1-hd
) models.mp3
, opus
, aac
, or flac
.To use this server, you need to add its configuration to your MCP client's settings file (e.g., mcp_settings.json
).
mcpServers
object in your settings file, replacing "YOUR_OPENAI_API_KEY"
with your actual key.{ "mcpServers": { "blabber-mcp": { "command": "node", "args": ["/full/path/to/blabber-mcp/build/index.js"], (IMPORTANT: Use the full, absolute path to the built index.js file) "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY", "AUDIO_PLAYER_COMMAND": "xdg-open", (Optional: Command to play audio (e.g., "cvlc", "vlc", "mpv", "ffplay", "afplay", "xdg-open"; defaults to "cvlc") "DEFAULT_TTS_VOICE": "nova" (Optional: Set default voice (alloy, echo, fable, onyx, nova, shimmer); defaults to nova) }, "disabled": false, "alwaysAllow": [] } } }
Important: Make sure the args
path points to the correct location of the build/index.js
file within your blabber-mcp
project directory. Use the full absolute path.
Once configured and running, you can use the text_to_speech
tool via your MCP client.
Tool: text_to_speech
Server: blabber-mcp
(or the key you used in the config)
Arguments:
input
(string, required): The text to synthesize.voice
(string, optional): The voice to use (alloy
, echo
, fable
, onyx
, nova
, shimmer
). Defaults to the DEFAULT_TTS_VOICE
set in config, or nova
.model
(string, optional): The model (tts-1
, tts-1-hd
). Defaults to tts-1
.response_format
(string, optional): Audio format (mp3
, opus
, aac
, flac
). Defaults to mp3
.play
(boolean, optional): Set to true
to automatically play the audio after saving. Defaults to false
.Example Tool Call (with playback):
blabber-mcp text_to_speech { "input": "Hello from Blabber MCP!", "voice": "shimmer", "play": true }
Output:
The tool saves the audio file to the output/
directory within the blabber-mcp
project folder and returns a JSON response like this:
{ "message": "Audio saved successfully. Playback initiated using command: cvlc", "filePath": "path/to/speech_1743908694848.mp3", "format": "mp3", "voiceUsed": "shimmer" }
This project is licensed under the MIT License - see the LICENSE file for details.
See the CHANGELOG.md file for details on version history.
Made with ❤️ by Pink Pixel
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!