
Docker MCP Server

2025.05.06
0
JavaDocker 管理自动化工具开发效率
Docker MCP Server 是一个基于 MCP Mediator 核心框架的 Docker 命令 MCP 服务器实现。它利用 MCP Mediator 的自动服务器生成功能,将现有的 Docker 命令暴露为 MCP 工具。每个命令可以选择性地使用 `@McpTool` 进行注解,并附带简短的描述,以提高工具的发现性和可用性。
View on GitHub
Overview
基本能力
产品定位
Docker MCP Server 是一个用于 Docker 命令的 MCP 服务器实现,旨在通过 MCP 协议提供 Docker 命令的自动化管理和调用。
核心功能
- 自动生成 MCP 工具:通过 MCP Mediator 自动将 Docker 命令转换为 MCP 工具,支持注解和非注解方法的自动生成。
- Docker 命令支持:支持多种 Docker 命令,包括容器管理、镜像管理、网络管理、Swarm 管理等。
- 灵活的配置选项:支持多种配置选项,如 Docker 主机 URI、TLS 验证、服务器名称、版本等。
- 高性能:支持高并发连接,最大连接数可配置。
适用场景
- 开发环境管理:自动化管理开发环境中的 Docker 容器和镜像。
- CI/CD 流程:在持续集成和持续部署流程中自动化执行 Docker 命令。
- 微服务管理:在微服务架构中管理 Docker 容器和服务。
- 测试环境管理:自动化管理测试环境中的 Docker 资源。
工具列表
Docker MCP Server 支持多种 Docker 命令作为 MCP 工具,包括但不限于:
- docker_start_container
:启动 Docker 容器。
- docker_stop_container
:停止 Docker 容器。
- docker_build_image_file
:从 Dockerfile 或目录构建镜像。
- docker_list_containers
:列出容器。
- docker_inspect_container
:检查容器配置和状态。
- docker_pull_image
:从注册表拉取镜像。
- docker_push_image
:将镜像推送到注册表。
- docker_create_network
:创建 Docker 网络。
- docker_list_networks
:列出所有 Docker 网络。
- docker_remove_network
:删除 Docker 网络。
常见问题解答
- 如何启用 TLS 验证?:使用
--tls-verify
选项并指定--cert-path
路径。 - 如何自定义 Docker 配置目录?:使用
--docker-config
选项指定自定义目录。 - 如何查看支持的 Docker 命令?:参考文档中的 Supported Docker Commands as MCP Server Tools 部分。
使用教程
使用依赖
- Java:确保已安装 Java 运行时环境。
- Docker:确保已安装 Docker 并运行 Docker 守护进程。
- Maven:用于构建项目。
安装教程
- 克隆仓库:
bash git clone --recurse-submodules https://github.com/makbn/docker_mcp_server.git
- 构建项目:
bash mvn clean compile package
- 运行服务器:
bash java -jar target/mcp-mediator-implementation-docker-[version].jar \ --docker-host=tcp://localhost:2376 \ --tls-verify \ --cert-path=/etc/docker/certs \ --server-name=my-server \ --server-version=1.0.0 \ --max-connections=150 \ --docker-config=/custom/docker/config
调试方式
- 查看日志:使用
--log-level
选项设置日志级别(如DEBUG
)。 - 查看帮助:使用
--help
选项查看所有可用选项。 - 检查 Docker 连接:确保 Docker 守护进程正在运行,并且主机 URI 正确。