mcp-server-dockerとは?
mcp-server-dockerはChristian Kreiling(GitHubユーザーckreiling)が開発し、同じ名前でPyPIに公開しているもので、エージェントがPythonのDocker SDKを通 じてDockerエンジンを管理できるようにします。コンテナ、イメージ、ネットワーク、ボリュームにわたる19のツール、コンテナのログとリアルタイムの統計のための2つのリソーステンプレート、そしてモデルがラベル付きのコンテナ一式をTerraformのように計画して適用するdocker_composeプロンプトを公開しています。stdioでのみ動作します。
Docker SDKのfrom_envメソッドで接続するため、初期状態では/var/run/docker.sockのローカルソケットを使い、DOCKER_HOST、DOCKER_TLS_VERIFY、DOCKER_CERT_PATHを尊重します。DOCKER_HOSTをssh://のURLにすると、SSH経由でリモートのエンジンに接続できます。これは2025年5月のv0.2.0で追加されました。docker-compose.ymlファイルの編集や読み取りはせず、実行中のコンテナにexecで入るツールもありません。それを追加するプルリクエストは2025年7月から未処理です。
リポジトリはGPL-3.0ライセンスで、GitHubのスターは約750、フォークは98です。GitHubのリリースは2026年8月7日のv0.3.0の1つだけで、このリリースでMCP Python SDKのバージョン2に移行しました。それ以前のPyPIの最終リリースは2025年6月の0.2.1でした。パッケージは10月28日までの1か月で約7,900回ダウンロードされました。公式のMCP registryには掲載されていません。
Docker自身のMCP Toolkitであるdocker/mcp-gatewayと混同しないでください。こちらはエージェントにコンテナを管理させるのではなく、Dockerのカタログにあるサーバーをコンテナで動かすものです。一部のまとめ記事で今も推奨されているQuantGeekDev/docker-mcpは、2024年12月14日以降コミットがありません。
mcp-server-dockerのインストール方法
uvx mcp-server-dockermcp-server-dockerは使う価値があるか?
Dockerソケットへのアクセスはホストへのアクセスであり、このサーバーはそれをそっくりモデルに渡します。Docker自身のセキュリティガイドは、コンテナがホストのルートディレクトリをマウントして制限なく変更できるため、デーモンを操作できるのは信頼できるユーザーだけにすべきだとしています。インストールのドキュメントも、dockerグループはrootレベルの権限を与えると書いています。サーバーのREADMEは、--privilegedやケーパビリティのフラグを拒否すると記していますが、create_container、run_container、recreate_containerのvolumes引数はホストの任意のパスを受け付けます。そのため、プロンプトインジェクションを受けたエージェントは、/を/hostにマウントしたコンテナや、Dockerソケット自体を内部にマウントしたコンテナを要求でき、どちらのフラグも使わずに同じ結果を得られます。
これを絞る手段はありません。19のツールのうち5つは読み取り(list_containers、list_images、list_networks、list_volumes、fetch_container_logs)で、残りの14は書き込みです。コンテナの作成、実行、起動、停止、再作成、イメージのpull、push、ビルド、削除、ネットワークとボリュームの作成と削除です。サーバーはMCPのツールアノテーションを設定しており、削除と再作成の5つのツールを破壊的とマークしてクライアントが確認を求められるようにしていますが、読み取り専用フラグも、許可リストも、マウントの制限もありません。/proc、/sys、/dev、ランタイムのソケット のマウントをブロックする2026年3月のプルリクエストは未処理で、マージされていません。
エージェントが読む入力は、攻撃者が制御できる入力でもあります。コンテナのログ、イメージのラベル、一覧ツールが返す状態のブロックはすべてモデルに戻るため、公開レジストリからpullしたコンテナのログ行は、十分ありうるインジェクションの経路です。2026年4月に出された開示の依頼では、報告者が3月にホストのファイルシステムへのアクセスとコンテナからの脱出の詳細をメールで送ったものの返事がないとしています。非公開のセキュリティ連絡先を求める2件目の依頼が10月26日に出されました。GitHubのセキュリティアドバイザリは公開されていません。
保守は止まってはいないものの、遅いです。2026年8月のリリースは、すべてのツールにテストを付けたうえでバージョン2のPython SDKに移す丁寧な書き直しでしたが、前回から14か月後のことでした。未処理のissueとプルリクエストは39件あり、うち15件がプルリクエストです。その中には、際限のないログ出力の修正や、あるユーザーが22のコンテナで約103 KBと測定したlist_containersの結果への対処が含まれます。SSHに使うParamikoは4.0未満に固定されており、未解決のissueによると既知のアドバイザリが修正されないまま残っています。
シェルツールでDocker CLIを動かす方法との違いはSSH対応で、計画と適用のプロンプトもよく考えられています。それでも中心にあるトレードオフは変わりません。使い捨てのVMや、盗まれて困るものが何もない専用のDockerホストには向いています。共有インフラにエージェントを近づけるなら、読み取り専用モードと許可リストのモードを持つKubernetesサーバーのほうが守りが堅い方法です。
真価を発揮する場面
余っているLinux VMでセルフホストのアプリを試す開発者
平易な英語の説明から、WordPressとMySQLのコンテナを立ち上げる
プロジェクト名を付けてdocker_composeプロンプトを呼び出します。モデルが計画を提案し、applyを待ってから、プロジェクトのラベル付きでrun_containerとcreate_volumeを呼び出すため、あとで一式を再開したり破棄したりできます。無料で、作り直せるVMならrootレベルの露出による損失は小さく済みます。
借りた1台のDockerホストでマーケティングサイトを運営する個人創業者
サイトのコンテナが再起動を繰り返す理由を調べ、チャット画面から再起動する
DOCKER_HOSTをssh://user@hostに設定すると、エージェントはlist_containersで再起動回数を、fetch_container_logsで直近100行のログを読めます。同じセッションでボリュームを削除したりホストのファイルシステムをマウントしたりもできるため、そのサイト以外に何も置いていないホストで使うべきです。
社員がインストールしてよいMCPサ ーバーを審査する、30人規模の企業のプラットフォーム責任者
開発者のノートPCでDockerサーバーを許可するかを決める
判断の決め手はソケットです。Linuxでは、どのツール呼び出しでもホームディレクトリや/をマウントするコンテナを作れ、サーバーにはそれを防ぐスイッチがありません。別のVMかrootlessのDockerデーモンに限定する方針のほうが、すべてのプロンプトを監査するより安上がりです。
導入前に確認すること
- 導入
- クライアントの設定にuvx mcp-server-dockerを追加します(READMEはClaude Desktopについて記載)。uvとPython 3.12以降が必要です。Dockerfileは用意されていますが、イメージは自分でビルドし、/var/run/docker.sockをマウントします。自分のユーザーでdocker psが動くなら、数分で最初のツール呼び出しができます。
- 連携
- ツールは19で、読み取り専用が5つ(list_containers、list_images、list_networks、list_volumes、fetch_container_logs)、書き込みを行うものが14あり、run_containerやrecreate_containerからbuild_image、push_image、remove_volumeまであります。2つのリソースがコンテナのログと統計を提供し、1つのプロンプトdocker_composeがラベル付きリソースに対して計画と適用のループを回します。
- データとプライバシー
- Dockerデーモンができることは何でもでき、標準的なインストールではそれはホストのrootを意味します。SSH経由ならリモートのホストで同じことができます。信頼できないイメージのログ、ラベル、コンテナの状態がモデルに届きます。すべてローカルで動作します。アドバイザリは公開されておらず、脆弱性を非公開で報告したいという2件の公開の依頼には応答がありません。
- 大規模利用時のコスト
- 無料で、費用はコンテキストです。list_containersはinspect並みの完全な状態を返し、あるユーザーは22のコンテナで約103 KBと測定しました。fetch_container_logsはtail=allをバイト数の制限なしで受け付けます。
- 制限
- 実行中のコンテナへのexec、Docker Composeファイルの対応、シークレットの扱い(READMEは機密データを渡さないよう指示しています)、--privilegedやケーパビリティのオプションはいずれもありません。stdioのみです。recreate_containerは古いコンテナの設定を引き継ぎません。
良い点
- 19のツールでコンテナ、イメージ、ネットワーク、ボリュームをカバー
- DOCKER_HOSTを設定すればSSH経由でリモートのエンジンを扱える
- 破壊的なツールには、クライアントが制御に使えるMCPアノテーションが付いている
- v0.3.0の書き直し以降、すべてのツールにテストがある
気になる点
- 読み取り専用モード、許可リスト、マウントの制限がない
- /やソケットを含め、ホストの任意のパスをマウントできる
- セキュリティの開示依頼に2026年4月から応答がない
- 2026年10月までの16か月でリリースは1回
おすすめの人
作り直しても構わない使い捨てまたは専用のDockerホストで、エージェントにコンテナを動かさせたい開発者やホームラボのユーザーです。
mcp-server-dockerの代替
mcp-server-docker:よくある質問
- mcp-server-dockerは使う価値があるか?
- 使い捨てのマシン向けとしてはよくまとまったDockerサーバーです。ただし、読み取り専用モードがないままエージェントにホストのroot相当の制御を与え、メンテナーは2件のセキュリティ報告に応じていません。 評価は5点満点中3.3点です。
- mcp-server-dockerの料金は?
- 無料のオープンソース(GPL-3.0)です。費用はDockerを動かすホストの分だけです。
- mcp-server-dockerの欠点は?
- 読み取り専用モード、許可リスト、マウントの制限がない; /やソケットを含め、ホストの任意のパスをマウントできる; セキュリティの開示依頼に2026年4月から応答がない; 2026年10月までの16か月でリリースは1回.
- mcp-server-dockerは誰に向いているか?
- 作り直しても構わない使い捨てまたは専用のDockerホストで、エージェントにコンテナを動かさせたい開発者やホームラボのユーザーです。
- チームや本番環境でmcp-server-dockerを使うと費用はいくらか?
- 無料で、費用はコンテキストです。list_containersはinspect並みの完全な状態を返し、あるユーザーは22のコンテナで約103 KBと測定しました。fetch_container_logsはtail=allをバイト数の制限なしで受け付けます。
- mcp-server-dockerは企業データを扱っても安全か?
- Dockerデーモンができることは何でもでき、標準的なインストールではそれはホストのrootを意味します。SSH経由ならリモートのホストで同じことができます。信頼できないイメージのログ、ラベル、コンテナの状態がモデルに届きます。すべてローカルで動作します。アドバイザリは公開されておらず、脆弱性を非公開で報告したいという2件の公開の依頼には応答がありません。
- mcp-server-dockerの代わりになるものは?
- 当サイトでレビューした中で最も近い代替はMCP Server Kubernetes, Filesystem (reference server) 、 Terraform MCP Serverです。
回答確認日:2026年10月28日
