Skip to main content
Glama

📢 Blabber-MCP 🗣️

blabber-mcp MCP server

OpenAI의 텍스트 음성 변환(TTS) API를 사용하여 LLM에 음성을 부여하는 MCP 서버입니다! 🔊


✨ 주요 기능

  • 텍스트 음성 변환(TTS): 입력된 텍스트를 고품질 음성 오디오로 변환합니다.

  • 음성 선택: 다양한 OpenAI 음성(alloy, echo, fable, onyx, nova, shimmer) 중에서 선택할 수 있습니다.

  • 모델 선택: 표준(tts-1) 또는 고화질(tts-1-hd) 모델을 사용합니다.

  • 형식 옵션: mp3, opus, aac, flac 형식으로 오디오를 출력합니다.

  • 파일 저장: 생성된 오디오를 로컬 파일로 저장합니다.

  • 선택적 재생: 구성 가능한 시스템 명령을 사용하여 생성된 오디오를 자동으로 재생합니다.

  • 구성 가능한 기본값: 설정을 통해 기본 음성을 지정할 수 있습니다.


Related MCP server: NijiVoice-MCP

🔧 구성

이 서버를 사용하려면 MCP 클라이언트의 설정 파일(예: mcp_settings.json)에 구성을 추가해야 합니다.

  1. OpenAI API 키 받기: OpenAI에서 API 키가 필요합니다.

  2. MCP 설정에 추가: 설정 파일의 mcpServers 객체에 다음 블록을 추가하고, "YOUR_OPENAI_API_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": []
    }
  }
}

중요: args 경로가 blabber-mcp 프로젝트 디렉토리 내의 build/index.js 파일 위치를 정확히 가리키고 있는지 확인하세요. 전체 절대 경로를 사용하십시오.


🚀 사용법

구성이 완료되고 실행되면 MCP 클라이언트를 통해 text_to_speech 도구를 사용할 수 있습니다.

도구: text_to_speech 서버: blabber-mcp (또는 구성에서 사용한 키)

인자:

  • input (문자열, 필수): 합성할 텍스트입니다.

  • voice (문자열, 선택): 사용할 음성(alloy, echo, fable, onyx, nova, shimmer)입니다. 설정에 지정된 DEFAULT_TTS_VOICE 또는 nova가 기본값입니다.

  • model (문자열, 선택): 모델(tts-1, tts-1-hd)입니다. 기본값은 tts-1입니다.

  • response_format (문자열, 선택): 오디오 형식(mp3, opus, aac, flac)입니다. 기본값은 mp3입니다.

  • play (불리언, 선택): 저장 후 오디오를 자동으로 재생하려면 true로 설정합니다. 기본값은 false입니다.

도구 호출 예시 (재생 포함):

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

출력:

이 도구는 오디오 파일을 blabber-mcp 프로젝트 폴더 내의 output/ 디렉토리에 저장하고 다음과 같은 JSON 응답을 반환합니다:

{
  "message": "Audio saved successfully. Playback initiated using command: cvlc",
  "filePath": "path/to/speech_1743908694848.mp3", 
  "format": "mp3",
  "voiceUsed": "shimmer"
}

📜 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.


🕒 변경 로그

버전 기록에 대한 자세한 내용은 CHANGELOG.md 파일을 참조하십시오.


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.

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.

  1. 1 tool updatev1.0.0
    • First observedtext_to_speech

TDQS

A3.5/5.0

Scored across 1 tool

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