Docker MCP Server

Docker MCP Server

Docker 官方的 MCP 网关,把多个容器化 MCP 服务器聚合成单一入口。

核心功能

官方参考服务器仓库里并没有 Docker 服务器;真正由 Docker 团队维护的是网关项目 mcp-gateway,它以命令行插件形式把目录中的 MCP 服务器逐个拉起为容器,再经统一网关暴露给客户端,并集中管理密钥与授权。桌面版内置的 MCP 工具箱(Toolkit)即基于该插件。

功能亮点

单一入口

客户端只需连接一个网关,后端增删服务器时无需再改客户端配置。

目录分发

服务器以 OCI 制品形式发布在目录中,可拉取、推送,也能自建私有目录。

密钥集中托管

接口密钥交由 Docker 统一保管,不必在客户端配置里写明文环境变量。

两种传输方式

默认走标准输入输出,也可指定端口以流式传输同时服务多个客户端。

适用场景

• 统一托管并授权多个 MCP 服务器
• 把第三方 MCP 服务器隔离在容器里运行
• 团队共享同一份私有服务器目录
• 为多个 AI 客户端提供同一套工具

安装配置

bash
# 方式一:Docker Desktop 4.59+ 中启用 MCP Toolkit,底层即该插件

# 方式二:从源码构建并安装 docker-mcp CLI 插件
git clone https://github.com/docker/mcp-gateway.git
cd mcp-gateway
mkdir -p "$HOME/.docker/cli-plugins/"
make docker-mcp
docker mcp --help

# 运行网关(stdio,使用默认 profile)
docker mcp gateway run

# 指定 profile
docker mcp gateway run --profile dev-tools

# 流式传输,供多客户端同时接入
docker mcp gateway run --port 8080 --transport streaming

使用方法

bash
调用链路:AI 客户端 → MCP Gateway → 各 MCP 服务器容器,模型看到的是网关聚合后的工具列表。

常用命令:
- docker mcp catalog ls / pull / push / create:管理服务器目录,默认目录为 Docker Hub 上的 mcp/docker-mcp-catalog,也支持 catalog:// docker:// file:// 等来源
- docker mcp client ls:列出可接入的客户端
- docker mcp client connect <client-name> --profile <profile-id>:把某个客户端接到指定 profile
- docker mcp client disconnect <client-name>:断开接入
- docker mcp secret --help / docker mcp secret export:管理与导出密钥
- docker mcp oauth --help:处理需要授权令牌的服务

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标Docker MCP Server
价格免费
开源
上手难度进阶

相关工具

优点

  • MCP 服务器运行在容器中,与主机环境相互隔离
  • 密钥由 Docker 统一保管,避免明文写进客户端配置
  • 支持自建目录,可在企业内部分发受控的服务器集合
  • 一个网关可同时服务多个客户端,无需逐个配置服务器

缺点

  • 它不属于 modelcontextprotocol 官方参考服务器,而是 Docker 自家项目
  • 必须安装 Docker 引擎或桌面版,只接一两个服务器时显得偏重
  • 完整体验依赖 Docker Desktop 4.59 及以上版本并手动启用 Toolkit
  • 仓库未直接给出 mcpServers JSON 片段,需用 docker mcp client connect 生成配置
  • 多出一层网关,排查工具调用异常时链路更长