mcpField
@
@rog0x/mcp-docker-tools

@rog0x/mcp-docker-tools

本地服务
github.com/rog0x云与基础设施132 周前更新

关于 @rog0x/mcp-docker-tools

@rog0x/mcp-docker-tools 是面向 AI Agent 的 Docker 管理 MCP 服务,可检查容器和镜像,并分析 Dockerfile 与 Compose 配置。它还支持查看容器日志及筛选内容。

主要功能

  1. 01列出容器状态与资源使用
  2. 02查看镜像大小和层数
  3. 03分析 Dockerfile 实践与安全
  4. 04检查 Compose 服务配置
  5. 05按条件查看容器日志

适用场景

  1. 01检查运行中或已停止的容器
  2. 02排查镜像信息与体积
  3. 03审阅 Dockerfile 和 Compose 配置
  4. 04按关键字查找容器日志

MCP 相关

该服务通过 MCP 向 AI 客户端提供 5 个 Docker 检查与分析工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"docker-tools": {
"command": "npx",
"args": [
"-y",
"@rog0x/mcp-docker-tools"
]
}
}
}
启动命令npx -y @rog0x/mcp-docker-tools

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@rog0x/mcp-docker-tools1.0.1

工具

5

收录的工具列表 · 更新于 3 周前

参数类型必填说明
allboolean否如果为 true,则显示包括已停止容器在内的所有容器。默认为 false(仅显示正在运行的容器)。
formatenum否输出格式:'table' 表示易读文本,'json' 表示结构化数据。默认为 'json'。table | json

详细介绍

mcp-docker-tools

基于 Model Context Protocol 构建的 AI Agent Docker 管理工具。

提供 5 种用于检查容器、镜像、Dockerfile 和 Compose 配置的工具,LLM 可通过 MCP 使用这些工具。

工具

工具描述
docker_container_list列出正在运行或所有容器,并显示状态、端口、镜像、创建时间及资源使用情况(CPU、内存、网络/块 I/O)
docker_image_list列出 Docker 镜像,并显示大小、标签、创建日期和层数
docker_dockerfile_analyze分析 Dockerfile 是否符合最佳实践:多阶段构建、非 root 用户、层缓存、镜像大小、安全性
docker_compose_analyze分析 docker-compose.yml:服务、端口、卷、网络、健康检查、依赖项和改进建议
docker_container_logs获取容器日志,支持尾部内容、关键词筛选、时间范围和时间戳

先决条件

  • Node.js >= 18
  • Docker CLI 已安装,且可通过 PATH 访问
  • Docker 守护进程正在运行(适用于容器/镜像工具)

安装

git clone <repo-url>
cd mcp-docker-tools
npm install
npm run build

在 Claude Desktop 中使用

将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json):

{
  "mcpServers": {
    "docker-tools": {
      "command": "node",
      "args": ["D:/products/mcp-servers/mcp-docker-tools/dist/index.js"]
    }
  }
}

在 Claude Code 中使用

claude mcp add docker-tools node D:/products/mcp-servers/mcp-docker-tools/dist/index.js

或者添加到 .claude/settings.json:

{
  "mcpServers": {
    "docker-tools": {
      "command": "node",
      "args": ["D:/products/mcp-servers/mcp-docker-tools/dist/index.js"]
    }
  }
}

工具示例

列出正在运行的容器
{ "tool": "docker_container_list" }
列出所有容器,包括已停止的容器
{ "tool": "docker_container_list", "args": { "all": true, "format": "table" } }
按名称筛选并列出镜像
{ "tool": "docker_image_list", "args": { "filter": "node" } }
分析 Dockerfile
{
  "tool": "docker_dockerfile_analyze",
  "args": {
    "content": "FROM node:20\nCOPY . .\nRUN npm install\nCMD [\"node\", \"index.js\"]"
  }
}
分析 docker-compose.yml
{
  "tool": "docker_compose_analyze",
  "args": {
    "content": "services:\n  web:\n    image: nginx\n    ports:\n      - 80:80"
  }
}
获取容器日志
{
  "tool": "docker_container_logs",
  "args": { "container": "my-app", "tail": 50, "filter": "error" }
}

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。