Docker MCP Server

Docker MCP Server

site icon
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 命令的自动化管理和调用。

核心功能

  1. 自动生成 MCP 工具:通过 MCP Mediator 自动将 Docker 命令转换为 MCP 工具,支持注解和非注解方法的自动生成。
  2. Docker 命令支持:支持多种 Docker 命令,包括容器管理、镜像管理、网络管理、Swarm 管理等。
  3. 灵活的配置选项:支持多种配置选项,如 Docker 主机 URI、TLS 验证、服务器名称、版本等。
  4. 高性能:支持高并发连接,最大连接数可配置。

适用场景

  1. 开发环境管理:自动化管理开发环境中的 Docker 容器和镜像。
  2. CI/CD 流程:在持续集成和持续部署流程中自动化执行 Docker 命令。
  3. 微服务管理:在微服务架构中管理 Docker 容器和服务。
  4. 测试环境管理:自动化管理测试环境中的 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 网络。

常见问题解答

  1. 如何启用 TLS 验证?:使用 --tls-verify 选项并指定 --cert-path 路径。
  2. 如何自定义 Docker 配置目录?:使用 --docker-config 选项指定自定义目录。
  3. 如何查看支持的 Docker 命令?:参考文档中的 Supported Docker Commands as MCP Server Tools 部分。

使用教程

使用依赖

  1. Java:确保已安装 Java 运行时环境。
  2. Docker:确保已安装 Docker 并运行 Docker 守护进程。
  3. Maven:用于构建项目。

安装教程

  1. 克隆仓库bash git clone --recurse-submodules https://github.com/makbn/docker_mcp_server.git
  2. 构建项目bash mvn clean compile package
  3. 运行服务器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

调试方式

  1. 查看日志:使用 --log-level 选项设置日志级别(如 DEBUG)。
  2. 查看帮助:使用 --help 选项查看所有可用选项。
  3. 检查 Docker 连接:确保 Docker 守护进程正在运行,并且主机 URI 正确。

许可证

该项目遵循 GPL-3.0 开源许可条款,请参阅 GPL-3.0 了解完整条款。