mcpField
D
Docker MCP Server

Docker MCP Server

ローカル
github.com/Freezeuクラウド・インフラ577 週間前に更新

Docker MCP Server について

Docker MCP Serverは、Windows上のDocker Desktopを操作する自動化インターフェースを開発者やツールに提供します。コンテナー、ネットワーク、イメージ、ログを扱います。

主な機能

  1. 01コンテナーのライフサイクル管理
  2. 02ネットワークの作成と管理
  3. 03イメージの取得、送信、ビルド
  4. 04イメージ詳細の確認
  5. 05コンテナーログの取得

活用シーン

  1. 01コンテナーの確認と操作
  2. 02コンテナーのネットワーク接続設定
  3. 03Dockerイメージのビルドや公開
  4. 04コンテナーログの確認

MCP 対応

MCPサーバーとして、Dockerのコンテナー、ネットワーク、イメージ、ログを管理するツールをクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"docker-freezeu": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"freezeolo/docker-mcp-server"
]
}
}
}
起動コマンドdocker run -i --rm freezeolo/docker-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocifreezeolo/docker-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Docker MCP サーバー

Docker MCP サーバーは、Windows 上の Docker Desktop とシームレスに統合し、開発者やツール向けに高度な自動化機能と操作機能を提供するModel Context Protocol(MCP)サーバーです。

前提条件

  1. Docker の公式ダウンロードページから、Windows 用 Docker Desktop をインストールします。

  2. Docker Desktop で Settings > General に移動し、
    "Expose daemon on tcp://localhost:2375 without TLS" のチェックボックスをオンにします。
    これは、MCP サーバーが Docker Desktop と通信するために必要です。

    💡 ヒント: ブラウザーで http://localhost:2375/version を開くと、
    ポートが正常に公開されていることを確認できます。設定が正しければ、
    Docker のバージョン情報を含む JSON レスポンスが表示されます。
    問題が発生した場合は、解決策が見つかる可能性がある次のディスカッションをご確認ください: WSL and Docker for Windows: Cannot connect to the Docker daemon

インストール

Claude Desktop での使用
{
  "mcpServers": {
    "docker-mcp-stdio": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "freezeolo/docker-mcp-server"
      ]
    }
  }
}

ツール

✅ 完了 🛠️ 進行中 ❌ 予定

コンテナーのライフサイクル管理 ✅
  • list_containers - コンテナーの一覧を取得 ✅
  • get_container_info - 特定のコンテナーの詳細を取得 ✅
    • container_id:コンテナー ID(string、必須)
  • start_container - コンテナーを起動 ✅
    • container_id:コンテナー ID(string、必須)
  • restart_container - コンテナーを再起動 ✅
    • container_id:コンテナー ID(string、必須)
  • stop_container - コンテナーを停止 ✅
    • container_id:コンテナー ID(string、必須)
  • remove_container - コンテナーを削除 ✅
    • container_id:コンテナー ID(string、必須)
  • create_container - 新しいコンテナーを作成 ✅
    • imageName:イメージ名(string、必須)
    • containerName:コンテナー名(string、必須)
    • command:実行するコマンド(string、任意)
    • env:環境変数(string[]、任意)
    • ports:ポートのバインド(string[]、任意)
    • volumes:ボリュームのバインド(string[]、任意)
    • network:ネットワーク名(string、任意)
    • restartPolicy:再起動ポリシー(string、任意)
ネットワーク管理 ✅
  • list_networks - すべてのネットワークを一覧表示 ✅
  • get_network_info - ネットワーク情報を取得 ✅
    • networkId:ネットワーク ID(string、必須)
  • create_network - 新しいネットワークを作成 ✅
    • networkName:ネットワーク名(string、必須)
    • driver:ネットワークドライバー(string、必須)
    • subnet:サブネット CIDR(string、必須)
    • gateway:ゲートウェイ IP(string、必須)
  • connect_container_to_network - コンテナーをネットワークに接続 ✅
    • containerId:コンテナー ID(string、必須)
    • networkId:ネットワーク ID(string、必須)
  • disconnect_container_from_network - コンテナーをネットワークから切断 ✅
    • containerId:コンテナー ID(string、必須)
    • networkId:ネットワーク ID(string、必須)
  • remove_network - ネットワークを削除 ✅
    • networkId:ネットワーク ID(string、必須)
  • get_network_containers - ネットワーク内のコンテナーを取得 ✅
    • networkId:ネットワーク ID(string、必須)
イメージ管理 ✅
  • list_images - すべてのイメージを一覧表示 ✅
  • pull_image - レジストリからイメージをプル ✅
    • imageName: タグ付きのイメージ名(文字列、必須)
  • push_image - イメージをレジストリにプッシュ ✅
    • imageName: タグ付きのイメージ名(文字列、必須)
  • remove_image - イメージを削除 ✅
    • imageId: イメージ ID(文字列、必須)
    • force: 強制削除(ブール値、任意)
  • tag_image - イメージに複数のタグを付与 ✅
    • imageId: イメージ ID(文字列、必須)
    • repository: リポジトリ名(文字列、必須)
    • tags: タグの配列(文字列[]、必須)
  • build_image - Dockerfile からイメージをビルド ✅
    • dockerfilePath: Dockerfile へのパス(文字列、必須)
    • repository: リポジトリ名(文字列、必須)
    • tags: タグの配列(文字列[]、必須)
  • get_image_details - イメージの詳細を取得 ✅
    • imageId: イメージ ID(文字列、必須)
ログ管理 ✅
  • get_container_logs - コンテナのログを取得 ✅
    • containerId: コンテナ ID(文字列、必須)
    • follow: ログ出力を追跡(ブール値、任意、デフォルト:false)
    • stdout: 標準出力を表示(ブール値、任意、デフォルト:true)
    • stderr: 標準エラー出力を表示(ブール値、任意、デフォルト:true)
    • since: 指定したタイムスタンプ以降のログを表示(文字列、任意)
    • until: 指定したタイムスタンプまでのログを表示(文字列、任意)
    • tail: 末尾から表示する行数(整数、任意)
    • timestamps: タイムスタンプを表示(ブール値、任意、デフォルト:false)

FAQ

Q: プロジェクトをインストールするにはどうすればよいですか?

A: インストールセクションの手順に従ってください。必要な依存関係がそろっていることを確認してください。

ライセンス

このプロジェクトは、MIT オープンソースライセンスの条件に基づいてライセンスされています。詳細な条件については、MITを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。