Zum Inhalt springen

Chrome DevTools MCP

Der Container enthält einen vorkonfigurierten Chrome DevTools MCP-Server, der Claude Code Headless-Browser-Automatisierungsfähigkeiten verleiht. Navigieren Sie durch Webseiten, erstellen Sie Screenshots, inspizieren Sie das DOM und interagieren Sie mit Seitenelementen — ohne zusätzliche Einrichtung.

Der Entrypoint startet ein persistentes Headless-Chrome mit Remote-Debugging auf Port 9222. Der chrome-devtools-mcp MCP-Server ist in den Claude Code-Einstellungen registriert und verbindet sich über --browserUrl mit diesem gemeinsam genutzten Browser. Alle Sitzungen teilen sich eine einzelne Browser-Instanz und einen Cookie-Speicher — Anmeldungen, Cookies und Authentifizierungen bleiben projektübergreifend erhalten.

WerkzeugBeschreibung
navigate_pageZu einer URL navigieren und warten, bis die Seite geladen ist
take_screenshotEinen PNG-Screenshot der aktuellen Seite erstellen
take_snapshotEinen Accessibility-Tree-Snapshot der Seite erhalten
clickAuf ein Element auf der Seite klicken
typeText in ein Eingabefeld eingeben
hoverMit der Maus über ein Element fahren
scrollDie Seite oder ein bestimmtes Element scrollen
evaluateJavaScript im Seitenkontext ausführen
get_console_logsKonsolenprotokollnachrichten abrufen
get_page_infoSeitenmetadaten abrufen (Titel, URL usw.)

Der Browser-Stack verwendet vier Komponenten, die zusammenarbeiten:

  1. Playwright Chromium — ARM64-kompatible Chromium-Binärdatei, die zur Build-Zeit über npx playwright install --with-deps chromium installiert wird
  2. Chrome-Symlink — verbindet Puppeteers erwarteten Pfad (/opt/google/chrome/chrome) mit der Playwright-Binärdatei
  3. Gemeinsamer Chrome-Prozess — wird von chrome-browser.sh mit --remote-debugging-port=9222 gestartet, startet bei Absturz automatisch neu
  4. Globale MCP-Registrierungsettings.json registriert chrome-devtools-mcp mit --browserUrl=http://localhost:9222

Google Chrome hat kein ARM64-.deb-Paket, und das chromium-browser-Apt-Paket von Ubuntu 24.04 leitet zu Snap weiter (was in Containern nicht funktioniert). Playwrights gebündeltes Chromium ist die einzige zuverlässige Option für ARM64-Container.

Bestätigen Sie, dass die Einrichtung innerhalb des Containers funktioniert:

Terminal-Fenster
# Chrome-Binärdatei antwortet
/opt/google/chrome/chrome --version
# Symlink ist korrekt
ls -la /opt/google/chrome/chrome
# Remote-Debugging ist aktiv
curl http://localhost:9222/json/version
# Selbsttest beinhaltet Chrome-Prüfungen
claude-self-test

Wenn ENABLE_VNC=true gesetzt ist, startet der Entrypoint den VNC-Stack, bevor Chrome gestartet wird. Das Skript chrome-browser.sh erkennt, dass DISPLAY gesetzt ist, und führt Chrome im Headed-Modus auf dem virtuellen Display aus, sodass Sie den Browser im VNC-Viewer sehen können.

Öffnen Sie http://localhost:6080/vnc.html, um das virtuelle Display zu sehen. Weitere Details finden Sie unter Remote-Display (noVNC).

Siehe Fehlerbehebung — Chrome DevTools MCP für Lösungen zu häufigen Problemen, einschließlich Remote-Debugging-Fehlern, Profil-Sperrfehlern und doppelten MCP-Werkzeugen.