🎧

DevcontainerやWSL上のClaude Codeにデスクトップ版VOICEVOXでしゃべらせる(MCP)

に公開

Windows環境のClaude CodeにVOICEVOXでしゃべらせるの面倒ですよね。
MCP HTTPサーバーを使うと設定が楽になったので記事にしました。

環境

必要になるツール

今回使用させていただくツールは以下の通りです:

  • VOICEVOXのMCPサーバー:mcp-simple-voicevox
  • stdio⇔httpに変換:supergateway(MCPサーバーがstdioのみ提供している場合に必要)

https://github.com/t09tanaka/mcp-simple-voicevox

https://github.com/supercorp-ai/supergateway

VOICEVOXの準備

まず、デスクトップ版VOICEVOXを起動してください。APIが使用できることをlocalhost:50021で確認

1. ホスト側でVOICEVOXのMCPサーバーを起動

PowerShellまたはコマンドプロンプトで以下を実行:

# PowerShell (Windows)
npx -y supergateway `
    --stdio "npx -y @t09tanaka/mcp-simple-voicevox" `
    --baseUrl http://localhost:8000 `
    --outputTransport streamableHttp `
    --port 8000

2. devcontainer.jsonの設定

プロジェクトルートの.devcontainer/devcontainer.jsonに以下の設定を追加:

{
    "name": "Ubuntu",
    "image": "mcr.microsoft.com/devcontainers/base:jammy",
    "features": {
        "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
    },
    "forwardPorts": [],
    "runArgs": ["--add-host=host.docker.internal:host-gateway"]
}

3. コンテナ上のClaude CodeにMCPを追加

Devcontainer内で以下を実行:

claude mcp add --transport http tts http://host.docker.internal:8000/mcp

WSL環境での設定

1. ホスト側でMCPサーバーを起動

設定はDevcontainerと同じです:

# PowerShell (Windows)
npx -y supergateway `
    --stdio "npx -y @t09tanaka/mcp-simple-voicevox" `
    --baseUrl http://localhost:8000 `
    --outputTransport streamableHttp `
    --port 8000

2. WSL上でWindowsホストのIPアドレスを確認

WSL内で以下を実行してWindowsホストのIPアドレスを取得:

ip route show | grep default | awk '{print $3}'

通常は 172.x.x.1 の形式になります。

3. WSL上のClaude CodeにMCPを追加

取得したIPアドレスを使用してMCPサーバーに接続:

# IPアドレスは手順2で確認したものに置き換えてください
claude mcp add --transport http tts http://172.29.176.1:8000/mcp

動作確認

設定が完了したら、Claude Codeで以下のように試してみてください:

「こんにちは、音声で読み上げてください」

音声が再生されれば設定成功です

おまけ:自動起動の設定

毎回手動でMCPサーバーを起動するのは面倒なので、Windowsのスタートアップフォルダに登録しておくと便利です。

バッチファイルの作成

まず、以下の内容でバッチファイル(start-voicevox-mcp.bat)を作成します:

start-voicevox-mcp.bat
@echo off
npx -y supergateway --stdio "npx -y @t09tanaka/mcp-simple-voicevox" --baseUrl http://localhost:8000 --outputTransport streamableHttp --port 8000

スタートアップフォルダへの登録

  1. Win + R キーを押して「ファイル名を指定して実行」を開く
  2. shell:startup と入力してEnterキーを押す
  3. 開いたフォルダに作成したバッチファイルをコピー

これで、Windowsの起動時に自動的にMCPサーバーが立ち上がるようになります。

参考リンク:

https://docs.anthropic.com/ja/docs/claude-code/mcp

https://zenn.dev/t09tanaka/articles/ff2983a52959f1

https://zenn.dev/mohy_nyapan/articles/cebdf486f6c4cb

Discussion