Skip to main content
Glama
uraoz

Bouyomi-chan MCP Server

by uraoz

Boyomi-chan MCP Server (Node.js version)

This is a server that uses the Model Context Protocol (MCP) to provide text-to-speech functionality using Bokuyomi-chan (a slow voice) to AI assistants. It is implemented in Node.js/TypeScript.

overview

This server is an MCP server that allows AI assistants such as Claude to use Boyomi-chan.

Related MCP server: MCP Simple AivisSpeech

function

  • Text to speech

  • Select voice type (female, male, etc.)

  • Volume adjustment

  • Adjustable speech speed

  • Pitch Adjustment

Prerequisites

  • Node.js 16 or higher

  • npm 7 or higher

  • Boyomi-chan must be installed.

  • The HTTP link for Boyomi-chan is running on port 50080.

How to install

  1. Clone this repository:

git clone https://github.com/uraoz/bouyomichan-mcp-nodejs.git
cd bouyomichan-mcp-nodejs
  1. Install the dependencies:

npm install
  1. Which compiles:

npm run build

How to use

Starting the Server

npm start

Integration with Claude for Desktop

To work with Claude for Desktop you need to edit the configuration file:

  1. Open the Claude for Desktop configuration file:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the following content (replace the paths with the actual file paths):

{
  "mcpServers": {
    "bouyomi": {
      "command": "node",
      "args": [
        "/絶対パス/bouyomichan-mcp-nodejs/build/index.js"
      ]
    }
  }
}
  1. Restart Claude for Desktop.

Usage Example

Claude for Desktop will read text aloud to you by:

  • Read out "Hello, World"

  • A male voice reads out "This is a test."

  • Speed up and read "I'm in a hurry"

Parameter Description

Parameters

explanation

Default value

Scope

text

Read text

Required

Any text

voice

Audio Type

0 (1 female)

0: Female 1, 1: Male 1, 2: Female 2, ...

volume

volume

-1 (default)

-1: default, 0-100: volume level

speed

speed

-1 (default)

-1: default, 50-200: speed level

tone

Pitch

-1 (default)

-1: default, 50-200: pitch level

license

MIT

Available Tools

1 tool
read_textB

テキストを棒読みちゃんで読み上げます

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 full burden. It mentions the reading happens 'with a monotone voice' which is useful behavioral context, but doesn't disclose other important traits: whether this is a synchronous or asynchronous operation, what happens with long texts, error conditions, or what the output actually is (audio file, playback, etc.). For a tool with zero annotation coverage, this is insufficient.

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 Japanese sentence that directly states what the tool does. Every word earns its place: 'テキスト' (text), '棒読みちゃん' (monotone voice), '読み上げます' (reads aloud). No wasted words or 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 has no annotations, no output schema, and zero parameters, the description should provide more complete context. While it states the basic purpose, it doesn't explain what form the output takes (audio stream, file, immediate playback), performance limitations, or error handling. For a text-to-speech tool, this leaves significant gaps in understanding how to use it 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 tool has zero parameters, and schema description coverage is 100%. The description doesn't need to explain parameters, and it correctly implies text input through its purpose statement. Baseline for zero parameters with full schema coverage is 4, as there's nothing to compensate for.

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: 'テキストを棒読みちゃんで読み上げます' translates to 'Reads text aloud with a monotone voice'. This specifies the verb ('reads aloud') and resource ('text'), though it doesn't need to distinguish from siblings since none exist. The mention of 'monotone voice' adds specificity about the reading style.

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, context for usage, or any exclusions. While no sibling tools exist to differentiate from, it lacks basic usage context like input format expectations or performance characteristics.

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

TDQS

B3.3/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'read_text' has a singular, clear purpose that cannot be confused with any other tool in this set.

Naming Consistency5/5

A single tool inherently exhibits perfect naming consistency, as there are no other tools to compare it against. The name 'read_text' follows a clear verb_noun pattern, which is consistent with itself.

Tool Count2/5

A single tool for a text-to-speech server is too minimal for practical use. While it covers the core functionality, typical MCP servers benefit from additional tools (e.g., for configuration, status checks, or voice control), making this count feel thin and limiting for agent interactions.

Completeness3/5

The tool 'read_text' provides the essential action for a text-to-speech server, but there are notable gaps. Missing operations might include stopping speech, adjusting speed or volume, checking status, or managing voice settings, which could hinder agent workflows in more complex scenarios.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A server that enables Claude 3.7 and other AI agents to access VOICEVOX-compatible speech synthesis engines (AivisSpeech, VOICEVOX, COEIROINK) through the Model Context Protocol.
    1
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A text-to-speech MCP server that enables AI assistants to speak using the VOICEVOX engine with support for multi-character conversations. It features queue management, low-latency streaming via FFplay, and cross-platform playback across Windows, macOS, and Linux.
    7
    149
    16
    ISC
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that enables text-to-speech generation and phonetic kana conversion using VOICEROID2 via voiceroid_daemon. It supports customizable voice parameters and provides cross-platform audio playback for synthesized speech.
    3

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/uraoz/bouyomichan-mcp-nodejs'

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