一个MCP服务器,允许通过自然语言管理Docker容器,使用户能够在不自行运行命令的情况下组合、检查和调试容器。
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 的交互将涉及以下步骤:
- 您向 LLM 提供要启动哪些容器的指令
- LLM 计算一个简洁的自然语言计划并呈现给您
- 您可以选择:
- 应用该计划
- 向 LLM 提供反馈,LLM 将重新计算计划
示例
- 名称:
nginx,容器: "部署一个 nginx 容器,并将其暴露在 9000 端口" - 名称:
wordpress,容器: "部署一个 WordPress 容器和一个支持的 MySQL 容器,将 WordPress 暴露在 9000 端口"
恢复项目
当使用此提示开始新的聊天时,LLM 将接收使用给定项目 name 创建的所有容器、卷和网络的状态。
这主要用于清理,以防丢失负责许多容器的聊天记录。
📔 资源
服务器为每个容器实现了一些资源:
- 统计信息:容器的 CPU、内存等
- 日志:从容器中获取一些日志
🔨 工具
容器
list_containerscreate_containerrun_containerrecreate_containerstart_containerfetch_container_logsstop_containerremove_container
镜像
list_imagespull_imagepush_imagebuild_imageremove_image
网络
list_networkscreate_networkremove_network
卷
list_volumescreate_volumeremove_volume
🚧 免责声明
敏感数据
不要使用敏感数据配置容器。 这包括 API 密钥、数据库密码等。
与 LLM 交换的任何敏感数据本质上都是不安全的,除非 LLM 在您的本地机器上运行。
如果你对安全地将密钥传递给容器感兴趣,请在此仓库中提交一个包含你的使用场景的问题。
审查创建的容器
请注意审查LLM创建的容器。Docker不是一个安全的沙箱,因此MCP服务器可能通过Docker影响主机。
出于安全原因,此MCP服务器不支持像--privileged或--cap-add/--cap-drop这样的敏感Docker选项。如果你对这些功能感兴趣,请在此仓库中提交一个包含你的使用场景的问题。
🛠️ 配置
此服务器使用Python Docker SDK中的from_env方法。有关配置详情,请参阅
文档。
💻 开发
建议使用Devbox来配置你的开发环境。
请查看devbox.json文件以获取有用的开发命令。
来源
- 来源:github
- 链接:https://github.com/ckreiling/mcp-server-docker