使用说明
Docker MCP Server
云巡 - 企业级安全的 Docker 容器管理 MCP 服务器
📚 文档
📖 简介
这是一个基于 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 开放,避免暴露给公网!