D

Docker容器管理平台

一个MCP服务器,允许通过自然语言管理Docker容器,使用户能够在不自行运行命令的情况下组合、检查和调试容器。

virtualizationos-automationdeveloper-tools

1.8k 查看 · 2026-07-07 更新

简介

一个MCP服务器,允许通过自然语言管理Docker容器,使用户能够在不自行运行命令的情况下组合、检查和调试容器。

简介

一个MCP服务器,允许通过自然语言管理Docker容器,使用户能够在不自行运行命令的情况下组合、检查和调试容器。

🐋 Docker MCP 服务器

一个用于通过自然语言管理 Docker 的 MCP 服务器!

🪩 它能做什么?

  • 🚀 使用自然语言组合容器
  • 🔍 检查和调试正在运行的容器
  • 📀 使用 Docker 卷管理持久化数据

❓ 适合谁使用?

  • 服务器管理员:连接到远程 Docker 引擎,例如管理面向公众的网站。
  • 爱好者:无需自己运行任何命令即可在本地启动容器。

🏎️ 快速开始

安装

Claude Desktop

在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json

在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

使用 `uv` 安装

要使用 uv 安装 MCP 服务器,请运行以下命令:

uv pip install git+https://github.com/ckreiling/mcp-server-docker

然后将以下内容添加到您的 MCP 服务器文件中:

"mcpServers": { "mcp-server-docker": { "command": "uv", "args": [ "--directory", "/path/to/repo", "run", "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_compose

使用自然语言来组合容器。

提供项目名称以及所需容器的描述,让 LLM 完成其余工作。

此提示指示 LLM 进入 plan+apply 循环。您与 LLM 的交互将涉及以下步骤:

  1. 您向 LLM 提供要启动哪些容器的指令
  2. LLM 计算一个简洁的自然语言计划并呈现给您
  3. 您可以选择:
    • 应用该计划
    • 向 LLM 提供反馈,LLM 将重新计算计划

示例

  • 名称: nginx,容器: "部署一个 nginx 容器,并将其暴露在 9000 端口"
  • 名称: wordpress,容器: "部署一个 WordPress 容器和一个支持的 MySQL 容器,将 WordPress 暴露在 9000 端口"

恢复项目

当使用此提示开始新的聊天时,LLM 将接收使用给定项目 name 创建的所有容器、卷和网络的状态。

这主要用于清理,以防丢失负责许多容器的聊天记录。

📔 资源

服务器为每个容器实现了一些资源:

  • 统计信息:容器的 CPU、内存等
  • 日志:从容器中获取一些日志

🔨 工具

容器

  • 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方法。有关配置详情,请参阅 文档

💻 开发

建议使用Devbox来配置你的开发环境。

请查看devbox.json文件以获取有用的开发命令。

来源

Docker容器管理平台 - MCP - HelloWorld