Docker MCP 工具包

可用性: 测试版

Docker MCP 工具包是一个网关,可让您设置、管理和运行容器化的 MCP 服务器,并将它们连接到 AI 代理。它通过提供安全默认设置、一键式设置以及对不断增长的基于 LLM 的客户端生态系统的支持,消除了工具使用的障碍。它是从 MCP 工具发现到本地执行的最快方式。

注意

如果您需要运行自己的 MCP 网关,请参阅 Docker MCP 网关

关键特性

  • 跨 LLM 兼容性:即时与 Claude Desktop、Cursor、Continue.dev 和 Gordon 配合使用。
  • 集成工具发现:直接在 Docker Desktop 中浏览并启动 Docker MCP Catalog 中的 MCP 服务器。
  • 零手动设置:无需依赖管理、运行时配置或服务器设置。
  • 它既充当 MCP 服务器聚合器,又充当客户端访问已安装 MCP 服务器的网关。

MCP 工具包的工作原理

MCP 引入了两个核心概念:MCP 客户端和 MCP 服务器。

  • MCP 客户端通常嵌入在基于 LLM 的应用程序中,例如 Claude Desktop 应用程序。它们请求资源或操作。
  • MCP 服务器由客户端启动,使用任何必要的工具、语言或流程来执行所请求的任务。

Docker 规范了应用程序(包括 MCP 服务器)的开发、打包和分发。通过将 MCP 服务器打包为容器,Docker 消除了与隔离和环境差异相关的问题。您可以直接运行容器,而无需管理依赖项或配置运行时。

根据 MCP 服务器的不同,它提供的工具可能在与服务器相同的容器中运行,也可能在专用容器中运行。

Screenshot showing a single-container MCP Toolkit setup.
Screenshot showing a multi-container MCP Toolkit setup.

安全性

Docker MCP 工具包结合了被动和主动措施,以减少攻击面并确保安全的运行时行为。

被动安全

  • 镜像签名和证明:目录中所有 `mcp/` 下的 MCP 服务器镜像均由 Docker 构建并进行数字签名,以验证其来源和完整性。每个镜像都包含一个软件物料清单 (SBOM),以实现完全透明。

主动安全

通过资源和访问限制强制执行运行时安全。

  • CPU 分配:MCP 工具在自己的容器中运行。它们被限制为 1 个 CPU,从而限制了计算资源潜在滥用的影响。

  • 内存分配:MCP 工具的容器被限制为 2 GB。

  • 文件系统访问:默认情况下,MCP 服务器无权访问主机文件系统。用户明确选择将授予文件挂载的服务器。

  • 工具请求拦截:包含敏感信息(例如秘密)的工具请求会被阻止。

启用 Docker MCP 工具包

  1. 打开 Docker Desktop 设置并选择 Beta 功能
  2. 选择 启用 Docker MCP 工具包
  3. 选择**应用**。
注意

此功能最初是 MCP 工具包“扩展”。此扩展现已弃用,应予以卸载。

安装 MCP 服务器

安装 MCP 服务器

  1. 在 Docker Desktop 中,选择 MCP 工具包 并选择 目录 选项卡。当您选择一个服务器时,您可以看到以下信息:

    • 工具名称和描述
    • 合作伙伴/发布者
    • 服务器提供的可调用工具列表。
  2. 找到您选择的 MCP 服务器并选择 加号 图标。

  3. 可选:某些服务器需要额外配置。要配置它们,请选择 配置 选项卡并按照 MCP 服务器提供商存储库中提供的说明进行操作。

提示

默认情况下,Gordon 客户端已启用,这意味着 Gordon 可以自动与您的 MCP 服务器交互。

要了解有关 MCP 服务器目录的更多信息,请参阅 目录

示例:使用 GitHub 官方 MCP 服务器

假设您想启用 Ask Gordon 与您的 GitHub 帐户进行交互。

  1. MCP 工具包 菜单中,选择 目录 选项卡,找到 GitHub 官方 服务器并添加它。

  2. 在服务器的 配置 选项卡中,通过 OAuth 连接

  3. 客户端 选项卡中,确保 Gordon 已连接。

  4. 询问 Gordon 菜单中,您现在可以根据 GitHub 官方服务器提供的工具发送与您的 GitHub 帐户相关的请求。要测试它,请询问 Gordon:

    What's my GitHub handle?

    请务必在 Gordon 的回答中选择 始终允许,以允许 Gordon 与 GitHub 交互。

安装 MCP 客户端

安装 MCP 服务器后,您可以将客户端添加到 MCP 工具包。这些客户端可以与已安装的 MCP 服务器交互,从而将 MCP 工具包变成一个网关。

安装客户端

  1. 在 Docker Desktop 中,选择 MCP 工具包 并选择 客户端 选项卡。
  2. 找到您选择的客户端并选择 连接

您的客户端现在可以与 MCP 工具包进行交互。

示例:使用 Claude Desktop 作为客户端

假设您安装了 Claude Desktop,并且想要使用 GitHub MCP 服务器和 Puppeteer MCP 服务器,您无需在 Claude Desktop 中安装这些服务器。您只需在 MCP 工具包中安装这两个 MCP 服务器,然后将 Claude Desktop 添加为客户端即可。

  1. MCP 工具包 菜单中,选择 目录 选项卡,找到 Puppeteer 服务器并添加它。

  2. GitHub 官方 服务器重复此操作。

  3. 客户端 选项卡中,选择 Claude Desktop 旁边的 连接。如果 Claude Desktop 正在运行,请重新启动它,它现在可以访问 MCP 工具包中的所有服务器。

  4. 在 Claude Desktop 中,使用 Sonnet 3.5 模型提交以下提示进行测试:

    Take a screenshot of docs.docker.com and then invert the colors

示例:使用 Visual Studio Code 作为客户端

您可以在 Visual Studio Code 中与所有已安装的 MCP 服务器进行交互。

  1. 启用 MCP 工具包

    1. 在 Visual Studio Code 的用户 `mcp.json` 中插入以下内容:

      "mcp": {
       "servers": {
         "MCP_DOCKER": {
           "command": "docker",
           "args": [
             "mcp",
             "gateway",
             "run"
           ],
           "type": "stdio"
         }
       }
      }
    1. 在您的终端中,导航到您的项目文件夹。

    2. 运行

      docker mcp client connect vscode
      注意

      此命令在当前目录中创建一个 `.vscode/mcp.json` 文件。我们建议您将其添加到 `.gitignore` 文件中。

  2. 在 Visual Studio Code 中,打开一个新的聊天并选择 代理 模式。

    Copilot mode switching
  3. 您还可以查看可用的 MCP 工具:

    Displaying tools in VSCode

有关代理模式的更多信息,请参阅 Visual Studio Code 文档

通过 OAuth 进行身份验证

您可以通过 OAuth 集成将 MCP 工具包连接到您的开发工作流程。目前,MCP 工具包仅支持 GitHub OAuth。

  1. https://github.com/ 上,确保您已登录。
  2. 在 Docker Desktop 中,选择 MCP 工具包 并选择 OAuth 选项卡。
  3. 在 GitHub 条目中,选择 授权。您的浏览器将打开 GitHub 授权页面。
  4. 在 GitHub 授权页面中,选择 授权 Docker。授权成功后,您将自动重定向到 Docker Desktop。
  5. 安装 GitHub 官方 MCP 服务器,请参阅 安装 MCP 服务器

MCP 工具包现在可以访问您的 GitHub 帐户。要撤销访问权限,请在 OAuth 选项卡中选择 撤销。请参阅 使用 GitHub 官方 MCP 服务器 中的示例。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.