Blabber-MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Blabber-MCPread this text aloud with the shimmer voice"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
📢 Blabber-MCP 🗣️
An MCP server that gives your LLMs a voice using OpenAI's Text-to-Speech API! 🔊
✨ Features
Text-to-Speech: Converts input text into high-quality spoken audio.
Voice Selection: Choose from various OpenAI voices (
alloy,echo,fable,onyx,nova,shimmer).Model Selection: Use standard (
tts-1) or high-definition (tts-1-hd) models.Format Options: Get audio output in
mp3,opus,aac, orflac.File Saving: Saves the generated audio to a local file.
Optional Playback: Automatically play the generated audio using a configurable system command.
Configurable Defaults: Set a default voice via configuration.
Related MCP server: NijiVoice-MCP
🔧 Configuration
To use this server, you need to add its configuration to your MCP client's settings file (e.g., mcp_settings.json).
Get OpenAI API Key: You need an API key from OpenAI.
Add to MCP Settings: Add the following block to the
mcpServersobject 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.
🚀 Usage
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 theDEFAULT_TTS_VOICEset in config, ornova.model(string, optional): The model (tts-1,tts-1-hd). Defaults totts-1.response_format(string, optional): Audio format (mp3,opus,aac,flac). Defaults tomp3.play(boolean, optional): Set totrueto automatically play the audio after saving. Defaults tofalse.
Example Tool Call (with playback):
<use_mcp_tool>
<server_name>blabber-mcp</server_name>
<tool_name>text_to_speech</tool_name>
<arguments>
{
"input": "Hello from Blabber MCP!",
"voice": "shimmer",
"play": true
}
</arguments>
</use_mcp_tool>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"
}📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🕒 Changelog
See the CHANGELOG.md file for details on version history.
Available Tools
1 tooltext_to_speechA
Converts text into spoken audio using OpenAI TTS (default voice: alloy), saves it to a file, and optionally plays it.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The text to synthesize into speech. | |
| model | No | The TTS model to use. | tts-1 |
| play | No | Whether to automatically play the generated audio file. | |
| response_format | No | The format of the audio response. | mp3 |
| voice | No | Optional: The voice to use. Overrides the configured default (alloy). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that audio is saved to a file and optionally played, which covers some output behavior, but lacks details on file location, naming, permissions, error handling, rate limits, or authentication needs. For a tool with no annotations, this leaves significant gaps in understanding its operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the core functionality, default settings, and optional features without any wasted words. It's front-loaded with the primary purpose and includes all necessary details concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and some behavioral aspects (saving and playing), but lacks details on output format, error handling, and other operational context that would be helpful for an agent to use it effectively without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning the default voice (alloy) and the optional play feature, but doesn't provide additional syntax, format, or usage context for parameters. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Converts text into spoken audio'), identifies the resource ('using OpenAI TTS'), and provides implementation details ('saves it to a file, and optionally plays it'). It distinguishes itself by mentioning the default voice (alloy) and the optional play feature, which would be relevant if there were sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the phrase 'optionally plays it,' suggesting when the play parameter might be used, but provides no explicit guidance on when to use this tool versus alternatives (though none are listed as siblings). There's no mention of prerequisites, limitations, or specific scenarios for choosing different models or voices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
text_to_speech
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a clearly distinct purpose of converting text to speech, and no other tools exist to cause confusion.
The single tool name 'text_to_speech' follows a clear verb_noun pattern (text_to_speech), and with only one tool, consistency is inherently perfect as there are no other names to compare against.
A single tool is too few for most server purposes, as it severely limits functionality and scope. While the tool itself is well-defined, the server lacks breadth, making it feel thin and under-scoped for typical MCP use cases.
The server is severely incomplete for a text-to-speech domain. It only provides conversion to speech, with no tools for managing audio files (e.g., list, delete, play controls), voice selection beyond the default, or other related operations like speech-to-text, leading to significant gaps in coverage.
Maintenance
Related MCP Connectors
AI voice generation: text-to-speech and voice cloning from any MCP client.
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
MCP server for Text-to-Speech
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseBqualityDmaintenanceA MCP server that enables transcription of audio files using OpenAI's Speech-to-Text API, with support for multiple languages and file saving options.11210MIT
- AlicenseBqualityDmaintenanceAn MCP server that enables LLMs to access the NijiVoice API for text-to-speech generation, supporting features like fetching available voice actors and checking credit balance.32MIT
- FlicenseCqualityCmaintenanceAn MCP server that exposes speech-to-text and text-to-speech capabilities using a local speaches instance, allowing AI assistants to transcribe audio and generate speech.2-
- FlicenseNot gradedqualityCmaintenanceAn MCP server that provides text-to-speech, speech-to-text, and voice management via ElevenLabs API.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pinkpixel-dev/blabber-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server