この世にはなんて楽しいものを作ってくれる人がいるのでしょう。最高です。
VOICEVOX MCPを作ったら意外に捗ったので、紹介記事を投稿しました。https://t.co/dPn1VeXEWH
— Takuto Tanaka (@t_enderman) June 25, 2025
Windowsネイティブ環境では何の問題もなく楽しく使えたのですが、WSL環境でちょっと苦戦したので、自分の備忘録として投稿します。
目的
WSL の Ubuntu 上で Claude Code から mcp-simple-voicevox を使い、VOICEVOX の音声を WSL 側で再生できる状態にすることです。
構成はこれです。
- VOICEVOX は Windows 側で起動
- Claude Code は WSL Ubuntu 側で実行
mcp-simple-voicevoxも WSL 側で実行- 音声再生は WSL 側の
aplayを使う
全体像
流れはこうです。
- Windows で VOICEVOX を起動
- WSL から Windows 側 VOICEVOX に届くようにする
- WSL に Node.js と音声再生環境を入れる
-
mcp-simple-voicevoxを WSL に入れる - Claude Code に MCP として登録する
- WSL 側で音が鳴るかテストする
-
mcp-simple-voicevoxを WSL に入れる - Claude Code に MCP として登録する
- Claude Code を再起動してテストする
Step 1. Windows 側で VOICEVOX を起動する
まず、Windows 側で VOICEVOX を起動します。
このツールは、VOICEVOX が http://localhost:50021 で待ち受けている前提です。
Windows 側で確認
ブラウザでこれを開きます。
http://localhost:50021/speakers
何か JSON のような内容が見えれば OK です。
Step 2. WSL から Windows 側 localhost:50021 に届くようにする
WSL では、Windows 側の localhost にそのまま届かないことがあります。
そのため、mirrored mode を使う形で進めました。
Windows 側で .wslconfig を作成
場所:
%UserProfile%\.wslconfig
内容:
[wsl2]
networkingMode=mirrored
保存したら、Windows 側でこれを実行します。
wsl --shutdown
そのあと Ubuntu を開き直します。
Step 3. WSL Ubuntu に必要なものを入れる
Ubuntu 側では、以下を入れます。
sudo apt update
sudo apt install -y nodejs npm alsa-utils libasound2-plugins pulseaudio-utils curl
役割
-
nodejs/npm
mcp-simple-voicevox用 -
alsa-utils
aplay用 -
libasound2-plugins
WSL の音声経路を安定させるため -
pulseaudio-utils
音声テスト用 -
curl
接続確認用
Step 4. WSL の音声再生設定を入れる
WSL 側で aplay が素直に鳴るように、~/.asoundrc を作ります。
cat > ~/.asoundrc << 'EOF'
pcm.default pulse
pcm.!default pulse
ctl.default pulse
ctl.!default pulse
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
EOF
Step 5. WSL 側の音が鳴るか確認する
まず、VOICEVOX は使わずに、WSL 単体で音が出るか確認します。
aplay /usr/share/sounds/alsa/Rear_Center.wav
必要ならこちらも確認します。
paplay /usr/share/sounds/alsa/Rear_Center.wav
pactl info
成功条件
-
aplayで音が鳴る - または
paplayで音が鳴る
ここが通ると、WSL 側の再生経路は生きています。
Step 6. WSL から VOICEVOX に届くか確認する
Ubuntu 側でこれを実行します。
curl http://localhost:50021/speakers
成功条件
- JSON のような応答が返る
ここが通れば、
WSL → Windows 側 VOICEVOX の通信ができています。
Step 7. mcp-simple-voicevox を WSL に入れる
最終的にはグローバルインストールで進めました。
Ubuntu 側でこれを実行します。
npm install -g @t09tanaka/mcp-simple-voicevox
確認
mcp-simple-voicevox
起動メッセージが出れば OK です。
止めるときは Ctrl + C です。
Step 8. Claude Code に MCP として登録する
WSL の Ubuntu 側で Claude Code に登録します。
claude mcp add --transport stdio --scope user voicevox -- mcp-simple-voicevox
確認
claude mcp get voicevox
または
claude mcp list
ここで voicevox が見えれば登録成功です。
Step 9. Claude Code を再起動してテストする
Claude Code を再起動して、次のように頼みます。
VOICEVOXで「こんにちは、WSLテストです」を話者ID 1で読み上げてください。
成功条件
- WSL 側で音声が流れる
WSL 側で鳴らすために押さえるべきポイントだけ抜き出すと
必須条件
- Windows 側で VOICEVOX が起動している
- WSL から
curl http://localhost:50021/speakersが通る - WSL で
aplayが鳴る -
mcp-simple-voicevoxが WSL に入っている - Claude Code に
voicevoxMCP が登録されている
重要設定
.wslconfig
[wsl2]
networkingMode=mirrored
~/.asoundrc
pcm.default pulse
pcm.!default pulse
ctl.default pulse
ctl.!default pulse
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
ここまでで使ったコマンドだけ一覧
Windows 側
wsl --shutdown
Ubuntu 側セットアップ
sudo apt update
sudo apt install -y nodejs npm alsa-utils libasound2-plugins pulseaudio-utils curl
cat > ~/.asoundrc << 'EOF'
pcm.default pulse
pcm.!default pulse
ctl.default pulse
ctl.!default pulse
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
EOF
音声確認
aplay /usr/share/sounds/alsa/Rear_Center.wav
paplay /usr/share/sounds/alsa/Rear_Center.wav
pactl info
VOICEVOX 通信確認
curl http://localhost:50021/speakers
インストール
npm install -g @t09tanaka/mcp-simple-voicevox
MCP 登録
claude mcp add --transport stdio --scope user voicevox -- mcp-simple-voicevox
claude mcp get voicevox
一番短い完成チェック
これが全部通れば、WSL 側で鳴らす土台は完成です。
curl http://localhost:50021/speakers
aplay /usr/share/sounds/alsa/Rear_Center.wav
claude mcp get voicevox
そのうえで Claude Code にこう頼みます。
VOICEVOXで「こんにちは、WSLテストです」を話者ID 1で読み上げてください。
今回の肝は、WSL の中から Windows 側 VOICEVOX に届くことと、WSL の中で aplay がちゃんと鳴ることです。
この2本が通れば、mcp-simple-voicevox は橋として機能します。