Praxisvergleich

Playwright MCP vs. Chrome DevTools MCP im Praxistest

Wir haben beide Browser-MCP-Server je fünfmal durch dasselbe lokale Formular geschickt: Textfelder, ein Datei-Upload, zwei iframes, ein Schritt, den nur ein Mensch abschließen darf, und ein Neustart. Hier steht, was bestanden hat, was gescheitert ist und was wir nur in der Doku gelesen haben.

Kurze Antwort

  • Beide Server füllten jedes Feld aus, luden die Datei hoch und arbeiteten in einem Same-Origin- und einem Cross-Site-iframe, wenn sie ihr eigenes Chrome starteten – jeweils in fünf von fünf Läufen.
  • Verbunden mit einem Chrome, das ein Mensch bereits geöffnet hatte, füllte Playwright MCP das offene Formular sofort aus. Chrome DevTools MCP 1.10.1 konnte dort klicken, Felder aber erst ausfüllen, nachdem es die Seite einmal neu geladen hatte – in jedem Lauf.
  • Das eigene Chrome von Chrome DevTools MCP meldete navigator.webdriver = true, das von Playwright MCP false. In einem Chrome, das du selbst startest, meldeten beide false.
  • Nimm Playwright MCP für saubere, wiederholbare Läufe und eine kürzere Tool-Liste. Nimm Chrome DevTools MCP, wenn du deine eigene Web-App debuggst (Traces, Lighthouse, Netzwerk) oder dein Alltags-Chrome mit dem Agenten teilen willst.

Testergebnisse

Jede Zelle zählt die bestandenen Läufe von 5. Testdatum 30. September 2026, Google Chrome 154.0.8037.92, @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1 als dritte Spalte.

Modus 1: Das Tool startet sein eigenes Chrome

Jedes Tool startete ein Headless-Chrome mit frischem Profilordner, öffnete die Testseite, meldete sich auf der Seite an, füllte das Formular aus und klickte auf Absenden, ohne den menschlichen Schritt abzuhaken.

ThemaPlaywright MCPChrome DevTools MCPagent-browser
Beide iframes über den Snapshot erreichbar5 von 55 von 55 von 5
Text, E-Mail, Auswahlliste, Radio-Button, Checkbox und Textbereich ausgefüllt5 von 55 von 55 von 5
Upload von außerhalb des erlaubten Ordners abgelehnt (Standard)5 von 55 von 5nicht gemessen
Hochgeladene Datei kam unverändert an (Name, Größe, SHA-256)5 von 55 von 55 von 5
Im Same-Origin-iframe getippt und geklickt5 von 55 von 55 von 5
Im Cross-Site-iframe getippt und geklickt5 von 55 von 55 von 5
Formular nahm alles an außer dem menschlichen Schritt5 von 55 von 52 von 5
Login nach Neustart mit demselben Profil erhalten0 von 55 von 55 von 5
Login nach browser_close und Neustart erhalten5 von 5nicht gemessennicht gemessen
Isolierter Modus startete ohne den alten Login5 von 55 von 55 von 5
navigator.webdriver meldete false5 von 50 von 50 von 5

Modus 2: Das Tool verbindet sich mit einem Chrome, das ein Mensch bereits nutzt

Wir haben Chrome selbst gestartet, mit eigenem Profil und einem lokalen Debugging-Port. Ein Stellvertreter für den Menschen öffnete die Seite, meldete sich an und tippte den Produktnamen ein. Dann verband sich das Tool, füllte den Rest aus und hielt an; der Stellvertreter hakte den menschlichen Schritt ab und schickte das Formular ab; das Tool las das Ergebnis.

ThemaPlaywright MCPChrome DevTools MCPagent-browser
Tab und Login des Menschen gefunden5 von 55 von 55 von 5
Felder auf der Seite im vorhandenen Zustand ausgefüllt5 von 50 von 55 von 5
Felder nach einmaligem Neuladen ausgefülltnicht gemessen5 von 5nicht gemessen
Hochgeladene Datei kam unverändert an (Name, Größe, SHA-256)5 von 55 von 55 von 5
Im Same-Origin-iframe getippt und geklickt5 von 55 von 55 von 5
Im Cross-Site-iframe getippt und geklickt5 von 55 von 50 von 5
Mensch hakte den menschlichen Schritt ab und schickte ab5 von 55 von 50 von 5
Agent las das abgeschickte Ergebnis5 von 55 von 50 von 5
Netzwerk-Log des Agenten zeigte den POST des Formulars5 von 55 von 50 von 5
Nach Server-Neustart wieder mit demselben Tab verbunden5 von 55 von 5nicht gemessen
navigator.webdriver meldete false5 von 55 von 55 von 5

Screenshots aus den Läufen

Ganzseitiger Screenshot des lokalen Testformulars, nachdem Playwright MCP es ausgefüllt hat
Playwright MCP, Modus 1: Alle Felder, die Datei und beide iframes sind ausgefüllt; das Absenden hält nur der nicht abgehakte menschliche Schritt auf. Vom Tool selbst aufgenommen.
Ganzseitiger Screenshot des lokalen Testformulars, nachdem Chrome DevTools MCP es ausgefüllt hat
Chrome DevTools MCP, Modus 1: Alle Felder, die Datei und beide iframes sind ausgefüllt; das Absenden hält nur der nicht abgehakte menschliche Schritt auf. Vom Tool selbst aufgenommen.

So haben wir getestet

  • Datum 30. September 2026 unter macOS mit Google Chrome 154.0.8037.92. Die Versionen waren fest vorgegeben: @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1.
  • Das Formular ist eine lokale Testseite auf 127.0.0.1; das Cross-Site-iframe kommt von localhost auf einem zweiten Port. Keine echte Website, kein Konto, kein persönliches Browserprofil und keine Zahlung waren beteiligt.
  • Ein kleines Skript sprach mit jedem Server über MCP, genau wie der Client eines Agenten: Snapshot, Formular ausfüllen, Upload, Klick, Konsole und Netzwerk lesen. Die Element-Referenzen nahm es aus dem Snapshot des jeweiligen Tools. Kein Sprachmodell traf Entscheidungen, daher folgte jeder Lauf denselben Schritten.
  • Jedes Szenario lief 5-mal pro Tool. Die Tabellen zählen die bestandenen Läufe.
  • Der Mensch in Modus 2 ist ein Skript, das einfache Befehle über das DevTools Protocol an den Tab schickt. Es ist ein Stellvertreter, kein echter Mensch. Um es als Ursache für das Ausfüll-Problem von Chrome DevTools MCP auszuschließen, haben wir Chrome außerdem direkt mit der Test-URL und ganz ohne Skript gestartet: gleiches Ergebnis.
  • agent-browser wurde über seine Kommandozeile gesteuert, seine Hauptschnittstelle, nicht über seinen MCP-Modus.

Was dieser Test nicht abdeckt

  • Echte CAPTCHAs, Bot-Checks und echte Anmeldungen auf fremden Websites.
  • Firefox und WebKit, die Browser-Erweiterungen beider Projekte und den Auto-Connect-Dialog von Chrome.
  • Performance-Traces, Lighthouse und Speicher-Tools.
  • Ein Sprachmodell, das die Schritte wählt: Wie viele Tokens und Runden ein echter Agent braucht, hängt vom Modell ab.
  • Windows und Linux.

Was auffiel

Beide verweigern Uploads von außerhalb eines erlaubten Ordners

Unser erster Upload kam aus einem Projektordner, und beide Server lehnten ihn standardmäßig ab. Playwright MCP erlaubt die Workspace-Roots oder sein Arbeitsverzeichnis, wenn der Client keine nennt; Chrome DevTools MCP erlaubt den System-Temp-Ordner, wenn der Client keine Roots nennt. Aus einem erlaubten Ordner kam die Datei in jedem Lauf unverändert an: gleicher Name, gleiche Größe, gleicher SHA-256. Jedes Projekt dokumentiert ein Flag, um die Grenze zu erweitern.

Chrome DevTools MCP konnte eine Seite nicht ausfüllen, die schon vor der Verbindung offen war

In Modus 2 fand Chrome DevTools MCP den Tab samt Login, klickte Buttons und tippte in beiden iframes, aber das Ausfüllen von Feldern auf der Seite selbst scheiterte in jedem Lauf mit „did not become interactive“. Nach einem Neuladen durch den Agenten klappte das Ausfüllen, und der Rest des Tests bestand. Ein Neuladen verwirft alles, was eine Seite nicht gespeichert hat; unsere Testseite stellt ihren Entwurf wieder her, viele echte Formulare nicht. Playwright MCP brauchte kein Neuladen.

navigator.webdriver hängt davon ab, wer Chrome startet

Wenn Chrome DevTools MCP Chrome startete, sah die Seite navigator.webdriver = true, was die eigene Doku des Projekts als Grund nennt, warum manche Anmeldungen scheitern. Das von Playwright MCP gestartete Chrome meldete false. Wenn sich die Tools mit einem Chrome verbanden, das wir gestartet hatten, meldete jedes Tool false. Einen echten Bot-Check haben wir nicht getestet.

Playwright MCP behält ein Profil nur nach browser_close

Mit einem persistenten Profilordner war die Anmeldung nach einem Server-Neustart weg, wenn der Client einfach die Verbindung trennte. Rief der Agent vorher browser_close auf, blieb sie in jedem Lauf erhalten. Chrome DevTools MCP behielt sein Profil in jedem Lauf auch ohne Close-Aufruf.

agent-browser übersah im verbundenen Modus das Cross-Site-iframe

Als dritte Spalte füllte agent-browser jedes Feld, die Datei und beide iframes aus, wenn es seinen eigenen Browser startete; sein Klick auf Absenden wurde jedes Mal als erledigt gemeldet, die Seite registrierte ihn aber nur in einigen Läufen. Verbunden mit einem laufenden Chrome zeigte sein Snapshot das Same-Origin-iframe, aber nicht das Cross-Site-iframe, auch nach Warten und einem zweiten Snapshot, sodass sich das Formular nicht abschließen ließ.

ThemaOffizieller WortlautWas das in der Praxis bedeutet
Dateizugriff bei Playwright MCPBy default access to file system is restricted to workspace root directories (or cwd if no roots are configured) only, and navigation to file:// URLs is blocked.Lade Dateien aus deinem Projekt-Workspace hoch oder starte den Server mit --allow-unrestricted-file-access.
Dateizugriff bei Chrome DevTools MCPBy default, file-writing tools are restricted to the OS temp directory when no roots are configured.Ohne MCP-Roots von deinem Client leg Upload-Dateien in den Temp-Ordner oder ergänze --filesystem-root.
Anmeldung bei Chrome DevTools MCPSome accounts may prevent sign-in when the browser is controlled via WebDriver (the default launch mechanism for the Chrome DevTools MCP server).Für Websites mit Anmeldung verbinde den Server mit einem Chrome, das du selbst gestartet hast, statt ihn eines starten zu lassen.
Profil bei Playwright MCPA persistent profile can only be used by one browser instance at a timeZwei Agenten in einem Workspace brauchen --isolated oder getrennte Profilordner.
Playwright CLICLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model contextMicrosoft selbst verweist Coding-Agenten mit knappem Kontext auf seine CLI plus Skills statt auf den MCP-Server.
Statistiken bei Chrome DevTools MCPGoogle collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP.Standardmäßig an; ergänze --no-usage-statistics, wenn du das nicht willst.

Dokumentiert, nicht getestet

Diese Unterschiede stammen aus README und Doku des jeweiligen Projekts am Lesedatum. Wir haben sie nicht gemessen.

ThemaPlaywright MCPChrome DevTools MCP
BrowserChrome, Firefox, WebKit und Edge über --browser.Offiziell Google Chrome und Chrome for Testing; andere Chromium-Browser funktionieren eventuell.
Dein laufender Browser--cdp-endpoint zu einem Debugging-Port oder die Playwright Extension mit Tab-Auswahl und Freigabe.--browser-url zu einem Debugging-Port oder --autoConnect in Chrome 144+ mit einem Berechtigungsdialog pro Sitzung.
ProfilStandardmäßig persistentes Profil; --isolated hält es im Arbeitsspeicher; --storage-state lädt Cookies und Storage.Standardmäßig persistentes Profil; --isolated nutzt ein temporäres, das danach gelöscht wird.
DebuggingKonsole und Netzwerk-Requests; Tracing, Video und Storage-Tools auf Wunsch.Performance-Traces mit Insights, Lighthouse-Audits, Speicher-Snapshots, Konsole mit Stack-Traces über Source Maps, Netzwerk-Requests.
Daten an den HerstellerDas README beschreibt keine Nutzungsstatistiken.Nutzungsstatistiken standardmäßig an (--no-usage-statistics); Performance-Tools fragen Trace-URLs eventuell in der CrUX API ab (--no-performance-crux).
Ohne MCPMicrosoft empfiehlt Coding-Agenten Playwright CLI mit Skills.Eine CLI für die Nutzung ohne MCP ist enthalten.
LizenzApache-2.0Apache-2.0

Wie schwer die Tool-Liste wiegt

Bevor eine Seite geöffnet war, meldete Playwright MCP 25 Tools mit 20,3 KB Tool-Beschreibungen, Chrome DevTools MCP 30 Tools mit 25,7 KB (Standardeinstellungen, gemessen über tools/list). Ein Agent trägt diesen Text die ganze Sitzung über in seinem Kontext mit. Chrome DevTools MCP bietet --slim mit drei Tools; Playwright MCP ergänzt Tool-Gruppen mit --caps.

Welches du nehmen solltest

Playwright MCP passt, wenn

  • der Agent für jede Aufgabe einen sauberen Browser starten soll, headless oder in CI,
  • du auch Firefox oder WebKit brauchst,
  • der Agent ein Formular übernimmt, das ein Mensch schon begonnen hat, denn es füllte offene Seiten ohne Neuladen aus,
  • du eine kürzere Tool-Liste im Kontext des Agenten willst.

Chrome DevTools MCP passt, wenn

  • du deine eigene Web-App debuggst und Traces, Lighthouse, Netzwerk und Konsole an einem Ort willst,
  • du dein Alltags-Chrome per Auto-Connect mit dem Agenten teilen willst,
  • du nur in Chrome arbeitest und Tools magst, die das Team hinter Chrome DevTools pflegt,
  • du den Agenten eine Seite, die er nicht selbst geöffnet hat, vor dem Ausfüllen neu laden lassen kannst.

Und agent-browser?

agent-browser ist ein Kommandozeilen-Browser-Tool für Agenten mit optionalem MCP-Modus. Es füllte dasselbe Formular aus, wenn es seinen eigenen Browser startete, übersah aber das Cross-Site-iframe, wenn es mit einem laufenden Chrome verbunden war. Einen Blick wert, wenn dein Agent mit kurzen Shell-Befehlen besser arbeitet als mit MCP-Tools.

Claude in Chrome vs. Chrome DevTools MCP im Vergleich →

Test selbst ausführen

Die Testseite ist eine einzige Node.js-Datei ohne Abhängigkeiten. Sie lauscht nur auf deinem eigenen Rechner.

  1. Lade die Datei herunter und führe sie mit Node.js 18 oder neuer aus.
  2. Öffne einmal http://127.0.0.1:4461/, um die Seite zu sehen; das Cross-Site-iframe lädt von http://localhost:4462/.
  3. Füge einen der MCP-Einträge unten zu deinem Agenten hinzu und bitte ihn, das Formular auszufüllen, ein beliebiges kleines PNG hochzuladen, beide iframes auszufüllen und vor dem menschlichen Schritt anzuhalten.
  4. Hake den menschlichen Schritt selbst ab, schick das Formular ab und frag den Agenten, was die Seite jetzt zeigt.

Herunterladen: browser-mcp-test.mjs

Die Datei liefert das Formular, das iframe und einen lokalen Echo-Endpunkt aus. Nichts wird anderswohin gesendet.

Tool startet sein eigenes Chrome

Playwright MCP

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@0.0.83"
      ]
    }
  }
}

Chrome DevTools MCP

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@1.10.1",
        "--no-usage-statistics"
      ]
    }
  }
}

Tool verbindet sich mit einem Chrome, das du auf Port 9222 gestartet hast

Playwright MCP

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@0.0.83",
        "--cdp-endpoint",
        "http://127.0.0.1:9222"
      ]
    }
  }
}

Chrome DevTools MCP

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@1.10.1",
        "--browser-url=http://127.0.0.1:9222",
        "--no-usage-statistics"
      ]
    }
  }
}

Was LaunchRepo nutzt

  • Die Playbooks von LaunchRepo sind für Chrome DevTools MCP geschrieben und getestet, verbunden mit deinem eigenen Chrome, denn Verzeichnis-Einträge brauchen deine echten Logins und du solltest jeden Schritt sehen.
  • Mit einem Chrome, das du selbst startest, blieb navigator.webdriver in diesem Test bei jedem Tool false, und die Übergabe funktionierte: Du erledigst einen Schritt im selben Tab, der Agent liest das Ergebnis.
  • Wenn ein Verzeichnis-Formular schon offen ist, während sich der Agent verbindet, lass ihn die Seite neu laden, bevor du etwas eintippst, damit nichts von deinen Eingaben verloren geht.

Quellen

Offizielle Seiten und Repositories, gelesen am 30. September 2026. Zitate sind wörtlich übernommen; unsere Testergebnisse sind eigene Messungen.

FAQ

Ist Playwright MCP oder Chrome DevTools MCP besser für Coding-Agenten?
Keines gewinnt überall. In unserem Test bestanden beide jeden Formular-Check, wenn sie ihr eigenes Chrome starteten. Playwright MCP füllte außerdem eine Seite aus, die ein Mensch schon geöffnet hatte, und meldete eine kürzere Tool-Liste; Chrome DevTools MCP bringt Performance-Traces, Lighthouse und tiefere Netzwerk- und Konsolen-Tools zum Debuggen deiner eigenen App mit.
Kann Chrome DevTools MCP das Chrome nutzen, in dem ich angemeldet bin?
Ja. Mit --autoConnect verbindet es sich mit deinem laufenden Chrome ab Version 144, nachdem du Remote-Debugging erlaubt und einen Dialog bestätigt hast. Oder starte Chrome mit einem Remote-Debugging-Port und einem separaten Profilordner und richte --browser-url darauf; seit Chrome 136 wird der Port für das Standardprofil ignoriert.
Kommen beide mit iframes zurecht?
Ja, in unseren Läufen erreichten beide in beiden Modi ein Same-Origin- und ein Cross-Site-iframe, fünf von fünf Mal, und konnten darin tippen und klicken.
Warum ist der Datei-Upload gescheitert?
Beide Server lesen standardmäßig nur Dateien aus erlaubten Ordnern: Playwright MCP aus den Workspace-Roots oder seinem Arbeitsverzeichnis, Chrome DevTools MCP aus dem System-Temp-Ordner, wenn dein Client keine Roots nennt. Verschieb die Datei dorthin oder nutze das dokumentierte Flag, um die Grenze zu erweitern.
Können diese Tools CAPTCHAs lösen?
Keines dokumentiert eine CAPTCHA-Funktion, und wir haben keine echten CAPTCHAs getestet. Plane stattdessen eine Übergabe: Der Agent hält an, du löst den Schritt im selben sichtbaren Fenster, der Agent macht weiter. In unserem Test im verbundenen Modus funktionierte diese Übergabe bei beiden Servern.
Verrät navigator.webdriver den Agenten?
In unserem Test war es nur true, wenn Chrome DevTools MCP Chrome selbst startete. Das eigene Chrome von Playwright MCP und jedes Chrome, das wir selbst starteten, meldeten false. Ob eine Website darauf reagiert, entscheidet die Website; echte Bot-Checks haben wir nicht getestet.

Lass deinen Agenten den Verzeichnis-Launch erledigen

LaunchRepo gibt deinem Coding-Agenten getestete Playbooks für Launch-Plattformen und Verzeichnisse. Er arbeitet in deinem eigenen Chrome über Chrome DevTools MCP, und du legst fest, ob er Einreichungen selbst abschickt oder dich vorher fragt.

Preise ansehen