Docker MCP
- 最終確認:
- 2026-05-25
- ライセンス:
- GPL-3.0
Docker とは
Docker は、アプリケーションを「箱詰め」して、どのパソコン・どのサーバーでも同じように動かせる仕組みです。「箱」(コンテナ)には、アプリ本体だけでなく、それを動かすために必要なライブラリや設定もすべて入っているため、「自分のパソコンでは動くのに本番では動かない」という古典的な問題を解決します。
最近の Web サービス・社内システムのほとんどが Docker で動いており、エンジニアにとっては日々のコンテナ起動・停止・ログ確認・イメージ管理が習慣化しています。Docker Compose を使うと、複数のコンテナ(Web サーバー + DB + キャッシュなど)をまとめて起動・管理できます。
Docker × AI でできること
この MCP サーバーを導入すると、Docker の日常操作を AI への一言で実行できます。
📋 コンテナ状態を確認
「今あるコンテナの一覧と状態を見せて」
→ list_containers で一覧表示
🔍 ログを解析
「api-server のログを取得して直近のエラーを抽出して」
→ fetch_container_logs + パターン解析
🏗️ イメージをビルド・プッシュ
「このディレクトリのイメージをビルドしてレジストリにプッシュして」
→ build_image + push_image
🔄 スタックを立ち上げ
「Redis と Postgres のコンテナを立ち上げて」
→ docker_compose プロンプトが自然言語の説明から構成をデプロイ
提供される主なツール
Docker MCP(mcp-server-docker)は ローカルの Docker デーモンに接続して操作します。README に記載のツール:
| 機能カテゴリ | 主なツール |
|---|---|
| コンテナ操作 | list_containers / create_container / run_container / recreate_container / start_container / stop_container / remove_container / fetch_container_logs |
| イメージ管理 | list_images / pull_image / push_image / build_image / remove_image |
| ネットワーク | list_networks / create_network / remove_network |
| ボリューム | list_volumes / create_volume / remove_volume |
| Compose(プロンプト) | docker_compose — 自然言語の説明から複数コンテナの構成をデプロイ |
補足:
docker_composeは「ツール」ではなく プロンプトとして提供され、自然言語の指示を上記のコンテナ/ネットワーク/ボリューム操作に展開してスタックを構築します。docker stats(CPU/メモリ)やdocker system pruneに相当する専用ツールは提供されていません。
Docker MCP について
Docker MCP(mcp-server-docker)は、コミュニティ開発者 ckreiling 氏が公開する MCP サーバーです(リポジトリ: ckreiling/mcp-server-docker)。Docker 社の公式提供ではありません。Python 製で、ローカルの Docker デーモンに接続して操作します。
uvx から起動すると PyPI 上の mcp-server-docker を取得して実行するため、事前のクローンやビルドは不要です。Docker イメージとしての配布もあります。
スペック
- 配布形態: PyPI パッケージ
mcp-server-docker(uvx実行)+ Docker イメージ(mcp-server-docker:latest) - 認証: 不要(ローカルの Docker デーモンに接続。リモートは
DOCKER_HOSTで SSH 指定可) - 提供元: コミュニティ実装(ckreiling/mcp-server-docker)/ GPL-3.0
- 対応範囲: コンテナ / イメージ / ネットワーク / ボリュームの操作 +
docker_composeプロンプト - リポジトリ: github.com/ckreiling/mcp-server-docker(★719・Python)
導入手順
前提条件
- Docker Desktop(macOS / Windows)または Docker Engine(Linux)が起動済み
- uv(
uvxランナー)がインストール済み
ステップ
- uv をインストール(未導入の場合。
uvxが使えるようになります) - ページ上部のタブから使用環境(Claude Desktop / Cursor / Cline)を選択し、JSON 設定をコピー
- コピーした JSON を設定ファイル(claude_desktop_config.json など)に追記して保存
- クライアントを再起動
初回起動時に uvx が PyPI から mcp-server-docker を取得します。MCP はローカルの Docker デーモンに接続して操作を実行します。
注意事項
- AI に Docker デーモンへの操作を許可する状態は、ホストシステムへの強い権限に相当します。コンテナの作成・削除やイメージ操作が可能になるため、信頼できる環境でのみ使用してください。
- 本番環境の Docker デーモンへの直接接続は避け、開発・ステージング環境での利用を推奨します。
- コンテナ・イメージ・ボリュームの削除(
remove_*)は取り消せません。AI への指示は具体的かつ明確に行ってください。 - 本サーバーはコミュニティ実装(ckreiling 氏・GPL-3.0)です。Docker 社の公式製品ではありません。更新頻度はコミュニティの活動状況に依存します(
uvxは PyPI の最新版を取得)。 - リモートの Docker ホストを操作する場合は
DOCKER_HOSTを設定してください(例:ssh://user@host.example.com)。
設定方法
MCP は、お使いの対応アプリ(クライアント)に下記の設定を貼り付けて使います。 タブからアプリを選び、表示された設定をコピーしてください。
Claude Desktop: Anthropic 公式のデスクトップ版 Claude アプリ
{
"mcpServers": {
"mcp-server-docker": {
"command": "uvx",
"args": ["mcp-server-docker"]
}
}
}
Cursor: AI 機能を内蔵したコードエディタ
{
"mcpServers": {
"mcp-server-docker": {
"command": "uvx",
"args": ["mcp-server-docker"]
}
}
}
Cline: VS Code に追加する AI アシスタント拡張
{
"mcpServers": {
"mcp-server-docker": {
"command": "uvx",
"args": ["mcp-server-docker"]
}
}
}
主なユースケース
- 「今あるコンテナの一覧と状態を見せて」と聞くだけでコンテナ状況をすぐ把握できる
- 「api-server のログを取得して直近のエラーを抽出して」と AI に指示してトラブルシューティングを加速できる
- 「このイメージをビルドしてレジストリにプッシュして」と頼むだけでデプロイ前の準備を任せられる
- 「Redis と Postgres のコンテナを立ち上げて」と自然言語で伝えると docker_compose プロンプトが構成をデプロイしてくれる
プラットフォーム別の注意事項
- Windows:Windows では Docker Desktop が必要です。`uvx` で起動した本 MCP はローカルの Docker デーモンに接続します。
- macOS:macOS では Docker Desktop または Colima 等の Docker ランタイムが必要です。
- :リモートの Docker ホストを操作する場合は環境変数 `DOCKER_HOST`(例: `ssh://user@host.example.com`)を指定します。未指定時はローカルのデーモンに接続します。