2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows版 IBM BobでWSL上のDocker MCP Serverを利用する ― MCP設定例

2
Last updated at Posted at 2026-08-12

はじめに

MCP Server の提供元ドキュメントには、通常、AI Agent 側の設定例も記載されています。

ただし、PC が Windows の場合は、Docker Desktop for Windows を使用し、MCP 設定から docker command を直接実行する例が多く見られます。一方、Docker を WSL(Windows Subsystem for Linux)内に用意している場合に、Windows 上の AI Agent からどのように MCP Server を起動するかは、あまり紹介されていません。

この構成では、一般的な設定例をそのまま Copy & Paste しても、Windows 上の Bob から WSL 内の docker を直接呼び出すことができません。

そこで本記事では、IBM Cloud Code Engine MCP Server を例に、wsl.exe を経由して WSL 上の Docker container を起動するための Bob の MCP 設定を紹介します。

今回使用する MCP Server:

MCP Server の build 方法や機能の詳細は上記 repository を参照してください。本記事では、Windows 版 Bob と WSL 上の MCP Server を接続するための設定に焦点を当てます。

本記事の対象構成

本記事で対象とする Local PC 内の構成は以下の通りです。

Bob は Windows 上で動作し、Code Engine MCP Server は WSL 上の Docker container として動作します。

image.png

Bob の MCP 設定では、wsl.exe を経由して対象の WSL distribution を指定し、その中で docker run を実行します。Bob と MCP Server は STDIO で通信します。

なお、この Code Engine MCP Server は、mcp.env から渡された IBM Cloud API key を使用して IBM Cloud API にアクセスします。IBM Cloud CLI を経由する構成ではありません。

事前準備

WSL distribution 名を確認する

Windows の PowerShell または Command Prompt で以下を実行します。

wsl -l -v

出力例:

  NAME              STATE           VERSION
* Ubuntu-26.04      Running         2

重要
Ubuntu-26.04 は筆者の環境での名前です。UbuntuUbuntu-24.04 など、wsl -l -v で確認した実際の distribution 名に置き換えてください。

Docker image と環境変数ファイルを準備する

MCP Server の repository から Docker image を build します。

docker build -t code-engine-mcp:latest .

IBM Cloud の認証情報は Bob の設定に直接記述せず、WSL 上の環境変数ファイルに保存します。

/home/<WSL_USER>/.config/code-engine-mcp/mcp.env

設定例:

IBMCLOUD_API_KEY=<YOUR_IBM_CLOUD_API_KEY>
IBMCLOUD_REGION=jp-tok
LOG_LEVEL=INFO

認証情報を含むため、ファイルの権限を制限し、Git repository には commit しないようにします。

chmod 600 ~/.config/code-engine-mcp/mcp.env

Bob の MCP 設定

Bob の MCP 設定画面から、Global MCP または Project MCP の設定ファイルを開き、以下を追加します。

{
  "mcpServers": {
    "ibm-code-engine-mcp": {
      "command": "wsl.exe",
      "args": [
        "-d",
        "Ubuntu-26.04",
        "--",
        "docker",
        "run",
        "-i",
        "--rm",
        "--env-file",
        "/home/<WSL_USER>/.config/code-engine-mcp/mcp.env",
        "code-engine-mcp:latest"
      ]
    }
  }
}

Copy & Paste 後、以下を自分の環境に合わせて変更します。

設定箇所 変更内容
Ubuntu-26.04 wsl -l -v で確認した distribution 名
<WSL_USER> WSL 上のユーザー名
mcp.env の path 環境変数ファイルを別の場所に保存した場合は、その実際の Linux path
code-engine-mcp:latest build した Docker image 名や tag が異なる場合は、その実際の値

設定のポイント

  • command: wsl.exe:Windows 上の Bob から WSL を起動します。
  • -d Ubuntu-26.04:Docker を用意した WSL distribution を指定します。
  • --:これ以降の docker run ... を WSL 側で実行する command として渡します。
  • -i:Bob と MCP Server が STDIO で通信するために必要です。
  • --rm:MCP Server 終了後に container を削除します。
  • --env-file:IBM Cloud API key などを WSL 上のファイルから渡します。

--env-file に指定するのは Windows path ではなく、Docker を実行する WSL から見える Linux path です。

/home/<WSL_USER>/.config/code-engine-mcp/mcp.env

また、Docker image 名は code-engine-mcp:latest と記述します。JSON 内で code-engine-mcp\:latest のように : を escape する必要はありません。

接続確認と注意点

Bob 上で接続状態を確認する

設定を保存した後、Bob Settings の「MCP」画面を開き、追加した MCP Server のステータスを確認します。

以下のように ibm-code-engine-mcp が表示され、ステータスが「接続済み」になれば、MCP Server との接続は成功です。
image.png

まず WSL 上の Docker を確認する

Bob から接続できない場合は、PowerShell から同じ WSL distribution の Docker を実行できるか確認します。

wsl -d Ubuntu-26.04 -- docker version
wsl -d Ubuntu-26.04 -- docker image inspect code-engine-mcp:latest

ここでエラーになる場合は、Bob の設定ではなく、WSL 側の Docker daemon、権限、image 名を先に確認します。

Region の default 値に注意する

この MCP Server では、IBMCLOUD_REGION を指定しない場合、default で us-south が使用されます。東京 region を利用する場合は、mcp.env に以下を設定します。

IBMCLOUD_REGION=jp-tok

同じ API key で CLI 操作は成功するのに MCP Server では対象 resource が見つからない場合は、IAM 権限だけでなく region も確認します。

Connected でも tool が表示されない場合

MCP Server が Connected でも、現在の chat が変更前の tool 情報を保持している場合があります。その場合は、以下を順に試します。

  1. MCP Server を Restart する
  2. 新しい chat を開始する
  3. 必要に応じて Bob を再起動する

実際には、新しい chat を開始することで tool が認識されたケースがありました。

Always Allow と IBM Cloud IAM を分けて確認する

Always Allow は、Bob 側で MCP tool の実行承認を省略する設定です。IBM Cloud IAM の権限を追加するものではありません。

実際に試した際には、必要な tool の実行が許可されていない状態で処理が進まず、Bob が API key の権限不足を原因候補として回答するケースがありました。エラー時は、以下を分けて確認します。

  • Bob 側で MCP tool の実行が許可されているか
  • API key に必要な IBM Cloud IAM 権限があるか

検証時に Always Allow を使用する場合も、tool の内容を確認し、必要なものだけを有効にします。利用しない tool を無効にすると、tool 定義による context の消費も抑えられます。

まとめ

Windows 版 Bob から WSL 上の Docker MCP Server を使用する場合は、commandwsl.exe を指定し、args で WSL distribution と docker run command を渡します。

特に重要なのは以下の点です。

  • -d には実際の WSL distribution 名を指定する
  • mcp.env は WSL から参照できる Linux path で指定する
  • IBMCLOUD_REGION で対象 region を明示する
  • Connected でも tool が見えない場合は、新しい chat も試す
  • Bob の tool 実行許可と IBM Cloud IAM 権限を分けて確認する

この設定方法は、Windows 上の Bob から WSL 内で動作するほかの Docker-based MCP Server を利用する場合にも応用できます。

参考情報

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?