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 伺服器的不同,它提供的工具可能在與伺服器相同的容器中執行,也可能在專用容器中執行。
安全性
Docker MCP 工具包結合了被動和主動措施,以減少攻擊面並確保安全的執行時行為。
被動安全
- 映象簽名和證明:目錄中所有 `mcp/` 下的 MCP 伺服器映象均由 Docker 構建並進行數字簽名,以驗證其來源和完整性。每個映象都包含一個軟體物料清單 (SBOM),以實現完全透明。
主動安全
透過資源和訪問限制強制執行執行時安全。
CPU 分配:MCP 工具在自己的容器中執行。它們被限制為 1 個 CPU,從而限制了計算資源潛在濫用的影響。
記憶體分配:MCP 工具的容器被限制為 2 GB。
檔案系統訪問:預設情況下,MCP 伺服器無權訪問主機檔案系統。使用者明確選擇將授予檔案掛載的伺服器。
工具請求攔截:包含敏感資訊(例如秘密)的工具請求會被阻止。
啟用 Docker MCP 工具包
- 開啟 Docker Desktop 設定並選擇 Beta 功能。
- 選擇 啟用 Docker MCP 工具包。
- 選擇**應用**。
注意此功能最初是 MCP 工具包“擴充套件”。此擴充套件現已棄用,應予以解除安裝。
安裝 MCP 伺服器
安裝 MCP 伺服器
在 Docker Desktop 中,選擇 MCP 工具包 並選擇 目錄 選項卡。當您選擇一個伺服器時,您可以看到以下資訊:
- 工具名稱和描述
- 合作伙伴/釋出者
- 伺服器提供的可呼叫工具列表。
找到您選擇的 MCP 伺服器並選擇 加號 圖示。
可選:某些伺服器需要額外配置。要配置它們,請選擇 配置 選項卡並按照 MCP 伺服器提供商儲存庫中提供的說明進行操作。
提示預設情況下,Gordon 客戶端已啟用,這意味著 Gordon 可以自動與您的 MCP 伺服器互動。
要了解有關 MCP 伺服器目錄的更多資訊,請參閱 目錄。
示例:使用 GitHub 官方 MCP 伺服器
假設您想啟用 Ask Gordon 與您的 GitHub 帳戶進行互動。
在 MCP 工具包 選單中,選擇 目錄 選項卡,找到 GitHub 官方 伺服器並新增它。
在伺服器的 配置 選項卡中,透過 OAuth 連線。
在 客戶端 選項卡中,確保 Gordon 已連線。
在 詢問 Gordon 選單中,您現在可以根據 GitHub 官方伺服器提供的工具傳送與您的 GitHub 帳戶相關的請求。要測試它,請詢問 Gordon:
What's my GitHub handle?
請務必在 Gordon 的回答中選擇 始終允許,以允許 Gordon 與 GitHub 互動。
安裝 MCP 客戶端
安裝 MCP 伺服器後,您可以將客戶端新增到 MCP 工具包。這些客戶端可以與已安裝的 MCP 伺服器互動,從而將 MCP 工具包變成一個閘道器。
安裝客戶端
- 在 Docker Desktop 中,選擇 MCP 工具包 並選擇 客戶端 選項卡。
- 找到您選擇的客戶端並選擇 連線。
您的客戶端現在可以與 MCP 工具包進行互動。
示例:使用 Claude Desktop 作為客戶端
假設您安裝了 Claude Desktop,並且想要使用 GitHub MCP 伺服器和 Puppeteer MCP 伺服器,您無需在 Claude Desktop 中安裝這些伺服器。您只需在 MCP 工具包中安裝這兩個 MCP 伺服器,然後將 Claude Desktop 新增為客戶端即可。
在 MCP 工具包 選單中,選擇 目錄 選項卡,找到 Puppeteer 伺服器並新增它。
對 GitHub 官方 伺服器重複此操作。
在 客戶端 選項卡中,選擇 Claude Desktop 旁邊的 連線。如果 Claude Desktop 正在執行,請重新啟動它,它現在可以訪問 MCP 工具包中的所有伺服器。
在 Claude Desktop 中,使用 Sonnet 3.5 模型提交以下提示進行測試:
Take a screenshot of docs.docker.com and then invert the colors
示例:使用 Visual Studio Code 作為客戶端
您可以在 Visual Studio Code 中與所有已安裝的 MCP 伺服器進行互動。
啟用 MCP 工具包
在 Visual Studio Code 的使用者 `mcp.json` 中插入以下內容:
"mcp": { "servers": { "MCP_DOCKER": { "command": "docker", "args": [ "mcp", "gateway", "run" ], "type": "stdio" } } }
在您的終端中,導航到您的專案資料夾。
執行
docker mcp client connect vscode
注意此命令在當前目錄中建立一個 `.vscode/mcp.json` 檔案。我們建議您將其新增到 `.gitignore` 檔案中。
在 Visual Studio Code 中,開啟一個新的聊天並選擇 代理 模式。
您還可以檢視可用的 MCP 工具:
有關代理模式的更多資訊,請參閱 Visual Studio Code 文件。
透過 OAuth 進行身份驗證
您可以透過 OAuth 整合將 MCP 工具包連線到您的開發工作流程。目前,MCP 工具包僅支援 GitHub OAuth。
- 在 https://github.com/ 上,確保您已登入。
- 在 Docker Desktop 中,選擇 MCP 工具包 並選擇 OAuth 選項卡。
- 在 GitHub 條目中,選擇 授權。您的瀏覽器將開啟 GitHub 授權頁面。
- 在 GitHub 授權頁面中,選擇 授權 Docker。授權成功後,您將自動重定向到 Docker Desktop。
- 安裝 GitHub 官方 MCP 伺服器,請參閱 安裝 MCP 伺服器。
MCP 工具包現在可以訪問您的 GitHub 帳戶。要撤銷訪問許可權,請在 OAuth 選項卡中選擇 撤銷。請參閱 使用 GitHub 官方 MCP 伺服器 中的示例。