mcpField
🐳
🐳 docker-mcp

🐳 docker-mcp

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

🐳 docker-mcp について

docker-mcp は、Claude を通じてDockerコンテナとComposeスタックを管理するMCPサーバーです。会話からDocker操作を行いたいユーザー向けで、コンテナ作成、Compose デプロイ、ログ取得、コンテナ一覧表示に対応しています。

主な機能

  1. 01独立したDockerコンテナの作成
  2. 02Docker Compose スタックのデプロイ
  3. 03特定コンテナのログ取得
  4. 04コンテナの一覧表示と状態確認

活用シーン

  1. 01会話からComposeスタックをデプロイする
  2. 02コンテナログを分析して問題を調査する
  3. 03実行中コンテナの状態を確認する

MCP 対応

本プロジェクトはMCPサーバーであり、create-container、deploy-compose、get-logs、list-containers の各ツールをMCPクライアントに提供します。READMEの設定例はClaude Desktop向けです。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"docker": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
起動コマンドuvx docker-mcp

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

パッケージ
pypidocker-mcp

ツール

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

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

詳細

🐳 docker-mcp

Python 3.12 License: MIT Code style: black smithery badge

Docker の操作に対応した強力な Model Context Protocol(MCP)サーバーです。Claude AI を通じて、コンテナーや Compose スタックをシームレスに管理できます。

✨ 機能

  • 🚀 コンテナーの作成と起動
  • 📦 Docker Compose スタックのデプロイ
  • 🔍 コンテナーログの取得
  • 📊 コンテナーの一覧表示とステータスの監視
🎬 デモ
Docker Compose スタックのデプロイ

https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278

コンテナーログの分析

https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934

🚀 クイックスタート

Claude デスクトップアプリで試すには、Claude の設定ファイルに以下を追加してください。

{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}
Smithery 経由でのインストール

Smithery 経由で Docker MCP を Claude デスクトップアプリに自動インストールするには、以下を実行してください。

npx @smithery/cli install docker-mcp --client claude
前提条件
  • UV(パッケージマネージャー)
  • Python 3.12+
  • Docker Desktop または Docker Engine
  • Claude Desktop
インストール
Claude Desktop の設定

サーバーの設定を Claude Desktop の設定ファイルに追加してください。

MacOS:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json

💻 開発用の設定
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-docker-mcp>",
        "run",
        "docker-mcp"
      ]
    }
  }
}
🚀 本番用の設定
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}

🛠️ 開発

ローカル環境のセットアップ
  1. リポジトリをクローンします。
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
  1. 仮想環境を作成して有効化します。
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 依存関係をインストールします。
uv sync
🔍 デバッグ

デバッグ用に MCP Inspector を起動します。

npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp

Inspector から、デバッグ用インターフェースにアクセスするための URL が提示されます。

📝 利用可能なツール

サーバーでは以下のツールを利用できます。

create-container

単独の Docker コンテナーを作成します。

{
    "image": "image-name",
    "name": "container-name",
    "ports": {"80": "80"},
    "environment": {"ENV_VAR": "value"}
}
deploy-compose

Docker Compose スタックをデプロイします。

{
    "project_name": "example-stack",
    "compose_yaml": "version: '3.8'\nservices:\n  service1:\n    image: image1:latest\n    ports:\n      - '8080:80'"
}
get-logs

指定したコンテナーのログを取得します。

{
    "container_name": "my-container"
}
list-containers

すべての Docker コンテナーを一覧表示します。

{}

🚧 現在の制限事項

  • コンテナーの環境変数には標準で対応していません
  • ボリューム管理には対応していません
  • ネットワーク管理には対応していません
  • コンテナーのヘルスチェックには対応していません
  • コンテナーの再起動ポリシーには対応していません
  • コンテナーのリソース制限には対応していません

🤝 コントリビューション

  1. docker-mcp からリポジトリをフォークします
  2. 機能追加用のブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. プルリクエストを作成します

📜 ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

✨ 作者

  • Alex Andru - 初期開発 | コアコントリビューター - @QuantGeekDev
  • Ali Sadykov - 初期開発 | コアコントリビューター - @md-archive

❤️ を込めて作成

コメント

MCP は初めてですか?

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

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