Dockerizer MCP 服务器

使用说明

  • 项目简介 Dockerizer MCP 服务器是一套基于 MCP 的后端服务器,实现与 MCP 客户端的标准对接,核心功能包括注册并暴露工具(Tools)、提供初始化能力、列出可用工具,以及通过工具调用实现对仓库检测、Docker 配置生成等操作。服务器通过 JSON-RPC 与客户端通信,当前实现以 stdio 为传输管道,方便在任务流、IDE 集成或辅助 AI 工具中使用。

  • 主要功能点

    • MCP 核心能力:处理 initialize、tools/list、tools/call、shutdown 等 MCP 请求,返回标准化的 JSON-RPC 响应。
    • 工具管理:提供 dockerizer_analyze、dockerizer_generate、docker_build、docker_run、docker_logs 等工具,支持对仓库检测、生成 Docker 配置、以及对生成输出的简易控制。
    • 会话与工作流:内部集成检测、生成、以及输出模板选择,便于将分析结果直接用于后续的容器化生成流程。
    • 运行方式:通过命令 dockerizer serve 启动 MCP 服务器,以 stdio 模式与 MCP 客户端通信。可与 Claude Code、Goose 等工具无缝对接。
  • 安装与运行

    1. 构建 dockerizer 可执行文件(参考仓库提供的构建/安装方法)。
    2. 运行 MCP 服务器
      • 命令:dockerizer serve
      • 传输模式:标准输入输出(stdio),与 MCP 客户端在同一进程间通信。
    3. 配置 MCP 客户端(示例,需客户端遵循 MCP 配置格式即可): 为使 MCP 客户端能够连接并使用 Dockerizer 服务器,需在客户端配置中指明服务器启动命令及参数,例如: { "server": { "name": "dockerizer", "command": "dockerizer", "args": ["serve"] } } 注:该配置仅用于 MCP 客户端了解如何启动与接入此服务器,不需要将配置写入服务器端。
  • 基本使用方法

    1. 启动服务器:执行 dockerizer serve,服务器开始监听并通过 STDIN/STDOUT 与 MCP 客户端通信。
    2. 客户端初始化:客户端向服务器发送 initialize 请求,获取协议版本、能力及服务器信息。
    3. 列出工具:客户端可发送 tools/list 获取可用工具及其输入定义。
    4. 调用工具:如需分析仓库、生成 Docker 配置等,客户端发送 tools/call 请求,传入要执行的工具名称及参数。
    5. 关闭连接:若需要,发送 shutdown 请求结束会话。
  • 其他注意

    • 当前实现聚焦在核心 MCP 服务器功能和工具驱动的调用能力,若未来需要扩展 Prompts、Resources 等能力,可在现有框架基础上扩展对应的接口与数据结构。

服务器信息