跳到內容

Chrome DevTools MCP

容器內包含預先設定的 Chrome DevTools MCP 伺服器,為 Claude Code 提供無頭瀏覽器自動化功能。可導覽網頁、擷取螢幕截圖、檢查 DOM 並與頁面元素互動——無需額外設定。

進入點會啟動一個持久性的無頭 Chrome,在連接埠 9222 上啟用遠端除錯。chrome-devtools-mcp MCP 伺服器已在 Claude Code 設定中註冊,並透過 --browserUrl 連接到此共享瀏覽器。所有工作階段共享單一瀏覽器實例和 Cookie 容器——登入狀態、Cookie 和驗證資訊會在各專案之間持續保留。

工具說明
navigate_page導覽至 URL 並等待頁面載入
take_screenshot擷取當前頁面的 PNG 螢幕截圖
take_snapshot取得頁面的無障礙樹狀結構快照
click點擊頁面上的元素
type在輸入欄位中輸入文字
hover將游標懸停在元素上
scroll捲動頁面或特定元素
evaluate在頁面上下文中執行 JavaScript
get_console_logs擷取主控台日誌訊息
get_page_info取得頁面中繼資料(標題、URL 等)

瀏覽器堆疊使用四個協同運作的元件:

  1. Playwright Chromium — 在建置時透過 npx playwright install --with-deps chromium 安裝的 ARM64 相容 Chromium 二進位檔
  2. Chrome 符號連結 — 將 Puppeteer 預期的路徑(/opt/google/chrome/chrome)橋接至 Playwright 二進位檔
  3. 共享 Chrome 程序 — 由 chrome-browser.sh 啟動,使用 --remote-debugging-port=9222,當機時自動重啟
  4. 全域 MCP 註冊settings.json--browserUrl=http://localhost:9222 註冊 chrome-devtools-mcp

Google Chrome 沒有 ARM64 的 .deb 套件,而 Ubuntu 24.04 的 chromium-browser apt 套件會重新導向至 snap(在容器中無法運作)。Playwright 內建的 Chromium 是 ARM64 容器唯一可靠的選項。

在容器內確認設定是否正常運作:

Terminal window
# Chrome 二進位檔有回應
/opt/google/chrome/chrome --version
# 符號連結正確
ls -la /opt/google/chrome/chrome
# 遠端除錯已啟用
curl http://localhost:9222/json/version
# 自我測試包含 Chrome 檢查
claude-self-test

ENABLE_VNC=true 時,進入點會在啟動 Chrome 之前先啟動 VNC 堆疊。chrome-browser.sh 腳本偵測到 DISPLAY 已設定後,會在虛擬顯示器上以有頭模式執行 Chrome,因此您可以在 VNC 檢視器中看到瀏覽器。

開啟 http://localhost:6080/vnc.html 即可查看虛擬顯示器。詳情請參閱遠端顯示(noVNC)

請參閱疑難排解 — Chrome DevTools MCP,了解常見問題的解決方案,包括遠端除錯失敗、設定檔鎖定錯誤和重複 MCP 工具等問題。