mcpField
🐳
🐳 docker-mcp

🐳 docker-mcp

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

关于 🐳 docker-mcp

docker-mcp 是一个 MCP 服务,用于通过 Claude 管理 Docker 容器和 Compose 堆栈。它面向希望在对话中操作 Docker 的用户,主要提供容器创建、Compose 部署、日志读取和容器列表等功能。

主要功能

  1. 01创建独立 Docker 容器
  2. 02部署 Docker Compose 堆栈
  3. 03获取指定容器的日志
  4. 04列出容器及其状态

适用场景

  1. 01通过对话部署 Compose 堆栈
  2. 02分析容器日志以排查问题
  3. 03查看当前运行中的容器状态

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 create-container、deploy-compose、get-logs 和 list-containers 四个工具。README 中的示例配置面向 Claude Desktop。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"docker": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
启动命令uvx docker-mcp

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

安装包
pypidocker-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🐳 docker-mcp

Python 3.12 License: MIT Code style: black smithery badge

一款功能强大的 Docker 操作模型上下文协议(MCP)服务,可通过 Claude AI 无缝管理容器和 Compose 堆栈。

✨ 功能

  • 🚀 创建和实例化容器
  • 📦 部署 Docker Compose 堆栈
  • 🔍 获取容器日志
  • 📊 列出容器并监控状态
🎬 演示
部署 Docker Compose 堆栈

https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278

分析容器日志

https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934

🚀 快速开始

要在 Claude 桌面应用中试用,请将以下内容添加到 Claude 配置文件中:

{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}
通过 Smithery 安装

要通过 Smithery 自动为 Claude 桌面应用安装 Docker MCP:

npx @smithery/cli install docker-mcp --client claude
前置条件
  • UV(包管理器)
  • Python 3.12+
  • Docker Desktop 或 Docker Engine
  • Claude Desktop
安装
Claude Desktop 配置

将服务配置添加到 Claude Desktop 配置文件中:

MacOS:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json

💻 开发配置
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-docker-mcp>",
        "run",
        "docker-mcp"
      ]
    }
  }
}
🚀 生产配置
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}

🛠️ 开发

本地设置
  1. 克隆代码仓库:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
uv sync
🔍 调试

启动 MCP Inspector 进行调试:

npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp

Inspector 将提供一个 URL,用于访问调试界面。

📝 可用工具

该服务提供以下工具:

create-container

创建独立的 Docker 容器

{
    "image": "image-name",
    "name": "container-name",
    "ports": {"80": "80"},
    "environment": {"ENV_VAR": "value"}
}
deploy-compose

部署 Docker Compose 堆栈

{
    "project_name": "example-stack",
    "compose_yaml": "version: '3.8'\nservices:\n  service1:\n    image: image1:latest\n    ports:\n      - '8080:80'"
}
get-logs

获取特定容器的日志

{
    "container_name": "my-container"
}
list-containers

列出所有 Docker 容器

{}

🚧 当前限制

  • 不支持内置的容器环境变量管理
  • 不支持卷管理
  • 不支持网络管理
  • 不支持容器健康检查
  • 不支持容器重启策略
  • 不支持容器资源限制

🤝 参与贡献

  1. 从 docker-mcp Fork 代码仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 发起 Pull Request

📜 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

✨ 作者

  • Alex Andru - 初始工作 | 核心贡献者 - @QuantGeekDev
  • Ali Sadykov - 初始工作 | 核心贡献者 - @md-archive

用 ❤️ 制作

评论

支持 Markdown

第一次接触 MCP?

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

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