Skip to main content
Glama

Docker MCP Server

🐋 Docker MCP サーバー

自然言語でDockerを管理するためのMCPサーバー!

🪩 何ができるの?

  • 🚀 自然言語でコンテナを作成する
  • 🔍 実行中のコンテナの調査とデバッグ
  • 📀 Dockerボリュームで永続データを管理する

❓ これは誰向けですか?

  • サーバー管理者: 公開 Web サイトの管理などのためにリモート Docker エンジンに接続します。
  • Tinkerers: コンテナをローカルで実行し、Docker をサポートするオープンソース アプリを試します。
  • AI 愛好家の皆さん、LLM の能力の限界を押し広げましょう!

デモ

自然言語を使用した WordPress の展開を示す簡単なデモ:

https://github.com/user-attachments/assets/65e35e67-bce0-4449-af7e-9f4dd773b4b3

🏎️ クイックスタート

インストール

クロードデスクトップ

MacOSの場合: ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows の場合: %APPDATA%/Claude/claude_desktop_config.json

uvがインストールされていない場合は、システムのインストール手順に従ってください: link

次に、MCP サーバー ファイルに次のコードを追加します。

"mcpServers": { "mcp-server-docker": { "command": "uvx", "args": [ "mcp-server-docker" ] } }

便宜上、サーバーは Docker コンテナ内で実行できます。

このリポジトリをクローンした後、Docker イメージをビルドします。

docker build -t mcp-server-docker .

次に、MCP サーバー ファイルに次のコードを追加します。

"mcpServers": { "mcp-server-docker": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/var/run/docker.sock:/var/run/docker.sock", "mcp-server-docker:latest" ] } }

Docker ソケットをボリュームとしてマウントすることに注意してください。これにより、MCP サーバーがローカル Docker デーモンに接続して制御できるようになります。

📝 プロンプト

🎻 docker_compose

自然言語を使ってコンテナを作成します。デモは上記をご覧ください

プロジェクト名と必要なコンテナの説明を入力し、残りの作業は LLM に任せましょう。

このプロンプトは、LLMにplan+applyループに入るよう指示します。LLMとのやり取りは、以下の手順で行われます。

  1. LLMにどのコンテナを起動するか指示を与える
  2. LLMは簡潔な自然言語計画を計算し、それをあなたに提示します
  3. 次のいずれかを実行します。
    • 計画を適用する
    • LLMにフィードバックを提供すると、LLMが計画を再計算します
  • 名前: nginx 、コンテナ: 「ポート 9000 で公開する nginx コンテナをデプロイする」
  • 名前: wordpress 、コンテナ: 「WordPress コンテナとそれをサポートする MySQL コンテナをデプロイし、Wordpress をポート 9000 で公開する」
プロジェクトの再開

このプロンプトを使用して新しいチャットを開始すると、LLM は指定されたプロジェクトnameで作成されたすべてのコンテナー、ボリューム、およびネットワークのステータスを受け取ります。

これは主に、多くのコンテナを担当していたチャットが失われた場合にクリーンアップするのに役立ちます。

📔 リソース

サーバーは、コンテナごとにいくつかのリソースを実装します。

  • 統計: コンテナの CPU、メモリなど
  • ログ: コンテナからいくつかのログを tail する

🔨 ツール

コンテナ

  • list_containers
  • create_container
  • run_container
  • recreate_container
  • start_container
  • fetch_container_logs
  • stop_container
  • remove_container

画像

  • list_images
  • pull_image
  • push_image
  • build_image
  • remove_image

ネットワーク

  • list_networks
  • create_network
  • remove_network

ボリューム

  • list_volumes
  • create_volume
  • remove_volume

🚧 免責事項

機密データ

**機密データを含むコンテナを設定しないでください。**これにはAPIキー、データベースパスワードなどが含まれます。

LLM がローカル マシン上で実行されていない限り、LLM と交換される機密データは本質的に危険にさらされます。

シークレットをコンテナに安全に渡すことに関心がある場合は、このリポジトリにユースケースを記載した問題を報告してください。

作成されたコンテナの確認

LLM が作成するコンテナを注意深く確認してください。Docker は安全なサンドボックスではないため、MCP サーバーが Docker を介してホストマシンに影響を与える可能性があります。

安全上の理由から、このMCPサーバーは--privileged--cap-add/--cap-dropといった機密性の高いDockerオプションをサポートしていません。これらの機能にご興味がある場合は、このリポジトリにユースケースを記載して問題を提出してください。

🛠️ 構成

このサーバーはPython Docker SDKのfrom_envメソッドを使用します。設定の詳細については、ドキュメントをご覧ください。

SSH経由でDockerに接続する

この MCP サーバーは、SSH 経由でリモート Docker デーモンに接続できます。

MCP サーバー定義でssh://ホスト URL を設定するだけです。

"mcpServers": { "mcp-server-docker": { "command": "uvx", "args": [ "mcp-server-docker" ], "env": { "DOCKER_HOST": "ssh://myusername@myhost.example.com" } } }

💻 開発

開発環境を構成するには、Devbox を使用することをお勧めします。

役立つ開発コマンドについては、 devbox.jsonを参照してください。

devbox をセットアップしたら、Claude MCP 構成を設定してそれを使用できます。

"docker": { "command": "/path/to/repo/.devbox/nix/profile/default/bin/uv", "args": [ "--directory", "/path/to/repo/", "run", "mcp-server-docker" ] },
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

自然言語で Docker コンテナを管理できる MCP サーバー。ユーザーは自分でコマンドを実行しなくてもコンテナを作成、イントロスペクト、デバッグできます。

  1. 🪩 何ができるの?
    1. ❓ これは誰向けですか?
      1. デモ
        1. 🏎️ クイックスタート
          1. インストール
        2. 📝 プロンプト
          1. 🎻 docker_compose
        3. 📔 リソース
          1. 🔨 ツール
            1. コンテナ
            2. 画像
            3. ネットワーク
            4. ボリューム
          2. 🚧 免責事項
            1. 機密データ
            2. 作成されたコンテナの確認
          3. 🛠️ 構成
            1. SSH経由でDockerに接続する
          4. 💻 開発

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              An MCP server to run commands.
              Last updated -
              2
              265
              150
              TypeScript
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.
              Last updated -
              4
              160
              Python
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
              Last updated -
              3
              4
              JavaScript
              MIT License
            • A
              security
              F
              license
              A
              quality
              An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
              Last updated -
              39
              28
              • Apple

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/ckreiling/mcp-server-docker'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server