Skip to main content
Glama

📢 Blabber-MCP 🗣️

blabber-mcp MCP server

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, or flac.

  • 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).

  1. Get OpenAI API Key: You need an API key from OpenAI.

  2. Add to MCP Settings: Add the following block to the 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.


🚀 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 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):

<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 tool
text_to_speechA

Converts text into spoken audio using OpenAI TTS (default voice: alloy), saves it to a file, and optionally plays it.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesThe text to synthesize into speech.
modelNoThe TTS model to use.tts-1
playNoWhether to automatically play the generated audio file.
response_formatNoThe format of the audio response.mp3
voiceNoOptional: The voice to use. Overrides the configured default (alloy).

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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. 1 tool updatev1.0.0
    • First observedtext_to_speech

TDQS

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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