Carl-312/Docker-MCP-Server
3.2
If you are the rightful owner of Docker-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Docker MCP Server is an enterprise-grade secure Docker container management server based on the Model Context Protocol (MCP).
Tools
7
Resources
0
Prompts
0
Docker MCP Server
云巡 - 企业级安全的 Docker 容器管理 MCP 服务器
📚 文档
- 📖 - 详细的 Docker 接口配置说明
- ⚡ - 5 分钟快速配置参考
📖 简介
这是一个基于 Model Context Protocol (MCP) 的 Docker 管理服务器,允许 AI 助手安全地查询云服务器上的 Docker 容器和镜像信息。
✨ 核心特性
- 🌐 连接云端 Docker - 支持连接阿里云 ECS、腾讯云 CVM、AWS EC2 等远程 Docker
- ✅ 11 个只读工具 - 安全查询容器和镜像
- 🔒 企业级安全 - API 白名单、参数校验、审计日志
- 🚫 无危险操作 - 禁止创建、删除、执行等操作
- 📦 即插即用 - 支持 Claude Desktop、VS Code Copilot、Cursor 等
🚀 快速开始
安装
npm install -g docker-mcp-secure
⚙️ 配置
{
"mcpServers": {
"docker-mcp-secure": {
"command": "npx",
"args": ["docker-mcp-secure"],
"env": {
"DOCKER_HOST": "tcp://您的服务器IP:2375",
"SECURITY_MODE": "readonly",
"SECURITY_AUDIT_LOG": "true",
"LOG_LEVEL": "info"
}
}
}
}
📝 需要先在服务器上开启 Docker TCP 端口,详见
配置文件位置
Claude Desktop:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
VS Code (GitHub Copilot): .vscode/mcp.json
Cursor: ~/.cursor/mcp.json
🔧 可用工具
Docker 查询工具
| 工具名称 | 描述 |
|---|---|
docker_list_containers | 列出云服务器上的所有容器 |
docker_inspect | 查看容器详细信息 |
docker_logs | 获取容器日志 |
docker_stats | 获取容器资源使用情况 |
docker_list_images | 列出所有镜像 |
docker_image_info | 查看镜像详细信息 |
docker_connection_status | 查看 Docker 连接状态 |
配置管理工具
| 工具名称 | 描述 |
|---|---|
docker_set_connection | 在对话中设置 Docker 连接(会话级) |
docker_get_session_config | 查看当前会话配置状态 |
docker_reset_config | 重置为环境变量默认配置 |
docker_generate_config | 生成 MCP 配置 JSON |
🌐 环境变量
| 变量名 | 默认值 | 描述 |
|---|---|---|
DOCKER_HOST | - | Docker 主机地址(如 tcp://your-ip:2375) |
SECURITY_MODE | readonly | 安全模式 |
SECURITY_AUDIT_LOG | true | 是否启用审计日志 |
LOG_LEVEL | info | 日志级别 |
🔒 安全设计
只读操作
本服务器只提供只读操作,禁止以下危险行为:
- ❌ 创建/删除容器
- ❌ 启动/停止容器
- ❌ 执行命令 (exec)
- ❌ 构建/推送镜像
- ❌ 访问文件系统
API 白名单
只允许以下 Docker API 端点:
GET /containers/json- 列出容器GET /containers/{id}/json- 容器详情GET /containers/{id}/logs- 容器日志GET /containers/{id}/stats- 容器统计GET /images/json- 列出镜像GET /images/{id}/json- 镜像详情
参数校验
自动拦截危险参数模式:
- 命令注入 (
;,|,&&) - 路径遍历 (
..) - 代码执行 (反引号,
$())
🏗️ 本地开发
# 克隆项目
git clone https://github.com/Carl-312/Docker-MCP-Server.git
cd Docker-MCP-Server
# 安装依赖
npm install
# 开发模式
npm run dev
# 构建
npm run build
# 测试
npm test
📋 依赖项
| 包名 | 用途 |
|---|---|
@modelcontextprotocol/sdk | MCP 官方 SDK |
dockerode | Docker API 客户端 |
zod | 运行时类型校验 |
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License
⚠️ 安全提醒:请务必在云服务商安全组中限制 2375 端口只对您的 IP 开放,避免暴露给公网!