はじめに
cagentとは、既存のAIエージェントを複数組み合わせて特定のワークフローに特化したエージェントチームを構成することができるツールです。cagent で、Docker Desktop を利用してMCPサーバーを動かそうとしましたが、Docker is not running と怒られてしまったので、その対処法について共有します。
環境
ホストOS: Windows 11
WSL環境: Ubuntu 22.04
Docker Desktop: 4.47.0
cagent: v1.5.14
WSL上でmcpサーバーを利用した時の不具合
最初はWSL上のUbuntuにcagentをインストールし、Docker Desktopを連携した状態で動かしました。
しかし、MCPサーバーが起動せず、cagent 側で通信ができないという問題が発生しました。
恐らく、WSL環境経由では Docker Desktop のソケットとの連携が不完全なようです。
Windowsでcagentを利用してみる
次に、Windows側に直接cagentをインストールして実行してみました。
すると、MCPサーバーが問題なく動作しました。
WindowsであればDocker Desktop上のMCPサーバーの制御がうまくいくようです。
注意点:複数エージェントを用いる場合
注意点として、複数のエージェントを同時に使う場合、全てのエージェントが 同じモデル(例:openai/gpt-5) を使用していないとMCPサーバーとの通信ができなくなることがありました。
この挙動はまだ不明確ですが、内部的にMCPクライアントがモデルごとに別インスタンス化される際に競合している可能性があります。
複数エージェントを扱う際は、まず全員同じモデルを使う構成で利用するのが安全です。
参考:MCPサーバー利用時の設定例
version: "2"
agents:
root:
model: openai/gpt-5
description: A helpful AI assistant
instruction: |
Be heartful assistant
toolsets:
- type: mcp
ref: docker:duckduckgo
おまけ:Windowsにcagentを導入する方法
- powershellを開く
- cagentをインストールする
- パスが通っている場所を確認する
$env:PATH.Split(';') | ForEach-Object { $_ } - パスが通っている場所にcagent.exeを移動させる(例:C:\Windows\System32)
copy {"cagent.exeのパス"} {"パスが通っている場所(例:C:\Windows\System32\)"} - 確認
cagent --version
APIキーの環境変数を永続化する
-
notepad $PROFILEを実行して、パスが存在しないと言われたら以下のコマンドを実行するNew-Item -Path $PROFILE -Type File -Force -
notepad $PROFILEを実行してエディタで内容を以下のように編集する$env:OPENAI_API_KEY = "your_api_key"
おわりに
WSL経由だとcagentのDocker連携に不具合がある一方で、
Windows環境であればスムーズにMCPサーバーを扱えることがわかりました。
今後、cagent側でWSL統合サポートが進めば、このあたりの制約も徐々に解消されていくと思われます。