Skip to main content
Glama

Built by 合同会社みやび

VoiceBox MCP Server

Model Context Protocol (MCP) server for VOICEVOX text-to-speech integration.

Features

  • voicebox_speak - Convert text to speech

  • voicebox_status - Check task status

  • voicebox_speakers - List available speakers

  • voicebox_health - Check system health

  • voicebox_metrics - Get system metrics

Prerequisites

  1. VoiceBox TTS API must be running:

    cd ~/dev/voicebox-tts
    ./scripts/start.sh
  2. VOICEVOX must be running with API server enabled (port 50021)

Installation

cd ~/dev/voicebox-mcp
npm install
npm run build

Claude Code Configuration

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "voicebox": {
      "command": "node",
      "args": ["/Users/shunsukehayashi/dev/voicebox-mcp/dist/index.js"],
      "env": {
        "VOICEBOX_API_URL": "http://localhost:5001"
      }
    }
  }
}

Available Speakers

ID

Name

0

四国めたん (あまあま)

1

四国めたん (ノーマル)

2

四国めたん (セクシー)

3

ずんだもん (ノーマル)

4

ずんだもん (あまあま)

5

ずんだもん (悲嘆)

6

春日部つむぎ (ノーマル)

7

春日部つむぎ (あまあま)

8

春日部つむぎ (ツンデレ)

Usage in Claude Code

Please use voicebox_speak to say "Hello, world!" with speaker 3 (Zundamon).
Check the voicebox system health.
List all available VOICEVOX speakers.

Development

npm run dev    # Watch mode
npm run build  # Build
npm start      # Run server

Available Tools

5 tools
voicebox_healthB

Check VoiceBox TTS system health

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Check') but doesn't describe what 'health' entails (e.g., uptime, performance metrics, error rates), how the check is performed, whether it requires authentication, or what the response format might be. This leaves significant gaps for a tool with zero annotation coverage.

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, efficient sentence with zero waste: 'Check VoiceBox TTS system health'. It is front-loaded and appropriately sized for a simple, parameterless tool, making it easy for an agent to parse quickly without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal but insufficient. It doesn't explain what 'health' means in this context, what the check returns, or how it differs from sibling tools like 'voicebox_metrics'. For a health-check tool, more context on expected outputs or behavioral traits would improve completeness, even with no structured fields to compensate for.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't mention parameters, avoiding redundancy. A baseline of 4 is applied since the schema fully handles the parameter aspect, and the description doesn't need to compensate for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Check VoiceBox TTS system health' clearly states the verb ('Check') and resource ('VoiceBox TTS system health'), making the purpose immediately understandable. It distinguishes this from siblings like 'voicebox_speak' (synthesis) and 'voicebox_speakers' (speaker management), though it doesn't explicitly differentiate from 'voicebox_metrics' or 'voicebox_status' which might have overlapping health-related functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'voicebox_metrics' or 'voicebox_status'. It implies usage for health checking but doesn't specify scenarios (e.g., during troubleshooting, monitoring), prerequisites, or exclusions, leaving the agent to infer context without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

voicebox_metricsC

Get system metrics and statistics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get system metrics and statistics') without any details on permissions, rate limits, response format, or whether it's a read-only operation. This is inadequate for a tool with zero annotation coverage.

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, efficient sentence ('Get system metrics and statistics') that is front-loaded and wastes no words. It's appropriately sized for a simple tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what metrics are returned, how they're formatted, or any behavioral aspects like safety or performance. For a tool that likely provides system data, more context is needed to guide the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't mention parameters, which is appropriate. A baseline of 4 is applied since there are no parameters to document, and the description doesn't add unnecessary details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose ('Get system metrics and statistics') with a clear verb ('Get') and resource ('system metrics and statistics'), but it's vague about what specific metrics or statistics are included. It doesn't distinguish from sibling tools like 'voicebox_health' or 'voicebox_status', which likely provide related system information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention sibling tools like 'voicebox_health' or 'voicebox_status', leaving the agent to guess which tool is appropriate for different monitoring or diagnostic scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

voicebox_speakA

Convert text to speech using VOICEVOX. Non-blocking - queues task and returns immediately with task_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to synthesize
speakerNoSpeaker ID. Available speakers: 0: 四国めたん (あまあま) 1: 四国めたん (ノーマル) 2: 四国めたん (セクシー) 3: ずんだもん (ノーマル) 4: ずんだもん (あまあま) 5: ずんだもん (悲嘆) 6: 春日部つむぎ (ノーマル) 7: 春日部つむぎ (あまあま) 8: 春日部つむぎ (ツンデレ)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's non-blocking (queues tasks), returns immediately with a task_id, and uses VOICEVOX. It doesn't cover aspects like error handling or rate limits, but provides essential operational context.

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 front-loaded with the core purpose and key behavioral detail in two concise sentences. Every word earns its place, with no redundancy or unnecessary elaboration, making it highly efficient.

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 tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It explains the non-blocking behavior and return value, but lacks details on error cases, task management, or integration with sibling tools, leaving gaps for an agent.

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 both parameters thoroughly. The description adds no additional parameter information beyond what's in the schema, meeting the baseline for high coverage without extra value.

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 ('Convert text to speech') using the specific resource ('VOICEVOX'), distinguishing it from sibling tools like health checks or speaker lists. It includes the non-blocking behavior which further clarifies the operational nature.

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 context by mentioning 'Non-blocking - queues task and returns immediately with task_id,' suggesting it's for asynchronous speech synthesis. However, it lacks explicit guidance on when to use this tool versus alternatives or any prerequisites, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

voicebox_speakersB

List available VOICEVOX speakers

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 states it's a list operation, implying it's likely read-only and non-destructive, but doesn't confirm this or add details like rate limits, authentication needs, or response format. This leaves significant gaps for a tool with zero annotation coverage.

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, efficient sentence that directly states the tool's purpose with no wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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 tool's simplicity (0 parameters, no output schema), the description is adequate as a basic listing function. However, without annotations or output schema, it lacks details on behavioral traits and return values, which could be important for integration. It's minimal but not fully complete for a tool in a server with multiple siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100% (as there are no parameters to describe). The description doesn't need to add parameter information, so it meets the baseline for this scenario, though it doesn't go beyond what's already clear from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('List') and resource ('VOICEVOX speakers'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'voicebox_status' or 'voicebox_health', which might also provide speaker-related information, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'voicebox_speak' or other siblings. It lacks context on prerequisites, timing, or exclusions, leaving the agent to infer usage based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

voicebox_statusC

Check the status of a TTS task

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID to check

TDQS

C2.9/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 states the tool checks status, implying a read-only operation, but doesn't specify if it requires authentication, has rate limits, returns specific status values (e.g., pending, completed, failed), or handles errors. This leaves significant gaps in understanding the tool's behavior.

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, clear sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and efficiently communicates the core function, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is incomplete. It doesn't explain what status information is returned (e.g., progress, errors, completion state), which is critical for a status-checking tool. Given the lack of structured data, the description should provide more context to be fully helpful.

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?

The input schema has 100% description coverage, with the single parameter 'task_id' clearly documented. The description doesn't add any semantic details beyond what the schema provides, such as the format or source of the task ID. Given the high schema coverage, a baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Check') and resource ('status of a TTS task'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'voicebox_health' or 'voicebox_metrics', which might also provide status-related information, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a task ID from a previous operation, or contrast it with siblings like 'voicebox_health' for system health or 'voicebox_speak' for initiating tasks, leaving usage context unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: health checks system status, metrics provides statistics, speak converts text to speech, speakers lists available voices, and status checks task progress. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tools follow a consistent 'voicebox_' prefix with descriptive suffixes (health, metrics, speak, speakers, status). This uniform naming pattern enhances predictability and readability across the toolset.

Tool Count5/5

With 5 tools, the server is well-scoped for a TTS system, covering essential operations like health checks, metrics, speech generation, speaker management, and task monitoring. Each tool serves a clear, necessary function without redundancy.

Completeness4/5

The toolset covers core TTS workflows effectively, including system monitoring, speech synthesis, and task management. A minor gap exists in lacking tools for advanced operations like canceling tasks or managing speaker configurations, but agents can work around this with the provided tools.

Related MCP Connectors

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/ShunsukeHayashi/voicebox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server