mcp-voicevox-server
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., "@mcp-voicevox-server今の変更点を音声で教えて"
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.
mcp-voicevox-server-python
Claude Code の返答を VOICEVOX で読み上げるための MCP (Model Context Protocol) サーバーです。 日本語の自然な合成音声により、開発中のフィードバックを耳で受け取ることが可能になります。
🚀 概要
このプロジェクトは、Claude Code からの指示を受け取り、Docker 上で動作する VOICEVOX Engine を介して音声を生成、ローカルの ffplay で再生します。
システム構成
Client: Claude Code
MCP Server: Python (FastMCP)
Engine: VOICEVOX Engine (Docker)
Player: ffplay (FFmpeg)
Related MCP server: VOICEVOX TTS MCP
🛠 前提条件
Python: 3.10 以上
uv: パッケージマネージャー(推奨)
Docker: VOICEVOX Engine の実行に必要
FFmpeg: 音声再生用の
ffplayコマンドを使用macOS:
brew install ffmpegWindows:
choco install ffmpeg/scoop install ffmpegLinux:
sudo apt install ffmpeg
📦 セットアップ
1. 依存関係のインストール
uv を使用する場合(推奨)
uv syncpip を使用する場合
pip install -r requirements.txt⚙️ Claude Code 設定
~/.claude.json に以下の設定を追加します。
uv を使用する場合(推奨)
{
"mcpServers": {
"voicevox": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-voicevox-server", "python", "server.py"],
"env": {
"VOICEVOX_URL": "http://localhost:50021",
"SPEAKER_ID": "3"
}
}
}
}python を直接使用する場合
{
"mcpServers": {
"voicevox": {
"command": "python3",
"args": ["/path/to/mcp-voicevox-server/server.py"],
"env": {
"VOICEVOX_URL": "http://localhost:50021",
"SPEAKER_ID": "3"
}
}
}
}環境変数
変数名 | 説明 | デフォルト |
| Engine のアドレス |
|
| キャラクターID |
|
| 自動的にDockerを起動するか |
|
キャラクター一覧(一部)
ID | キャラクター |
2 | 四国めたん |
3 | ずんだもん |
8 | 春日部つむぎ |
🐳 VOICEVOX Engine の自動起動
MCP サーバー起動時に VOICEVOX Engine が動作していない場合、自動的に Docker で起動します。
仕組み
サーバー起動時に
VOICEVOX_URLへの接続をチェック接続できない場合、
docker compose up -dを実行Engine が起動するまで最大30秒待機
手動で起動する場合
自動起動を無効にしたい場合は、環境変数を設定してください:
{
"env": {
"AUTO_START_ENGINE": "false"
}
}手動で Docker を起動する場合:
# docker compose を使用
docker compose up -d
# または直接実行
docker run --rm -d -p 50021:50021 voicevox/voicevox_engine:cpu-ubuntu20.04-latest🛠 提供されるツール
speak_text
テキストを VOICEVOX で音声合成し、スピーカーから再生します。
引数:
text(string, 必須): 読み上げるテキストspeed(number, optional): 話速 (0.5 〜 2.0, デフォルト: 1.0)pitch(number, optional): 音高 (-0.15 〜 0.15, デフォルト: 0.0)intonation(number, optional): 抑揚 (0.0 〜 2.0, デフォルト: 1.0)volume(number, optional): 音量 (0.0 〜 2.0, デフォルト: 1.0)
戻り値:
再生完了メッセージまたはエラーメッセージ
save_audio
テキストを VOICEVOX で音声合成し、WAV ファイルとして保存します。
引数:
text(string, 必須): 読み上げるテキストoutput_path(string, 必須): 保存先のファイルパス(.wav)speed(number, optional): 話速 (0.5 〜 2.0, デフォルト: 1.0)pitch(number, optional): 音高 (-0.15 〜 0.15, デフォルト: 0.0)intonation(number, optional): 抑揚 (0.0 〜 2.0, デフォルト: 1.0)volume(number, optional): 音量 (0.0 〜 2.0, デフォルト: 1.0)
戻り値:
保存完了メッセージまたはエラーメッセージ
💡 使い方
Claude Code 上で直接指示してください。
「今のコード変更の概要を speak_text で教えて」
「テストが通ったら『お疲れ様なのだ』と喋って」自動化のヒント
.claude/settings.json や CLAUDE.md に以下のようなシステムプロンプトを追加すると便利です:
各回答の最後には必ず speak_text ツールを使用して、回答の重要なポイントを1文で読み上げてください。
📝 ライセンス
MIT
Available Tools
3 toolslist_speakersA
VOICEVOX Engineで利用可能なスピーカー(キャラクター)の一覧を取得します。
Returns: スピーカー一覧の文字列
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool returns a string of speaker list, which implies a read-only operation, but it does not disclose any behavioral traits such as caching, latency, or potential side effects. For a simple list retrieval, this is adequate but minimal.
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 extremely concise at two sentences, with the main purpose front-loaded in the first sentence. Every part is purposeful and there is no redundancy.
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 tool's simplicity (0 parameters, output schema exists), the description sufficiently covers what the tool does and returns. No additional context is needed for effective use.
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?
The input schema has 0 parameters with 100% coverage, so the baseline is 3. The description does not add any parameter info beyond the schema, which is acceptable since there are no parameters to describe.
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 'Gets the list of speakers (characters) available in VOICEVOX Engine', which is a specific verb-resource pair. The tool name 'list_speakers' aligns perfectly, and it is well-differentiated from siblings 'save_audio' and 'speak_text'.
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 provides no guidance on when to use this tool over its siblings or any prerequisites. It simply describes what the tool does without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_audioA
テキストをVOICEVOXで音声合成し、WAVファイルとして保存します。
Args: text: 読み上げるテキスト output_path: 保存先のファイルパス(.wav) speaker: スピーカーID(指定しない場合は環境変数SPEAKER_IDの値を使用。list_speakersで一覧を確認できます) speed: 話速 (0.5 〜 2.0, デフォルト: 1.0) pitch: 音高 (-0.15 〜 0.15, デフォルト: 0.0) intonation: 抑揚 (0.0 〜 2.0, デフォルト: 1.0) volume: 音量 (0.0 〜 2.0, デフォルト: 1.0)
Returns: 保存結果のメッセージ
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| pitch | No | ||
| speed | No | ||
| volume | No | ||
| speaker | No | ||
| intonation | No | ||
| output_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should fully disclose behavior. It covers parameter ranges and fallback to environment variable for speaker, but lacks details on file overwriting, error handling, or return value specifics (output schema exists but its content is unknown).
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 structured with a title, Args section, and Returns line. It is front-loaded and concise, though some defaults are redundantly listed when already in schema. No extraneous sentences.
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?
For a tool with 7 parameters and no schema descriptions, the description explains all parameters and references sibling tools. Minor omissions like file overwrite behavior or return message format prevent a higher score.
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 0%, but the description provides full semantic detail for all 7 parameters: ranges, defaults, and how to obtain speaker IDs. This compensates completely for the schema gap.
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 it synthesizes text with VOICEVOX and saves as WAV file, specifying the technology and output format. It distinguishes from sibling 'list_speakers' by referencing it for speaker IDs, and 'speak_text' likely does not save.
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 explains when to use the speaker parameter and directs to list_speakers for available IDs. It does not explicitly differentiate from speak_text or state conditions for not using the tool, but the context is clear for main use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speak_textA
テキストをVOICEVOXで音声合成し、スピーカーから再生します。
Args: text: 読み上げるテキスト speaker: スピーカーID(指定しない場合は環境変数SPEAKER_IDの値を使用。list_speakersで一覧を確認できます) speed: 話速 (0.5 〜 2.0, デフォルト: 1.0) pitch: 音高 (-0.15 〜 0.15, デフォルト: 0.0) intonation: 抑揚 (0.0 〜 2.0, デフォルト: 1.0) volume: 音量 (0.0 〜 2.0, デフォルト: 1.0)
Returns: 再生結果のメッセージ
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| pitch | No | ||
| speed | No | ||
| volume | No | ||
| speaker | No | ||
| intonation | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states that the tool synthesizes and plays audio, but does not disclose whether it blocks, its synchronicity, network requirements, resource usage, or error behavior. The returns section is vague.
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 well-structured with a brief intro followed by a clear Args list. It front-loads the action and minimizes fluff. The Returns section is minimal but acceptable given output schema exists. Could be slightly more concise but overall effective.
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 6 parameters, no annotations, and an output schema (implied), the description covers parameters well but lacks context on dependencies (e.g., VOICEVOX service), potential errors, or audio device requirements. It is adequate but not fully complete.
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 0%, so the description must compensate. It fully explains each parameter (text, speaker, speed, pitch, intonation, volume) with ranges, defaults, and the speaker fallback to environment variable. This adds substantial meaning beyond the bare schema.
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 tool performs text-to-speech synthesis with VOICEVOX and plays from speakers. It distinguishes from sibling 'list_speakers' by referencing it for speaker IDs, and from 'save_audio' by implying real-time playback.
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 mentions the default speaker from environment variable and references list_speakers for speaker IDs, but does not provide explicit when-to-use or when-not-to-use guidance compared to save_audio. Usage context is implied but not formally defined.
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.
3 tool updates
v0.1.0- First observed
list_speakers - First observed
save_audio - First observed
speak_text
TDQS
Each tool has a clearly distinct purpose: listing speakers, saving audio to file, and playing audio. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case (list_speakers, save_audio, speak_text), making it predictable.
Three tools is well-scoped for a TTS server, covering the essential operations without being too few or too many.
Core functionality (listing voices, saving, playing) is covered. Missing direct audio data retrieval, but minor gap for a basic server.
Maintenance
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
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
MCP server for Text-to-Speech
AI voice generation: text-to-speech and voice cloning from any MCP client.
Related MCP Servers
- AlicenseBqualityFmaintenanceA 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.112MIT
- AlicenseAqualityBmaintenanceA 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.714916ISC
- FlicenseAqualityDmaintenanceAn 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-
- AlicenseNot gradedqualityDmaintenanceA multi-provider voice notification MCP server that enables Claude Code to provide auditory alerts for task completions, confirmation requests, and errors. It supports various TTS engines including VOICEVOX, Google Cloud TTS, and OpenAI for customizable voice feedback.31MIT
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/init-ikuya/mcp-voicevox-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server