hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Allows management of Docker with natural language, including composing containers, introspecting running containers, and managing Docker volumes, networks, and images.
Allows deployment of MySQL containers through natural language commands.
Allows deployment of NGINX containers through natural language commands.
🐋 Docker MCP 服务器
一个使用自然语言管理 Docker 的 MCP 服务器!
🪩 它能做什么?
- 🚀 使用自然语言编写容器
- 🔍 自省和调试正在运行的容器
- 📀 使用 Docker 卷管理持久数据
❓ 这是给谁的?
- 服务器管理员:连接到远程 Docker 引擎,例如管理面向公众的网站。
- 修补者:在本地运行容器并试验支持 Docker 的开源应用程序。
- 人工智能爱好者:突破法学硕士的极限!
演示
使用自然语言展示 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
,请按照你的系统的安装说明进行操作:链接
然后将以下内容添加到您的 MCP 服务器文件中:
纯粹为了方便,服务器可以在 Docker 容器中运行。
克隆此存储库后,构建 Docker 镜像:
然后将以下内容添加到您的 MCP 服务器文件中:
请注意,我们将 Docker 套接字作为卷挂载;这确保 MCP 服务器可以连接并控制本地 Docker 守护进程。
📝 提示
docker_compose
使用自然语言编写容器。请参阅上面的演示。
提供项目名称和所需容器的描述,然后让 LLM 完成剩下的工作。
此提示指示LLM进入plan+apply
循环。你与LLM的互动将涉及以下步骤:
- 你给 LLM 指示要带上哪个容器
- LLM 计算出一个简洁的自然语言计划并呈现给你
- 您可以:
- 应用计划
- 向LLM提供反馈,LLM重新计算计划
示例
- 名称:
nginx
,容器:“部署一个 nginx 容器并将其暴露在端口 9000 上” - 名称:
wordpress
,容器:“部署一个 WordPress 容器和一个支持 MySQL 容器,在端口 9000 上公开 Wordpress”
恢复项目
当使用此提示开始新的聊天时,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
以获取有用的开发命令。
设置 devbox 后,您可以配置 Claude MCP 配置来使用它:
This server cannot be installed
MCP 服务器允许通过自然语言管理 Docker 容器,使用户无需自己运行命令即可编写、自省和调试容器。
- 🪩 What can it do?
- ❓ Who is this for?
- Demo
- 🏎️ Quickstart
- 📝 Prompts
- 📔 Resources
- 🔨 Tools
- 🚧 Disclaimers
- 🛠️ Configuration
- 💻 Development