VoiceVox
Voicevox MCP Server
VOICEVOX互換の音声合成サーバー(AivisSpeech / VOICEVOX / COEIROINK) を MCP (Model Context Protocol) 経由で利用するためのサーバーです。 Cursor等でのClaude 3.7を使ったエージェントモードでの音声合成に利用できます。
必要条件
Windows環境
- Node.js 18以上
- VOICEVOX ENGINE等 (ローカルでhttp://localhost:50000等で実行)
- VLCメディアプレーヤー(パスが通っていること)
Docker環境 (WSL2)
- Docker と Docker Compose
- WSL2
- VOICEVOX ENGINE等 (ローカルまたはDockerで実行)
sudo apt install libsdl2-dev pulseaudio-utils pulseaudio
されたLinux環境/mnt/wslg
へのアクセス権限
インストールと設定
- リポジトリをクローン
git clone https://github.com/Dosugamea/voicevox-mcp-server.git
cd voicevox-mcp-server
- 依存関係のインストール
npm install
- 環境変数の設定
.env_example
をコピーして.env
ファイルを作成し、必要に応じて設定を変更します:
VOICEVOX_API_URL=http://localhost:50021
VOICEVOX_SPEAKER_ID=1
実行方法
Windows環境での実行
エディタと別途で下記手順でサーバーを立ち上げてください。
npm run build
npm start
Docker環境での実行
エディタと別途での操作は不要です。 stdioモードで立ち上がるため直接実行することはできません。
設定方法
Windows環境での実行の場合
mcp.jsonに下記を追記してください。 接続が不安定なため切断されたら再接続してください。
"voicevox": {
"url": "http://localhost:10100/sse"
}
Docker環境での実行の場合
mcp.jsonに下記を追記してください。 (作者環境での動作は確認できていません)
{
"tools": {
"voicevox": {
"command": "cmd",
"args": [
"/c",
"docker",
"run",
"-i",
"--rm",
"-v",
"/mnt/wslg:/mnt/wslg",
"-e",
"PULSE_SERVER",
"-e",
"SDL_AUDIODRIVER",
"-e",
"VOICEVOX_API_URL",
"-e",
"VOICEVOX_SPEAKER_ID",
"your-local-docker-image-name"
],
"env": {
"PULSE_SERVER": "unix:/mnt/wslg/PulseServer",
"SDL_AUDIODRIVER": "pulseaudio",
"VOICEVOX_API_URL": "http://host.docker.internal:50031",
"VOICEVOX_SPEAKER_ID": "919692871"
}
}
}
}
話者IDについて
話者IDは使用するVOICEVOXのモデルによって異なります。デフォルトでは「1」(四国めたん)を使用しています。
他の話者IDを使用する場合は、環境変数 VOICEVOX_SPEAKER_ID
を変更してください。
話者IDの一覧は、VOICEVOX ENGINE APIの /speakers
エンドポイントで確認できます。
例: curl http://localhost:50021/speakers
トラブルシューティング
- VOICEVOXとの接続エラー: VOICEVOX ENGINEが起動していること、APIのURLが正しく設定されていることを確認してください。
- 音声が再生されない: VLCが正しくインストールされていることと、パスが通っていることを確認してください。
- Docker環境での音声出力問題: pulseaudioの設定が正しいか確認してください。
開発者向け情報
- ソースコードに貢献する場合は、Issueを作成するか、Pull Requestを送信してください。
- バグ報告や機能リクエストは、GitHubのIssue機能をご利用ください。
ライセンス
MIT License