VOOZH about

URL: https://glama.ai/mcp/servers/ckreiling/mcp-server-docker?locale=ja-JP

⇱ Docker MCP サーバー by ckreiling | Glama


🐋 Docker MCP サーバー

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

🪩 何ができるの?

  • 🚀 自然言語でコンテナを作成する

  • 🔍 実行中のコンテナの調査とデバッグ

  • 📀 Dockerボリュームで永続データを管理する

Related MCP server: Docker MCP Server

❓ これは誰向けですか?

  • サーバー管理者: 公開 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"
 ]
 },
F
license - not found
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Latest Blog Posts

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