Docker-MCP-Server

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 服务器

npm version License: MIT Node.js

📚 文档

  • 📖 - 详细的 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_MODEreadonly安全模式
SECURITY_AUDIT_LOGtrue是否启用审计日志
LOG_LEVELinfo日志级别

🔒 安全设计

只读操作

本服务器只提供只读操作,禁止以下危险行为:

  • ❌ 创建/删除容器
  • ❌ 启动/停止容器
  • ❌ 执行命令 (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/sdkMCP 官方 SDK
dockerodeDocker API 客户端
zod运行时类型校验

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License


⚠️ 安全提醒:请务必在云服务商安全组中限制 2375 端口只对您的 IP 开放,避免暴露给公网!