Voicevox MCP Server について
Voicevox MCP ServerはVoicevox Engineでテキストを音声合成して再生し、AIツールにメッセージを読み上げさせたいユーザー向けです。MCPのJSON-RPC over stdioインターフェースで合成と再生を提供します。
主な機能
- 01テキストをAudio Queryに変換
- 02Audio QueryをWAVに変換
- 03生成した音声を再生
- 04Engineのホスト、ポート、speakerを設定
活用シーン
- 01AIツールに生成テキストを読み上げさせる
- 02ローカルまたはリモートのVoicevox Engineで音声を合成
MCP 対応
MCPサーバーはJSON-RPC over stdioで、synthesizeAndPlayなどの音声合成・再生ツールをMCPクライアントに提供します。起動中のローカルまたはリモートのVoicevox Engineに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
プロジェクトの README よりVoicevox MCP Server
Model Context Protocol (MCP)に準拠したVoicevoxクライアントサーバー
概要
- このプロジェクトは、Voicevox Engineを利用して音声合成を行い、その結果を再生するMCPサーバーを提供します。CursorやClineなどのAIツールから呼び出し可能なエンドポイントを提供し、テキストを音声に変換して再生する機能を実現します。
- 注意)voicevoxのデフォルトの仕様ですが、英単語や全て英文字一字毎にアルファベットを発声します。回避するには、独自辞書を用意し登録する場合と、投入するテキストに単語をカタカナ化する方法の2通り存在します。
LLMにカタカナ語に自動変換を指示しても現時点では全ては上手くはいかないかと思います。独自辞書作成インタフェースは現時点では未実装です。
機能
- テキストから音声クエリ(Audio Query)への変換
- 音声クエリからWAVデータへの変換
- 生成した音声データの再生
- MCPプロトコルに準拠したJSON-RPC over stdioインターフェース
必要条件
- Python 3.10以上
- Voicevox Engine(ローカルまたはリモートで実行中)
- 必要なPythonパッケージ(requirements.txtを参照)
インストール
-
リポジトリをクローン
git clone https://github.com/yourusername/voicevox-mcp-vc1.git cd voicevox-mcp-vc1 -
依存関係のインストール
uv sync -
Voicevox Engineの起動
# CPU版 Dockerを使用する場合 docker pull voicevox/voicevox_engine:cpu-latest docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest# GPU版 Dockerを使用する場合 docker pull voicevox/voicevox_engine:nvidia-latest docker run --rm --gpus all -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:nvidia-latest
使用方法
CLINE / Roo code
- デフォルト起動の場合(http://127.0.0.1:50021 spaker id:1)
{
"mcpServers": {
"voicevox-mcp-light": {
"disabled": false,
"command": "uv",
"args": [
"run",
"--directory",
"/full path/voicevox_mcp_light/",
"python",
"-m",
"src.main"
],
"transportType": "stdio",
"alwaysAllow": [],
"env": {
"PULSE_SERVER": "/run/user/1000/pulse/native"
}
}
}
}
"voicevox-mcp-light": {
"disabled": false,
"command": "/full path/uv",
"args": [
"run",
"--directory",
"/full path/voicevox_mcp_light/",
"python",
"-m",
"src.main",
"--speaker",
"8"
],
"transportType": "stdio",
"alwaysAllow": [],
"env": {
"PULSE_SERVER": "/run/user/1000/pulse/native"
}
}
- PULSE_SERVER の内容は下記コマンドで調べた結果を転記してください
# パルスオーディオのステータスを確認
pactl info
Windows / Mac の場合は env の中身は不要とClaude回答でした。現在未テストです。 Ubuntu 22.04 で開発テストを実施。
Roo codeの場合、MCP CLientがDEBUG情報を吐き出します。これは開発時にデバッグ情報をLLMに埋め込ませたことによるもので、放置していますのでご容赦ください。CLINEでは表示されません。 Claude Desktopでは現時点未検証です。
オプション
--host: Voicevox EngineのホストIPアドレス(デフォルト: 127.0.0.1)--port: Voicevox Engineのポート番号(デフォルト: 50021)--speaker: 音声モデルID(デフォルト: 3) 音声モデルID を参照してください。
MCPクライアントからの使用
このサーバーは、MCPプロトコルに準拠したJSON-RPC over stdioインターフェースを提供します。 Claude DesktopやCursorなどのMCPクライアントから以下のように使用できます:
# MCPサーバーのインストール(Claude Desktopの場合)
mcp install src/main.py
# ツールの呼び出し例
synthesizeAndPlay(message="こんにちは、世界!")
開発
テストの実行
python -m pytest
コードスタイル
このプロジェクトはPEP 8コーディング規約に従っています。
ライセンス
謝辞
- VOICEVOX - 高品質な音声合成エンジン
- VOICEVOX Engine Github
- Model Context Protocol - LLMとのコンテキスト共有のための標準プロトコル
- Model Context Protocol (MCP) サーバを使ってみた・作ってみた - MCP全般の基礎として
- notion-mcp-light - NotionMCP Light 構造解析し Vibe Coding に
- PythonとVOICEVOXで音声合成 - voicevox の知識として
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。