返回市场
Docker-MCP

Docker-MCP

作者:suvarchal4 星标更新:2025-03-13

项目介绍

Docker MCP 服务器

用于 Docker 操作的模型上下文协议(MCP)服务器。此服务器允许 Claude 和其他 AI 助手通过 MCP 协议与 Docker 进行交互。

注意: 此 MCP 服务器支持标准的 Docker CLI 命令,但目前不支持 Docker Compose 操作,其他支持 docker-compose 的 MCP 服务器尚未与 cline 完全兼容。

特性

  • 列出 Docker 容器
  • 列出 Docker 镜像
  • 运行 Docker 容器
  • 停止运行中的容器
  • 移除容器
  • 从仓库拉取 Docker 镜像

安装

先决条件

  • Node.js 18 或更高版本
  • 已安装并正在运行的 Docker

从 npm 安装

npm install -g docker-mcp-server

从源码安装

  1. 克隆此仓库
  2. 安装依赖项:
cd docker-mcp
npm install
  1. 构建项目:
npm run build

使用方法

运行服务器

docker-mcp-server

或者如果从源码安装:

npm start

与 Claude 配置

您可以使用包含的安装脚本来自动配置 Docker MCP 服务器与 Claude:

npm run install-config

此脚本将:

  1. 检测您的 Claude 安装(桌面版和/或 VSCode)
  2. 更新配置文件以包含 Docker MCP 服务器
  3. 设置系统正确的路径

手动配置

如果您希望手动配置,请在您的 MCP 设置配置文件中添加 Docker MCP 服务器:

对于 Claude 桌面应用(macOS)

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "docker-mcp": {
      "command": "node",
      "args": ["/path/to/docker-mcp/dist/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}
对于 VSCode 中的 Claude

编辑 ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

{
  "mcpServers": {
    "docker-mcp": {
      "command": "node",
      "args": ["/path/to/docker-mcp/dist/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

注意: 在 VS Code 中配置 Docker MCP 服务器后,您可能需要重启 VS Code 才能使更改生效。如果遇到 Docker MCP 服务器未被识别或工作不正常的问题,请尝试重启 VS Code。

可用工具

list_containers

列出所有 Docker 容器。

参数:

  • all (布尔值,可选):显示所有容器(默认仅显示正在运行的)

list_images

列出所有 Docker 镜像。

run_container

运行一个 Docker 容器。

参数:

  • image (字符串,必需):要运行的 Docker 镜像
  • name (字符串,可选):容器名称
  • detach (布尔值,可选):后台运行容器
  • ports (字符串数组,可选):端口映射(例如 ["8080:80"])
  • volumes (字符串数组,可选):卷映射(例如 ["/host/path:/container/path"])
  • env (字符串数组,可选):环境变量(例如 ["KEY=value"])
  • command (字符串,可选):在容器中运行的命令

stop_container

停止一个正在运行的 Docker 容器。

参数:

  • container (字符串,必需):容器 ID 或名称

remove_container

移除一个 Docker 容器。

参数:

  • container (字符串,必需):容器 ID 或名称
  • force (布尔值,可选):强制移除正在运行的容器

pull_image

从仓库拉取一个 Docker 镜像。

参数:

  • image (字符串,必需):镜像名称(例如 "nginx:latest")

示例用法与 Claude

配置完成后,您可以请求 Claude 执行 Docker 操作:

  • "运行一个 hello-world Docker 容器"
  • "列出所有 Docker 容器"
  • "拉取最新的 nginx 镜像"
  • "在端口 8080 上运行一个 nginx 容器"
  • "停止 nginx 容器"
  • "移除所有已停止的容器"

MCP 市场

此 Docker MCP 服务器可在 Cline MCP 市场上找到,使用户能够轻松发现并一键安装。

MCP 市场提交的徽标位于 assets/logo.png 文件中。

有关 MCP 市场的更多信息,请访问:

许可证

MIT