Docker MCP 工具組

可用性: 測試版 (Beta)

Docker MCP 工具組是一個閘道,讓您可以設定、管理和執行容器化的 MCP 伺服器,並將它們連接到 AI 代理程式。它透過提供安全的預設值、一鍵設定,以及支援日益增長的 LLM 客戶端生態系統,消除了使用工具時的障礙。這是從探索 MCP 工具到在地端執行最快的方式。

注意

如果您需要執行自己的 MCP 閘道,請參閱 Docker MCP 閘道

主要功能

  • 跨 LLM 相容性:可立即與 Claude Desktop、Cursor、Continue.dev 和 Gordon 搭配運作。
  • 整合式工具探索:直接在 Docker Desktop 中瀏覽並啟動來自 Docker MCP 目錄的 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 features(測試版功能)。
  2. 選取 Enable Docker MCP Toolkit(啟用 Docker MCP 工具組)。
  3. 選取 Apply(套用)。
注意

此功能最初是以 MCP Toolkit 擴充功能 (extension) 的形式提供。該擴充功能現已棄用,應予移除。

安裝 MCP 伺服器

若要安裝 MCP 伺服器

  1. 在 Docker Desktop 中,選取 MCP Toolkit 並選取 Catalog(目錄)分頁。當您選取一個伺服器時,可以看到以下資訊:

    • 工具名稱與說明
    • 合作夥伴/發行者
    • 該伺服器提供的可呼叫工具清單。
  2. 找到您選擇的 MCP 伺服器,然後點擊 Plus(加號)圖示。

  3. 選用:部分伺服器需要額外設定。若要設定它們,請選取 Config(設定)分頁,並依照 MCP 伺服器提供者儲存庫中提供的說明操作。

提示

預設情況下,會啟用 Gordon 客戶端,這表示 Gordon 可以自動與您的 MCP 伺服器互動。

若要深入了解 MCP 伺服器目錄,請參閱 目錄 (Catalog)

範例:使用 GitHub Official MCP 伺服器

假設您想要啟用「詢問 Gordon」(Ask Gordon) 以便與您的 GitHub 帳戶互動:

  1. MCP Toolkit 選單中,選取 Catalog(目錄)分頁,找到 GitHub Official 伺服器並新增它。

  2. 在伺服器的 Config(設定)分頁中,透過 OAuth 連接

  3. Clients(客戶端)分頁中,確保 Gordon 已連線。

  4. 現在,從 Ask Gordon 選單中,您可以依照 GitHub Official 伺服器提供的工具發送與您的 GitHub 帳戶相關的請求。若要測試,請詢問 Gordon:

    What's my GitHub handle?

    確保在 Gordon 的回答中選擇 Always allow(總是允許),以允許 Gordon 與 GitHub 互動。

安裝 MCP 客戶端

當您安裝了 MCP 伺服器後,您可以將客戶端加入 MCP 工具組。這些客戶端可以與已安裝的 MCP 伺服器互動,將 MCP 工具組轉變為閘道。

若要安裝客戶端

  1. 在 Docker Desktop 中,選取 MCP Toolkit 並選取 Clients(客戶端)分頁。
  2. 找到您選擇的客戶端並選取 Connect(連線)。

您的客戶端現在可以與 MCP 工具組互動。

範例:使用 Claude Desktop 作為客戶端

假設您安裝了 Claude Desktop,並想要使用 GitHub MCP 伺服器和 Puppeteer MCP 伺服器,您不需要在 Claude Desktop 中安裝這些伺服器。您只需在 MCP 工具組中安裝這兩個 MCP 伺服器,並將 Claude Desktop 作為客戶端加入即可。

  1. MCP Toolkit 選單中,選取 Catalog(目錄)分頁,找到 Puppeteer 伺服器並新增它。

  2. GitHub Official 伺服器重複上述步驟。

  3. Clients(客戶端)分頁中,選取 Claude Desktop 旁邊的 Connect(連線)。如果 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 中,開啟新的 Chat 並選取 Agent(代理程式)模式。

    Copilot mode switching
  3. 您也可以檢查可用的 MCP 工具。

    Displaying tools in VSCode

關於 Agent 模式的更多資訊,請參閱 Visual Studio Code 文件

透過 OAuth 進行身份驗證

您可以透過 OAuth 整合將 MCP 工具組連接到您的開發工作流程。目前,MCP 工具組僅支援 GitHub OAuth。

  1. https://github.com/ 上,確保您已登入。
  2. 在 Docker Desktop 中,選取 MCP Toolkit 並選取 OAuth 分頁。
  3. 在 GitHub 項目中,選取 Authorize(授權)。您的瀏覽器會開啟 GitHub 授權頁面。
  4. 在 GitHub 授權頁面中,選取 Authorize Docker(授權 Docker)。授權成功後,您會自動重新導向回 Docker Desktop。
  5. 安裝 GitHub Official MCP 伺服器,請參閱 安裝 MCP 伺服器

MCP 工具組現在可以存取您的 GitHub 帳戶。若要撤銷存取權,請在 OAuth 分頁中選取 Revoke(撤銷)。請參閱 使用 GitHub Official MCP 伺服器 中的範例。

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