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.
| Thema | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Beide iframes über den Snapshot erreichbar | 5 von 5 | 5 von 5 | 5 von 5 |
| Text, E-Mail, Auswahlliste, Radio-Button, Checkbox und Textbereich ausgefüllt | 5 von 5 | 5 von 5 | 5 von 5 |
| Upload von außerhalb des erlaubten Ordners abgelehnt (Standard) | 5 von 5 | 5 von 5 | nicht gemessen |
| Hochgeladene Datei kam unverändert an (Name, Größe, SHA-256) | 5 von 5 | 5 von 5 | 5 von 5 |
| Im Same-Origin-iframe getippt und geklickt | 5 von 5 | 5 von 5 | 5 von 5 |
| Im Cross-Site-iframe getippt und geklickt | 5 von 5 | 5 von 5 | 5 von 5 |
| Formular nahm alles an außer dem menschlichen Schritt | 5 von 5 | 5 von 5 | 2 von 5 |
| Login nach Neustart mit demselben Profil erhalten | 0 von 5 | 5 von 5 | 5 von 5 |
| Login nach browser_close und Neustart erhalten | 5 von 5 | nicht gemessen | nicht gemessen |
| Isolierter Modus startete ohne den alten Login | 5 von 5 | 5 von 5 | 5 von 5 |
| navigator.webdriver meldete false | 5 von 5 | 0 von 5 | 0 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.
| Thema | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Tab und Login des Menschen gefunden | 5 von 5 | 5 von 5 | 5 von 5 |
| Felder auf der Seite im vorhandenen Zustand ausgefüllt | 5 von 5 | 0 von 5 | 5 von 5 |
| Felder nach einmaligem Neuladen ausgefüllt | nicht gemessen | 5 von 5 | nicht gemessen |
| Hochgeladene Datei kam unverändert an (Name, Größe, SHA-256) | 5 von 5 | 5 von 5 | 5 von 5 |
| Im Same-Origin-iframe getippt und geklickt | 5 von 5 | 5 von 5 | 5 von 5 |
| Im Cross-Site-iframe getippt und geklickt | 5 von 5 | 5 von 5 | 0 von 5 |
| Mensch hakte den menschlichen Schritt ab und schickte ab | 5 von 5 | 5 von 5 | 0 von 5 |
| Agent las das abgeschickte Ergebnis | 5 von 5 | 5 von 5 | 0 von 5 |
| Netzwerk-Log des Agenten zeigte den POST des Formulars | 5 von 5 | 5 von 5 | 0 von 5 |
| Nach Server-Neustart wieder mit demselben Tab verbunden | 5 von 5 | 5 von 5 | nicht gemessen |
| navigator.webdriver meldete false | 5 von 5 | 5 von 5 | 5 von 5 |
Screenshots aus den Läufen


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ß.
| Thema | Offizieller Wortlaut | Was das in der Praxis bedeutet |
|---|---|---|
| Dateizugriff bei Playwright MCP | By 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 MCP | By 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 MCP | Some 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 MCP | A persistent profile can only be used by one browser instance at a time | Zwei Agenten in einem Workspace brauchen --isolated oder getrennte Profilordner. |
| Playwright CLI | CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context | Microsoft selbst verweist Coding-Agenten mit knappem Kontext auf seine CLI plus Skills statt auf den MCP-Server. |
| Statistiken bei Chrome DevTools MCP | Google 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.
| Thema | Playwright MCP | Chrome DevTools MCP |
|---|---|---|
| Browser | Chrome, 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. |
| Profil | Standardmäß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. |
| Debugging | Konsole 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 Hersteller | Das 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 MCP | Microsoft empfiehlt Coding-Agenten Playwright CLI mit Skills. | Eine CLI für die Nutzung ohne MCP ist enthalten. |
| Lizenz | Apache-2.0 | Apache-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.
Test selbst ausführen
Die Testseite ist eine einzige Node.js-Datei ohne Abhängigkeiten. Sie lauscht nur auf deinem eigenen Rechner.
- Lade die Datei herunter und führe sie mit Node.js 18 oder neuer aus.
- Öffne einmal http://127.0.0.1:4461/, um die Seite zu sehen; das Cross-Site-iframe lädt von http://localhost:4462/.
- 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.
- 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