Docker MCP服务器

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

  • by suvarchal
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 suvarchal/docker-mcp

使用说明

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进行配置

您可以使用附带的安装脚本使用Claude自动配置Docker MCP服务器:

npm run install-config

此脚本将:

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

手动配置

如果您更喜欢手动配置,则需要将Docker MCP服务器添加到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中的克劳德

编辑 ~/.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,以便更改在Cline中生效。如果您遇到Docker MCP服务器在Cline中无法识别或无法正常工作的问题,请尝试重新启动VS Code。

可用工具

列表_容器

列出所有Docker容器。

参数:

  • all (boolean,可选):显示所有容器(默认显示仅运行)

list_images

列出所有Docker镜像。

run_container

运行Docker容器。

参数:

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

停止容器

停止正在运行的Docker容器。

参数:

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

移除容器

删除Docker容器。

参数:

  • container (字符串,必填):容器ID或名称
  • force (boolean,可选):强制删除正在运行的容器

pull_image

从注册表中提取Docker镜像。

参数:

  • image (字符串,必填):图像名称(例如“nginx:latest”)

Claude使用示例

配置后,您可以要求Claude执行Docker操作:

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

MCP市场

这个Docker MCP服务器可以在Cline MCP Marketplace上找到,用户只需点击一下即可轻松发现和安装。

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

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

许可证

麻省理工学院