Docker MCP Toolkit

🐳 Docker原生MCP工具链管理

通过Docker CLI管理MCP Toolkit,实现MCP服务器的启停、工具调用与配置,无需原生MCP客户端即可连接Postgres/Neon等外部系统。

收藏
4.5k
安装
1.1k
版本
0.1.1
CLS 安全性认证2026-08-04
点击查看完整报告 >

使用说明

核心功能

Docker MCP Toolkit技能提供对Docker Desktop内置MCP功能的完整CLI控制能力,主要解决OpenClaw工作流与MCP生态系统的集成问题。

主要能力

  • 生命周期管理:通过docker compose up/down控制MCP Toolkit容器集群
  • 服务器治理:启用/禁用MCP服务器(server-enable/disable.sh),查看运行状态
  • 工具发现与调用:枚举可用工具并执行调用,支持key=valuekey:=value(非字符串)参数语法
  • 配置管理:处理环境变量与密钥配置

显著优势

1. 零客户端依赖:直接使用docker mcp tools call命令,无需实现MCP协议客户端(stdio/SSE)
2. 隔离性:Docker容器封装确保环境一致性,避免本地MCP服务器污染主机

3. 与mcporter协同:如需原生MCP客户端连接,可与mcporter技能配对使用

4. 官方集成:基于Docker Desktop 4.62+原生功能,非第三方方案

关键限制

  • JSON类型受限:当前仅支持string/number/bool/null等原始值,嵌套对象/数组会被拒绝
  • 对象参数需绕行:如mcp-config-set等需对象参数的工具,需手动执行docker mcp tools inspect后直连CLI
  • Docker Desktop依赖:必须运行Docker Desktop且启用Beta功能开关,Linux纯引擎环境不可用
  • 网络隔离要求:网关端口不应公开暴露,需配合Docker Desktop密钥链管理敏感信息

适用场景

  • 已使用Docker Desktop的开发团队
  • 需快速原型验证MCP工具链但不想维护独立MCP客户端的场景
  • 与Postgres/Neon等托管数据库通过MCP协议交互的自动化工作流

风险提示

  • Beta功能稳定性未完全保证
  • 密钥管理不当可能导致凭证泄露
  • 工具调用参数类型校验严格,复杂嵌套结构需额外处理

安全解读

核心用法

Docker MCP Toolkit 技能是一套围绕 Docker Desktop 原生 MCP Toolkit 的 Shell 脚本封装,旨在让不具备原生 MCP 客户端能力的 Agent 也能间接调用 MCP 工具。核心操作流包括:

1. 环境预检与启用:通过 preflight.sh 检查 Docker Desktop 4.62+ 及 MCP Toolkit Beta 功能是否就绪。
2. 服务器生命周期管理servers.sh 列出现有 MCP 服务器,server-enable.shserver-disable.sh 控制服务器启停。

3. 工具发现与调用tools.sh 列出可用工具;call-tool.sh 通过 docker mcp tools call 命令行方式调用工具,支持 --tool--json 参数传递。

该技能采用 "CLI 代理" 架构——OpenClaw 不直接实现 MCP 协议,而是将调用指令转译为 Docker CLI 命令,由 Docker Desktop 内置的 MCP Gateway 处理 stdio/SSE 等底层通信。对于需要原生 MCP 客户端的场景,建议与 mcporter 技能组合使用。

显著优点

  • 零依赖集成:无需安装 Python/Node.js MCP SDK,仅依赖系统已存在的 dockerjq 命令,极大降低环境复杂度。
  • 安全隔离:工具运行在 Docker 容器内,天然具备资源隔离与权限边界,避免 Agent 进程直接暴露于外部系统。
  • 统一凭证管理:可复用 Docker Desktop 的密钥链集成与 secrets 管理机制,减少敏感信息在提示词中的暴露风险。
  • 透明调试:所有调用均通过标准 Docker CLI,日志与错误信息可通过 Docker Desktop UI 直接查看,排查路径清晰。

潜在缺点与局限性

  • 参数类型受限:当前 call-tool.sh 仅支持原始 JSON 值(string/number/bool/null),嵌套对象与数组会被拒绝。对于需要复杂对象参数的工具(如 mcp-config-set),需手动执行 docker mcp tools inspect 后直连 CLI。
  • Docker Desktop 版本锁定:功能强依赖 Docker Desktop 4.62+ 的 Beta 特性,Linux 纯命令行环境(无 Desktop)无法使用。
  • 调用延迟:每次工具调用需启动 Docker 进程上下文,高频调用场景下 overhead 显著高于原生 MCP 客户端长连接。
  • Beta 功能风险:MCP Toolkit 本身处于 Beta 阶段,API 与行为可能随 Docker 版本迭代发生变化。

适合的目标群体

  • OpenClaw 生态用户:需要将工作流扩展至 Postgres、Neon、GitHub 等 MCP 生态但不想维护原生 MCP 客户端的 Agent 开发者。
  • Docker 中心化运维团队:已统一使用 Docker Desktop 作为本地开发标准,希望 MCP 能力与现有工具链保持一致。
  • 快速原型验证:需要在不引入额外语言运行时的情况下,验证 MCP 工具集成可行性的场景。

使用风险与建议

  • 外部命令依赖:脚本强依赖 dockerjq,若环境缺失将导致执行失败。建议在 CI/CD 或自动化流程中前置环境检查。
  • 权限边界模糊docker mcp tools call 可影响 Docker MCP Toolkit 的状态,需确保仅调用可信工具,并定期审计已启用服务器列表。
  • 网络暴露风险:MCP Gateway 默认绑定本地端口,切勿将其暴露至公网。如需远程访问,优先采用 SSH 隧道而非直接端口映射。
  • 凭证轮换机制:若不慎在聊天中泄露 Neon/Postgres 连接字符串,应立即通过对应平台轮换凭证,避免依赖单点密钥。

Docker MCP Toolkit 内容

references文件夹
scripts文件夹
手动下载zip · 6.6 kB
compose-template.ymltext/plain
请选择文件