Sie können die Chrome-Entwicklertools für KI-Agenten konfigurieren, um die Interaktion mit dem Browser, die aktivierten Tools und die Datenverarbeitung anzupassen.
Konfigurieren Sie den Server, indem Sie Befehlszeilen-Flags im args-Array Ihrer MCP-Clientkonfigurationsdatei (Model Context Protocol) übergeben. Dies ist normalerweise die Datei config.json.
Wenn Sie Chrome beispielsweise im monitorlosen Modus ausführen und den Canary-Channel verwenden möchten, verwenden Sie die folgende Konfiguration:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--headless",
"--channel=canary"
]
}
}
}
Häufige Konfigurationsszenarien
In den folgenden Szenarien werden gängige Methoden zum Konfigurieren der Chrome-Entwicklertools für KI-Agenten beschrieben.
Im monitorlosen Modus ausführen
Wenn Sie Hintergrundaufgaben ohne sichtbares Browserfenster ausführen möchten, führen Sie Chrome im monitorlosen Modus (ohne Benutzeroberfläche) aus. Fügen Sie Ihren Serverargumenten das Flag --headless hinzu.
Mit einer vorhandenen Browsersitzung verbinden
Standardmäßig starten die Entwicklertools für KI-Agenten eine neue Chrome-Instanz. Sie können Ihren KI-Agenten jedoch mit einer vorhandenen Browsersitzung verbinden. Das ist nützlich, wenn der KI-Agent ein Problem in einer bereits gestarteten Sitzung untersuchen muss (z. B. wenn Sie bereits angemeldet sind).
Sie können auf zwei Arten eine Verbindung zu einer vorhandenen Sitzung herstellen:
Automatische Verbindung (Chrome 144+)
Wenn Sie das Flag --autoConnect verwenden, stellt der MCP-Server automatisch eine Verbindung zu einer aktiven Chrome-Instanz her.
- Rufen Sie in Ihrem laufenden Chrome-Browser
chrome://inspect/#remote-debuggingauf und aktivieren Sie Remote-Debugging. - Fügen Sie
--autoConnectzu Ihrer MCP-Konfiguration hinzu:json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - Wenn der Agent versucht, eine Verbindung herzustellen, wird in Chrome ein Dialogfeld angezeigt, in dem um Erlaubnis gebeten wird. Klicken Sie auf Zulassen.
Manuelle Verbindung
Wenn Sie --autoConnect nicht verwenden können (z. B. in einer Sandbox-Umgebung), können Sie Chrome manuell mit einem Debugging-Port starten und eine Verbindung über --browser-url herstellen.
- Starten Sie Chrome über das Terminal mit aktiviertem Remote-Debugging und einem benutzerdefinierten Nutzerdatenverzeichnis.
- macOS:
shell /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable - Windows:
shell start chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\chrome-profile-stable - Linux:
shell google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
- macOS:
- Konfigurieren Sie Ihren Agent so, dass er eine Verbindung zu diesem Port herstellt:
json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]
Dateizugriff außerhalb des temporären Verzeichnisses zulassen
Tools, die Dateien lesen oder schreiben (z. B. Screenshots oder Traces speichern oder Erweiterungen laden), können nur auf Pfade innerhalb der konfigurierten Arbeitsbereich-Roots zugreifen. Der Server verwendet die Roots, die Ihr MCP-Client über die MCP-Roots-Funktion bereitstellt, sowie alle Verzeichnisse, die Sie mit --filesystemRoot (Alias --workspace) übergeben. Wenn Ihr Client keine Roots bereitstellt und Sie --filesystemRoot nicht festlegen, ist der Dateizugriff auf das temporäre Verzeichnis des Betriebssystems beschränkt.
Anfragen für andere Pfade schlagen mit einem Access denied: ... is not within any of
the configured workspace roots-Fehler fehl.
Wenn Sie den Zugriff auf ein Projektverzeichnis zulassen möchten, fügen Sie --filesystemRoot zu Ihren Serverargumenten hinzu. Sie können das Flag wiederholen, um mehrere Verzeichnisse zuzulassen:
"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]
Referenz zu Konfigurationsoptionen
In den folgenden Abschnitten sind die verfügbaren Konfigurationsflags aufgeführt. Die neuesten Optionen und Updates finden Sie im GitHub-Repository für Chrome-Entwicklertools-MCP.
Verbindungsoptionen
Mit diesen Optionen können Sie konfigurieren, wie der Server eine Verbindung zu Chrome herstellt.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--autoConnect oder --auto-connect |
boolean | false |
Stellt automatisch eine Verbindung zu einer lokal ausgeführten Chrome-Instanz (144+) her. Erfordert, dass das Remote-Debugging mit chrome://inspect/#remote-debugging aktiviert ist. |
--browserUrl oder --browser-url-u |
String | false |
Stellen Sie eine Verbindung zu einer laufenden, debuggbaren Chrome-Instanz her (z. B. http://127.0.0.1:9222). |
--wsEndpoint oder --ws-endpoint-w |
String | false |
WebSocket-Endpunkt zum Herstellen einer Verbindung mit einer laufenden Chrome-Instanz (z. B. ws://127.0.0.1:9222/devtools/browser/<id>). Alternative zu --browserUrl. |
--wsHeaders oder --ws-headers |
String | false |
Benutzerdefinierte Header für die WebSocket-Verbindung im JSON-Format (z. B. '{"Authorization":"Bearer token"}'). Funktioniert nur mit --wsEndpoint. |
Optionen für den Browserstart
Diese Optionen gelten, wenn der MCP-Server Chrome startet.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--headless |
boolean | false |
Führt Chrome im monitorlosen Modus (ohne Benutzeroberfläche) aus. |
--channel |
String | stable |
Gibt den zu verwendenden Chrome-Channel an. Auswahlmöglichkeiten: canary, dev, beta und stable. |
--executablePath oder --executable-path-e |
String | false |
Pfad zu einer benutzerdefinierten ausführbaren Chrome-Datei. |
--userDataDir oder --user-data-dir |
String | Siehe: Beschreibung | Pfad zum Nutzerdatenverzeichnis. Standardwert ist $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE. |
--isolated |
boolean | false |
Erstellt ein temporäres Nutzerdatenverzeichnis, das beim Schließen des Browsers automatisch bereinigt wird. |
--viewport |
String | false |
Anfängliche Darstellungsbereichsgröße (z. B. 1280x720). Im monitorlosen Modus beträgt die maximale Größe 3840x2160. |
--proxyServer oder --proxy-server |
String | false |
An Chrome übergebene Proxyserver-Konfiguration. |
--chromeArg oder --chrome-arg |
Array | false |
Zusätzliche Argumente, die an Chrome übergeben werden sollen. |
--ignoreDefaultChromeArg oder --ignore-default-chrome-arg |
Array | false |
Standardargumente für Chrome explizit deaktivieren. |
Sicherheits- und Datenschutzoptionen
Mit diesen Optionen können Sie Sicherheitseinstellungen und Datenschutz verwalten.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--acceptInsecureCerts oder --accept-insecure-certs |
boolean | false |
Fehler im Zusammenhang mit selbst signierten und abgelaufenen Zertifikaten werden ignoriert. Mit Vorsicht zu verwenden. |
--blockedUrlPattern oder --blocked-url-pattern |
Array | false |
Schränkt den Netzwerkzugriff ein, indem bestimmte URL-Muster blockiert werden (verwendet URLPattern). Navigationen und untergeordnete Ressourcen werden blockiert. |
--allowedUrlPattern oder --allowed-url-pattern |
Array | false |
Beschränkt den Netzwerkzugriff, indem nur angegebene URL-Muster zugelassen werden. Chrome 149 oder höher erforderlich. |
--redactNetworkHeaders oder --redact-network-headers |
boolean | false |
Entfernt vertrauliche Netzwerkheader, bevor sie an den Client zurückgegeben werden. |
--usageStatistics oder --usage-statistics |
boolean | true |
Ermöglicht die Erfassung von Nutzungsstatistiken, um das Tool zu verbessern. Kann auch mit den Umgebungsvariablen CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS oder CI deaktiviert werden. |
--performanceCrux oder --performance-crux |
boolean | true |
Sendet URLs aus Leistungstraces an die Google CrUX API, um Daten zur tatsächlichen Nutzererfahrung abzurufen. |
--javascriptEvaluation oder --javascript-evaluation |
boolean | true |
Legen Sie false fest, um die JavaScript-Ausführung zu deaktivieren. Wenn diese Option deaktiviert ist, sind die Tools zur Skriptauswertung deaktiviert, der Parameter initScript von navigate_page ist deaktiviert und das Aufrufen von javascript:-, data:- oder vbscript:-URLs ist nicht zulässig. |
--filesystemRoot oder --filesystem-root--workspace |
Array | Temporäres Verzeichnis des Betriebssystems | Ein Verzeichnis, das von Tools für den Dateizugriff verwendet werden darf, zusätzlich zu den vom MCP-Client bereitgestellten Stammverzeichnissen. Kann mehrmals angegeben werden. Weitere Informationen finden Sie unter Dateizugriff außerhalb des temporären Verzeichnisses zulassen. |
--allowUnrestrictedPaths oder --allow-unrestricted-paths |
boolean | false |
Nicht mehr unterstützt: Verwenden Sie stattdessen --workspace=/. Deaktiviert die Pfadeinschränkung, die gilt, wenn der MCP-Client keine Roots bereitstellt. |
Funktionskategorien
Mit diesen Flags können Sie Gruppen von Tools aktivieren oder deaktivieren.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--categoryInput oder --category-input |
boolean | true |
Aktiviert Tools für die Eingabe. |
--categoryNavigation oder --category-navigation |
boolean | true |
Aktiviert Tools für die Navigation. |
--categoryEmulation oder --category-emulation |
boolean | true |
Aktiviert Tools für die Emulation. |
--categoryNetwork oder --category-network |
boolean | true |
Aktiviert netzwerkbezogene Tools. |
--categoryPerformance oder --category-performance |
boolean | true |
Aktiviert Tools zur Leistungssteigerung. |
--categoryDebugging oder --category-debugging |
boolean | true |
Aktiviert Tools für das Debugging. |
--categoryMemory oder --category-memory |
boolean | true |
Aktiviert Tools im Zusammenhang mit dem Arbeitsspeicher. |
--categoryExtensions oder --category-extensions |
boolean | false |
Aktiviert Tools für Erweiterungen. Wird nur mit Pipe-Verbindung unterstützt. |
--categoryPwa oder --category-pwa |
boolean | false |
Aktiviert Tools zur Automatisierung von progressiven Web-Apps (Installation, Start, Deinstallation und Betriebssystemstatus). Wird nur bei Rohrverbindungen unterstützt. |
--categoryExperimentalThirdParty oder --category-experimental-third-party |
boolean | false |
Aktiviert Entwicklertools von Drittanbietern, die von der geprüften Seite bereitgestellt werden. |
--categoryExperimentalWebmcp oder --category-experimental-webmcp |
boolean | false |
Ermöglicht das Debugging von WebMCP-Tools. Erfordert Chrome 149 oder höher mit aktivierten WebMCP-Funktionen. |
--memoryDebugging oder --memory-debugging |
boolean | false |
Aktiviert Tools zur Fehlerbehebung im Arbeitsspeicher. |
Screenshot-Optionen
Mit diesen Optionen können Sie anpassen, wie der Agent Screenshots aufnimmt.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--screenshotFormat oder --screenshot-format |
String | false |
Überschreibt das Standardausgabeformat (png). Optionen: jpeg, png und webp. Die Formate jpeg und webp sind kleiner, was dazu beiträgt, die Kontextgröße in KI-Unterhaltungen zu reduzieren. |
--screenshotQuality oder --screenshot-quality |
Zahl | false |
Überschreibt die Komprimierungsqualität (0–100) für jpeg und webp. |
--screenshotMaxWidth oder --screenshot-max-width |
Zahl | false |
Maximale Breite in Pixeln. Größere Screenshots werden verkleinert. |
--screenshotMaxHeight oder --screenshot-max-height |
Zahl | false |
Maximale Höhe in Pixeln. Größere Screenshots werden verkleinert. |
Experimentelle Optionen
Mit diesen Optionen können Sie experimentelle Funktionen aktivieren, die sich noch in der Entwicklung befinden.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--experimentalDevtools oder --experimental-devtools |
boolean | false |
Ermöglicht die Automatisierung von DevTools-Zielen. |
--experimentalVision oder --experimental-vision |
boolean | false |
Ermöglicht koordinatenbasierte Tools (z. B. click_at). Erfordert in der Regel ein Modell für die Computernutzung, das genaue Koordinaten anhand von Screenshots erstellen kann. |
--experimentalStructuredContent oder --experimental-structured-content |
boolean | false |
Gibt strukturierte formatierte Inhalte aus. |
--experimentalIncludeAllPages oder --experimental-include-all-pages |
boolean | false |
Umfasst alle Arten von Seiten, z. B. Webviews und Hintergrundseiten. |
--experimentalScreencast oder --experimental-screencast |
boolean | false |
Stellt Screencast-Tools bereit (erfordert ffmpeg in PATH). |
--experimentalFfmpegPath oder --experimental-ffmpeg-path |
String | false |
Pfad zur ausführbaren Datei ffmpeg. |
--experimentalScreencastFps oder --experimental-screencast-fps |
Zahl | false |
Bilder pro Sekunde für die Screencast-Aufzeichnung. Niedrigere Werte können die Speicherauslastung auf Seiten verringern, auf denen Frames schneller als ffmpeg codiert werden können. |
Weitere Optionen
Mit diesen Optionen können Sie Logging, Seitenrouting und Quellzuordnungen konfigurieren oder eine vereinfachte Reihe von Tools aktivieren.
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
--slim |
boolean | false |
Es bietet nur drei Tools (Navigation, Skriptausführung und Screenshots). Nützlich für grundlegende Browseraufgaben. |
--pageIdRouting oder --page-id-routing |
boolean | true |
Erfordert pageId für seitenbezogene Tools und leitet Anfragen nach Seiten-ID weiter, was für gleichzeitige Agentensitzungen nützlich ist. Verwenden Sie zum Deaktivieren --no-page-id-routing. |
--sourceMaps oder --source-maps |
boolean | true |
Aktiviert Quellzuordnungen in den Entwicklertools. Verwenden Sie --no-source-maps zum Deaktivieren. |
--logFile oder --log-file |
String | false |
Pfad zu einer Datei, in die Debugging-Logs geschrieben werden sollen. Setzen Sie die Umgebungsvariable NODE_DEBUG auf *, um ausführliche Logs zu aktivieren. |
--config |
String | false |
Pfad zu einer JSON-Konfigurationsdatei. |
Umgebungsvariablen
Sie können auch die folgenden Umgebungsvariablen verwenden, um den Server zu konfigurieren:
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: Wenn festgelegt, wird die Erfassung von Nutzungsstatistiken deaktiviert (entspricht--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: Wenn diese Option festgelegt ist, werden regelmäßige Suchen nach Updates deaktiviert.CI: Wenn festgelegt, wird die Erhebung von Nutzungsstatistiken deaktiviert.NODE_DEBUG: Auf*setzen, um das ausführliche Debug-Logging zu aktivieren (funktioniert in Verbindung mit--logFile).