Token导航 LogoToken导航TokenDH.com
Go MCP Docker logo
运维云端stdio官方级别未说明来源级核验

Go MCP Docker

MCP Server

MCP Docker Deployer是一个生产就绪的工具,通过Model Context Protocol实现AI助手与Docker基础设施的无缝集成,使LLMs能够安全高效地执行Docker操作。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
开发工具GoClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

wahyurudiyan

提供方

wahyurudiyan

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \

详细介绍

MCP Docker 部署器

🐳 这个表情符号在中文里通常被理解为“鲸鱼”或“海豚”的形象,具体翻译可能因语境而异,但直接对应的文字可以是“鲸鱼”或“海豚”。不过,由于表情符号的直观性,很多时候直接使用“🐳”即可,无需翻译成具体文字。如果非要翻译,可以简单地说“鲸鱼”或“海豚”。 一个针对Docker操作的专业MCP(模型上下文协议)服务器,具备企业级架构

](https://golang.org) ![License](LICENSE) ![Build Status](https://github.com/wahyurudiyan/go-mcp-docker)

MCP Docker Deployer 是一款已准备好投入生产的工具,它通过模型上下文协议(Model Context Protocol)实现了人工智能助手与 Docker 基础设施之间的无缝集成。该工具使大型语言模型(LLMs)能够通过简洁、结构清晰的界面安全高效地执行 Docker 操作。

🚀 主要功能

🎯(目标、瞄准) 核心功能

  • Docker镜像管理列出、检查和管理Docker镜像
  • 集装箱运营查看容器状态、日志并管理生命周期
  • Docker Compose 集成从 Compose 文件部署多容器应用程序
  • 实时监控跟踪部署进度和容器状态

🏗️(建筑工地) 企业架构

  • 清洁架构通过接口驱动设计实现关注点分离
  • 依赖注入适用于可测试和可维护代码的适当依赖注入(DI)容器
  • 设计模式工厂模式、策略模式和单例模式正确实现
  • 错误处理全面的错误处理与结构化日志记录

🧪(表示实验室或化学实验的符号) 质量保证

  • 单元测试关键组件的测试覆盖率超过95%
  • 已准备好集成便于模拟的接口,轻松进行测试
  • 准备好实施CI/CD(持续集成/持续交付)带有构建自动化和Docker支持的Makefile
  • 代码质量遵循Go的最佳实践和惯用模式

🛠️(工具或修理的象征,无直接对应中文词汇,可理解为“工具”或根据上下文译为“修理工具”等) 开发者体验

  • 轻松配置基于环境的配置,带有合理的默认值
  • 集装箱就绪用于生产部署的多阶段Docker构建
  • 文档包含示例的全面文档
  • 开发工具代码检查、格式化和测试自动化

🎯 使用场景

🤖 表示机器人或机器人的形象。 AI助手集成

  • ChatGPT/Claude 集成启用AI助手管理Docker基础设施
  • 自动化部署由大型语言模型(LLM)驱动的部署工作流
  • 基础设施管理基于人工智能的容器编排
  • 发展援助帮助开发人员进行Docker操作

🏢 翻译为中文是“办公楼”或“公司大楼”。这个表情符号通常用来代表办公环境或公司场所。 企业场景

  • CI/CD 管道(或:持续集成/持续交付流水线)与自动化部署系统集成
  • DevOps 工作流简化集装箱管理操作
  • 监控与调试快速集装箱检查与故障排除
  • 多环境管理在开发、预生产和生产环境中进行部署

🛠️(工具/修理/维修的象征) 开发工作流程

  • 本地开发为开发环境快速设置容器
  • 测试自动化自动化测试环境配置
  • 微服务管理部署和管理复杂的服务架构
  • 资源优化监控并优化容器资源使用

🏆 为什么选择MCP Docker Deployer?

准备就绪,可投入生产

  • 企业级架构设计时考虑了可扩展性和可维护性
  • 全面测试高测试覆盖率确保可靠性
  • 错误容错性强大的错误处理和恢复机制
  • 性能优化高效资源利用和快速操作

🔧 修理工具或螺丝刀的符号,常用于表示需要修理或调整的物品或情况。 对开发者友好

  • 清洁代码结构良好、易于阅读和维护的代码库
  • 轻松扩展接口驱动的设计便于轻松添加功能
  • 文档包含实用示例的全面文档
  • 社区支持开源且持续维护

🚀 表情符号“🚀”通常表示火箭、快速前进或加速。在中文中,它可以直接用作描述火箭或表示快速、迅速的意思。例如:“我们即将发射火箭(🚀)!”或者“让我们加速前进(🚀)!” 现代发展

  • Go 最佳实践遵循Go语言的惯用模式和约定
  • 容器原生设计时考虑了容器化的需求
  • 云就绪适用于云原生部署
  • 符合标准MCP协议确保广泛兼容性

建筑学

这个项目遵循Go语言的最佳实践,采用了清晰的架构设计:

.
├── cmd/                    # Application entry points
│   └── main.go            # Main application entry point
├── internal/              # Private application code
│   ├── app/               # Application setup and DI
│   ├── config/            # Configuration management
│   ├── docker/            # Docker client operations
│   ├── compose/           # Docker Compose handling
│   ├── logger/            # Logging abstraction
│   ├── mcp/               # MCP protocol handling
│   └── utils/             # Utility functions
├── bin/                   # Build output
├── Dockerfile             # Container build
├── Makefile              # Build automation
├── docker-entrypoint.sh   # Container entry point
├── .gitignore            # Git ignore rules
├── LICENSE               # MIT License
├── README.md             # Project documentation
└── go.mod                # Go module definition

所使用的设计模式

  • 接口隔离所有主要组件的界面均简洁明了
  • 依赖注入通过构造函数进行正确的依赖注入(DI)
  • 工厂模式简洁的对象创建
  • 策略模式可插拔的实现
  • 单例模式在适当的情况下共享资源

🚀 快速入门

先决条件

  • Docker已安装并正在运行
  • Go 1.24及以上版本从源代码构建
  • 制造用于构建自动化(可选)

⚡ 一键设置

# Clone and build
git clone https://github.com/wahyurudiyan/go-mcp-docker.git
cd go-mcp-docker
make all

# Run the MCP server
./bin/mcp-docker-deployer

🐳 Docker 快速入门

# Pull and run
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
  wahyurudiyan/mcp-docker-deployer:latest

# Or build locally
docker build -t mcp-docker-deployer .
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock mcp-docker-deployer

📋 安装

来自源(或“来源”)

# Clone the repository
git clone https://github.com/wahyurudiyan/go-mcp-docker.git
cd go-mcp-docker

# Install dependencies
make deps

# Build the application
make build

# Verify installation
./bin/mcp-docker-deployer --version

使用 Docker

# Build the image
docker build -t mcp-docker-deployer .

# Run with Docker socket access
docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e LOG_FILE=/tmp/docker-deployer.log \
  mcp-docker-deployer

# Run in background
docker run -d \
  --name mcp-docker-deployer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  mcp-docker-deployer

来自二进制发布版

# Download the latest release (coming soon)
curl -L https://github.com/wahyurudiyan/go-mcp-docker/releases/latest/download/mcp-docker-deployer-linux-amd64 -o mcp-docker-deployer

# Make executable
chmod +x mcp-docker-deployer

# Run
./mcp-docker-deployer

配置

该应用程序可以通过环境变量进行配置:

变量默认值描述
LOG_FILEdocker-deployer.log日志文件路径
DOCKER_HOSTDocker 守护进程套接字
MCP_TOOL_NAMEDocker Deployer ToolMCP 工具名称
MCP_TOOL_VERSION1.2.0MCP 工具版本
APP_NAMEmcp-docker-deployer应用程序名称

💡 使用示例

作为MCP服务器

该应用程序作为一个MCP服务器运行,通过stdio进行通信:

# Basic usage
./bin/mcp-docker-deployer

# With custom log file
LOG_FILE=/var/log/mcp-docker.log ./bin/mcp-docker-deployer

# With custom configuration
MCP_TOOL_NAME="My Docker Tool" ./bin/mcp-docker-deployer

可用操作

📦 箱子/包裹 Docker镜像管理

  • 列出图片: list imagesimages
  • 图像检查查看图片详情、尺寸和创建日期
  • 标签管理查看镜像标签和仓库

🐳 这个表情符号在中文中通常被理解为“鲸鱼”或“水瓶”(根据上下文可能有所不同),但直接翻译并没有一个固定的中文词汇,因为它是一个图形表情,用于网络交流中表达特定的情绪或情境。如果非要给一个大致的描述,可以是“鲸鱼”或“水瓶图案”。在实际使用中,它可能代表一种轻松、可爱或神秘的氛围。 集装箱操作

  • 列出容器list containerscontainersps
  • 集装箱状态查看运行中、已停止和已退出的容器
  • 资源监控检查容器资源使用情况

🚀 表示火箭、快速上升或加速等意思。 Docker Compose 部署

  • 部署服务: compose upupdeploy
  • 多容器应用部署复杂应用程序
  • 服务管理启动、停止和监控服务

🎯 MCP请求示例

基本的Docker操作

{
  "method": "tools/call",
  "params": {
    "name": "docker_deployer",
    "arguments": {
      "prompt": "show me all docker images"
    }
  }
}
{
  "method": "tools/call",
  "params": {
    "name": "docker_deployer",
    "arguments": {
      "prompt": "list all running containers"
    }
  }
}

Docker Compose 部署

{
  "method": "tools/call",
  "params": {
    "name": "docker_deployer",
    "arguments": {
      "sequence": ["list images", "compose up"],
      "compose_yaml": "version: '3.8'\nservices:\n  web:\n    image: nginx:latest\n    ports:\n      - '80:80'\n    restart: always\n  redis:\n    image: redis:alpine\n    ports:\n      - '6379:6379'"
    }
  }
}

复杂的多步骤操作

{
  "method": "tools/call",
  "params": {
    "name": "docker_deployer",
    "arguments": {
      "sequence": [
        "list images",
        "list containers",
        "compose up"
      ],
      "compose_yaml": "version: '3.8'\nservices:\n  database:\n    image: postgres:13\n    environment:\n      POSTGRES_DB: myapp\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: password\n    ports:\n      - '5432:5432'"
    }
  }
}

🔧 集成示例

Claude 桌面集成

{
  "mcpServers": {
    "docker-deployer": {
      "command": "/path/to/mcp-docker-deployer",
      "args": []
    }
  }
}

定制化AI助手

// Example Go integration
client := mcp.NewClient("docker-deployer")
response, err := client.Call(mcp.CallToolRequest{
  Name: "docker_deployer",
  Arguments: map[string]interface{}{
    "prompt": "list all containers",
  },
})

🔍 故障排除

常见问题

Docker 套接字连接

# Error: "Cannot access Docker daemon"
# Solution: Ensure Docker is running and socket is accessible
sudo systemctl status docker
sudo usermod -aG docker $USER

权限问题

# Error: "Permission denied"
# Solution: Check file permissions and Docker socket access
ls -la /var/run/docker.sock
sudo chmod 666 /var/run/docker.sock

构建问题

# Error: "Go modules not found"
# Solution: Clean and rebuild
make clean
make deps
make build

调试模式

# Enable verbose logging
LOG_LEVEL=debug ./bin/mcp-docker-deployer

# Check configuration
./bin/mcp-docker-deployer --config-check

日志分析

# View real-time logs
tail -f docker-deployer.log

# Search for errors
grep "ERROR" docker-deployer.log

# View recent activity
tail -n 50 docker-deployer.log

⚡ 性能与基准测试

🚀 火箭/快速前进/飞速发展(根据上下文可灵活翻译) 性能特性

  • 快速启动\< 100毫秒初始化时间
  • 内存不足\< 50MB 基线内存使用量
  • 高吞吐量每秒1000+次操作
  • 高效的输入/输出(I/O)针对大输出的流式响应

📊(表格) 基准测试(或基准指标)

操作平均时间内存使用
列出图片45毫秒2MB
列出容器32毫秒1.5MB
构建并部署2.3秒8MB
启动时间89毫秒12MB

🔧 修理工具或螺丝刀的符号,常用于表示需要修理或调整的物品或情况。 优化特性

  • 连接池重用Docker客户端连接
  • 流式输出大输出量高效传输
  • 缓存针对重复操作的智能缓存
  • 资源管理适当的清理和垃圾回收

🛣️ 路线图

🎯(目标) 版本1.3.0(2024年第四季度)

  • \[ \] 集装箱管理启动、停止、重启容器
  • \[ \] 批量操作创建、挂载、管理卷
  • \[ \] 网络管理Docker 网络操作
  • \[ \] 图像操作拉取、推送、删除镜像

🚀 表情符号“🚀”在中文中通常被理解为“火箭”或“快速前进”的意思,没有直接的中文翻译,但可以根据上下文理解为“火箭”或类似含义的词汇。 版本1.4.0(2025年第一季度)

  • \[ \] Kubernetes 支持基本的Kubernetes(k8s)集成
  • \[ \] 监控集成Prometheus 指标
  • \[ \] 网络仪表盘用于监控的简单网页用户界面
  • \[ \] 备份/恢复容器状态持久化

🌟 版本2.0.0(2025年第二季度)

  • \[ \] 多集群支持管理多个Docker主机
  • \[ \] 高级安全基于角色的访问控制(RBAC)和身份验证
  • \[ \] 插件系统可扩展架构
  • \[ \] GraphQL API现代API接口

💡 灵感/想法(常用于表示突然想到的点子或创意) 未来改进方向

  • \[ \] 基于人工智能的优化智能资源管理
  • \[ \] 成本追踪云成本优化
  • \[ \] 合规安全合规扫描
  • \[ \] 集成中心与流行工具连接

🤝 贡献(或“参与贡献”)

我们欢迎投稿!以下是您能提供的帮助方式:

🎯(目标/靶心) 贡献领域

  • 功能开发新的Docker操作
  • 文档改进文档和示例
  • 测试增加更多的测试覆盖率
  • 演出优化现有代码
  • 错误修复快来帮忙消灭这些小错误!

🛠️(工具/螺丝刀) 开发环境设置

# Prerequisites
- Go 1.24 or later
- Docker daemon running
- Make (optional, for build automation)

# Clone the repository
git clone https://github.com/wahyurudiyan/go-mcp-docker.git
cd go-mcp-docker

# Install dependencies
make deps

# Run tests
make test

# Build the application
make build

🔄 翻译成中文是:循环/旋转(符号本身无具体含义,根据上下文可理解为表示循环、重复或旋转的动作) 开发工作流程

# Format code
make fmt

# Run linter
make lint

# Run tests with coverage
make test-coverage

# Development build and run
make dev

# Cross compile for Linux
make build-linux

📝 翻译为中文是:📝(这个符号本身没有直接的中文翻译,它通常代表“笔记”或“待办事项”的意思,可以理解为“记事本”或“待办事项列表”的图标。) 贡献指南

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 提交一个拉取请求

🎨 表示涂鸦、艺术创作或绘画的符号。 代码风格

  • 遵循Go语言的规范和格式
  • 为新功能编写单元测试
  • 根据需要更新文档
  • 使用有意义的提交信息
  • 保持拉取请求(PRs)的针对性和描述清晰

测试

该项目包括全面的单元测试:

# Run all tests
make test

# Run tests with coverage
make test-coverage

# Run specific package tests
go test ./internal/utils
go test ./internal/config
go test ./internal/logger

API 参考文档

Docker 客户端接口

type Client interface {
    ListImages(ctx context.Context, w io.Writer) error
    ListContainers(ctx context.Context, w io.Writer) error
    Close() error
}

编曲管理界面

type Manager interface {
    Deploy(ctx context.Context, composeYAML string, w io.Writer) error
    ParseServices(composeYAML string) ([]composeTypes.ServiceConfig, error)
}

日志记录接口

type Logger interface {
    Info(args ...interface{})
    Infof(format string, args ...interface{})
    Error(args ...interface{})
    Errorf(format string, args ...interface{})
    Fatal(args ...interface{})
    Fatalf(format string, args ...interface{})
    WithField(key string, value interface{}) *logrus.Entry
    WithFields(fields logrus.Fields) *logrus.Entry
}

🔒 安全

🛡️ 翻译为中文是“盾牌”。这个符号通常用来表示保护、防御或安全。 安全特性

  • 无特权提升(或:无权限提升)以最小必要权限运行
  • 输入验证所有输入都经过验证和清理
  • 错误净化(或错误处理)敏感信息不会在错误中暴露
  • 审计日志记录所有操作均记录在案,以供安全审计

🔐(锁形符号,常用于表示密码、保密或安全) 安全最佳实践

  • Docker 套接字访问需要显式挂载Docker套接字
  • 无秘密存储不存储任何凭据或秘密信息
  • 只读操作出于安全考虑,默认操作为只读
  • 容器隔离在隔离的容器环境中运行

🚨(紧急警报/注意) 安全考虑事项

# Run with non-root user (recommended)
docker run --user 1000:1000 -v /var/run/docker.sock:/var/run/docker.sock mcp-docker-deployer

# Limit Docker socket access
docker run --cap-drop ALL --cap-add DAC_OVERRIDE -v /var/run/docker.sock:/var/run/docker.sock mcp-docker-deployer

# Use read-only filesystem
docker run --read-only -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp mcp-docker-deployer

🔍 漏洞报告

如果您发现安全漏洞,请:

  1. 不要 公开发行股票
  2. 请发送邮件至:security@wahyurudiyan.com
  3. 包含有关漏洞的详细信息
  4. 我们将在48小时内回复

📞 支持与社区

💬(这个表情符号在中文中通常没有直接对应的翻译,它表示的是“对话”或“聊天”的意思,可以简单地理解为“说”或“聊聊”。) 寻求帮助

  • GitHub Issues(GitHub问题)报告错误并提出功能请求
  • 讨论提问并分享想法
  • 文档全面指南和API参考
  • 示例实际使用案例

🌐 表示“互联网”或“网络”。 社区资源

  • 维基社区维护的文档
  • Gitter 聊天室实时讨论(即将推出)
  • YouTube频道教程和演示(即将推出)
  • 博客最佳实践与案例分析

📧 电子邮件符号,可直接表示为“电子邮件”或“电邮”。 联系方式

🤝(握手) 为支持做出贡献

  • 帮助他人在讨论中回答问题
  • 改进文档修复文档问题
  • 分享示例提供使用示例
  • 报告错误帮助提高稳定性

📜 许可证

这个项目遵循MIT许可证授权——详见 许可证 详情请参阅文件。

📋(清单/待办事项列表) 许可证概要

  • 商业用途用于商业项目
  • 修改修改源代码
  • 分配;分布分发您的修改内容
  • ✅ 表示“正确”或“对”。 私人使用私下使用,不对外披露
  • ❌(表示错误或不正确) 责任不提供保修或承担责任
  • ❌(这个符号本身在中文中没有直接对应的翻译,它通常表示“错误”或“取消”的意思,但在这里作为单独的符号,可以理解为“错误”或“不正确”) 商标未经许可,不得使用商标

📚 更新日志

🎉(庆祝、欢呼的符号,无直接对应中文翻译,可表达为“庆祝”或根据语境用“欢呼”等词汇替代) v1.2.0(版本1.2.0) (当前)

  • 专业建筑采用整洁架构进行彻底重构
  • 🧪 翻译成中文是“🧪(实验/试管等,具体含义需根据上下文确定)”。不过,通常我们不会直接翻译这个表情符号,而是根据其常见用法来理解,比如它可能代表实验、化学实验、试管等意象。如果要在中文中表达类似的意思,可以简单地说“🧪(表示实验或试管等)”。但更自然的表达还是根据具体语境来解释这个符号的含义。 综合测试增加了广泛的单元测试覆盖率
  • ⚙️ 通常表示“齿轮”或“设置”等含义,具体翻译可能根据上下文有所不同,但在此处可简化为“齿轮”或保持符号不变(若需具体语境下的翻译,请提供更多上下文)。 配置管理基于环境的配置系统
  • 🐳 表示“海豚”或“海豚的叫声”,在中文里可以简单翻译为“海豚”或根据语境用“海豚的叫声”等表述。不过,由于这是一个表情符号,直接使用“🐳”或其对应的中文描述“海豚”或“海豚的叫声”在很多情况下都可以,具体取决于上下文和表达的需要。 Docker 支持多阶段Docker构建与容器化
  • 📝(一个记录或笔记的符号,可理解为“笔记”或“记录”) 增强的日志记录具有多个级别的结构化日志记录
  • 🔧(扳手/螺丝刀等工具的符号,根据上下文可具体翻译为相应的工具名称) 开发者工具Makefile、代码检查(或“linting”)和构建自动化
  • 📚 书籍或学习资料的符号,可译为“书本”或“学习资料”。在具体语境中,可根据需要选择更贴切的翻译。 文档全面的文档和示例

🚀 火箭或快速前进的象征(无具体文字含义,仅为表情符号) 版本1.1.0

  • 🔧 修理工具或螺丝刀的符号(具体含义可能根据上下文有所不同,但通常代表与修理或工具相关的事物) 错误修复修复了容器列表显示问题
  • 📊 表格/数据图表 演出响应时间得到改善
  • 🔐(锁形符号,常用于表示保密、安全或需要密码解锁的含义) 安全增强的输入验证
  • 📝(一个带有笔的方框图标,常用来表示笔记或待办事项) 文档改进的API文档

🎯(瞄准目标) 版本1.0.0

  • 🎉 初始发布基本的Docker操作
  • 🔌(电源插头) MCP协议核心MCP服务器实现
  • 🐳 这个表情符号在中文中通常被解释为“鲸鱼”或“小鲸鱼”,它形象地描绘了一只小鲸鱼的样子,常用于表达可爱、萌趣或轻松愉快的氛围。 Docker 集成镜像和容器列表
  • 📦 箱子/包裹 编曲支持基本的Docker Compose部署

🙏 致谢

🌟 特别感谢

🤝(握手) 贡献者

  • 所有为改进此项目做出贡献的贡献者
  • Go语言社区,汇聚优秀工具与库
  • Docker团队,打造卓越的容器技术
  • MCP协议标准化社区

📖 书籍 灵感

  • 《Clean Architecture》原则,由Robert C. Martin提出
  • Go语言的最佳实践和惯用模式
  • 企业软件设计模式
  • DevOps与容器化最佳实践

______________________________________________________________________

⭐ 如果你觉得这个项目有帮助,请给它点赞!

🚀 开始使用📖 文档🤝 贡献/参与📞 支持

由...用心打造 ❤️ 瓦尤·R·萨普特拉

目录标签

目录标签

开发工具GoClaudeDocker管理本地部署AI集成容器部署企业架构

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP