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 伺服器 中的示例。