Design wechseln

Playwright MCP Praxisguide: Claude, Codex und Cursor den Browser steuern lassen

Easton editorial illustration: central laptop with split code diff and rendered browser viewport, stacked screenshot evidence card with a visible check mark

"Die offizielle Playwright-MCP-Dokumentation erklärt, dass der server Browserautomatisierung über structured accessibility snapshots bereitstellt und browser_run_code_unsafe als RCE-equivalent Hochrisikowerkzeug kennzeichnet."

Sie fügen in .codex/config.toml eine Zeile [mcp_servers.playwright] hinzu, starten codex, und der Browser öffnet sich tatsächlich. Trotzdem ruft die AI keine Browsertools auf – oder sie öffnet die Seite, findet aber den Button in der Navigationsleiste nicht. Dieser Leitfaden zeigt die vollständigen Einrichtungsschritte für Claude Code, Codex und Cursor, eine Checkliste für die erste Validierung und die Browserberechtigungen, die Sie einer AI nicht nebenbei überlassen sollten.


Was Playwright MCP ist

Playwright MCP ist der von Microsoft gepflegte MCP server, der Playwrights Browserautomatisierung über das Model Context Protocol für AI-Coding-Tools bereitstellt. Der Kern ist keine Screenshot-Erkennung, sondern der Zugriff auf den accessibility tree. Die AI bekommt eine strukturierte Sicht auf die Webseite und kann dadurch Buttons, Links, Eingabefelder und andere interaktive Elemente finden.

Kernfunktionen und Tool-Liste

Playwright MCP deckt die wichtigsten Browserautomatisierungsfälle ab:

  • Navigation: URL öffnen, zurück- und vorwärtsgehen, neu laden
  • Klicks und Eingaben: Elemente anklicken, Formulare ausfüllen, Tastatur bedienen
  • Screenshots und Snapshots: Seitenscreenshots aufnehmen und accessibility snapshots abrufen
  • Dialoge und Tabs: alert/confirm/prompt verarbeiten und mehrere Tabs verwalten
  • Netzwerk und Console: Netzwerkanfragen prüfen und console logs erfassen
  • Storage State: cookies, localStorage und sessionStorage speichern und wiederherstellen

Damit kann es einfache Seitenklicks ebenso verarbeiten wie komplexere Formularabläufe.

Unterschied zu Playwright CLI/SKILLS

Das Microsoft README beschreibt die Abwägung zwischen zwei Wegen:

  • MCP-Weg: geeignet für persistenten Zustand, reichere Introspection und einen fortlaufenden Browserkontext, etwa bei explorativer Automatisierung, selbstheilenden Tests oder langen Aufgaben. Der Nachteil ist, dass tool schema und accessibility tree in den Kontext gelangen und Token verbrauchen.
  • CLI + SKILLS-Weg: geeignet für Code-Workflows mit hohem Durchsatz und geringerem Kontextverbrauch. Dafür müssen Sie Playwright über Kommandozeile oder Skripte aufrufen.

Wenn Sie bereits Claude Code, Codex, Cursor oder ein anderes MCP-fähiges AI-Coding-Tool nutzen, ist Playwright MCP der direkteste Weg, Browsertools in diesen vorhandenen Workflow einzubinden.

Unterschied zu Browser Use

Browser Use ist ein Python-agent-loop. Sie schreiben Python-Code gegen dessen API, und der Agent entscheidet anhand eines Prompts über die Browseraktionen. Playwright MCP ist anders. Es bringt keinen agent-loop mit, sondern nur die Browser-Werkzeugebene. Wann ein Browsertool aufgerufen wird, entscheidet Ihr bestehender MCP client, also Claude Code, Codex oder Cursor.

Wenn Sie als Python-Entwickler schnell in Browser Agents einsteigen möchten, lohnt sich zuerst das Browser-Use-Tutorial zum Öffnen von Webseiten, Anklicken von Buttons und Extrahieren von Informationen. Wenn Sie bereits mit einem MCP client arbeiten und Browserfunktionen in dieses Tool bringen möchten, hilft Ihnen dieser Artikel beim Installieren, Prüfen und Absichern von Playwright MCP.

Kein Ersatz für ein Testframework

Playwright MCP ist kein Ersatz für das Playwright-Testframework. Es eignet sich für explorative Automatisierung und Frontend-Abnahmen, aber stabile E2E-Testsuiten sollten weiterhin mit Playwright-Testskripten geschrieben werden. Tests brauchen Determinismus, Wiederholbarkeit und Wartbarkeit; AI-gesteuerte Browseraktionen sind nicht vollständig kontrollierbar. Wenn Sie sich für Tests im Browsermodus interessieren, lesen Sie auch Vitest Browser Mode.


Playwright MCP in Claude Code konfigurieren

Voraussetzungen

Claude Code benötigt Node.js 18+, damit Playwright MCP laufen kann. Prüfen Sie Ihre Node-Version:

node --version

Wenn die Version unter 18 liegt, aktualisieren Sie zuerst Node.js.

Befehl zum Hinzufügen

Claude Code bietet einen eigenen MCP-Verwaltungsbefehl. Führen Sie ihn im Projektstamm aus:

claude mcp add playwright npx @playwright/mcp@latest

Dieser Befehl registriert den Playwright MCP server in Claude Code. Verwenden Sie @playwright/mcp@latest und übernehmen Sie keine alten Community-Paketnamen wie @executeautomation/playwright-mcp-server.

Projektweite .mcp.json

Wenn Sie die Playwright-MCP-Konfiguration im Team teilen möchten, können Sie im Projektstamm eine .mcp.json anlegen:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": {
        "BROWSER_PATH": "/usr/bin/chromium"
      }
    }
  }
}

Wenn Claude Code eine projektweite .mcp.json erkennt, fragt es vor der Nutzung nach Zustimmung. Das verhindert, dass ein Projekt unbemerkt einen nicht vertrauenswürdigen MCP server einführt.

Umgebungsvariablen expandieren

.mcp.json unterstützt die Expansion von Umgebungsvariablen für maschinenspezifische Pfade und sensible Werte:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": {
        "HOME": "${env:HOME}",
        "STORAGE_STATE_PATH": "${env:STORAGE_STATE_PATH}"
      }
    }
  }
}

Tool Search und Output-Token-Management

Claude Code aktiviert MCP Tool Search standardmäßig. Tools werden dadurch verzögert geladen, was Kontextverbrauch reduziert. Bei großen MCP-Ausgaben greift außerdem Token-Management; die Standardobergrenze liegt bei 25.000 tokens. Wenn die AI keine Browsertools verwendet, prüfen Sie:

  1. Ob der MCP server korrekt gestartet ist (Claude-Code-Logs ansehen)
  2. Ob Tool Search aktiv ist (in Claude Code standardmäßig aktiv)
  3. Ob Node.js mindestens Version 18 ist

Playwright MCP in Codex konfigurieren

OpenAI Codex unterstützt MCP servers sowohl in der CLI als auch in der IDE extension. Die Konfiguration unterscheidet sich jedoch von Claude Code.

Befehl zum Hinzufügen

Die Codex CLI bietet einen MCP-Verwaltungsbefehl:

codex mcp add playwright -- npx @playwright/mcp@latest

Codex verwendet --, um server-Namen und eigentlichen Befehl zu trennen.

Speicherort der Konfigurationsdatei

Die Codex-MCP-Konfiguration liegt in config.toml. Es gibt zwei typische Orte:

  • Benutzerebene: ~/.codex/config.toml (global wirksam)
  • Projektebene: .codex/config.toml im Projektstamm (nur für dieses Projekt)

CLI und IDE extension teilen sich diese Konfiguration.

config.toml-Ausschnitt

Bei manueller Konfiguration fügen Sie in config.toml Folgendes hinzu:

[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]

Wenn Sie Umgebungsvariablen übergeben oder Tool-Freigaben anpassen möchten, ergänzen Sie:

env_vars = ["HOME", "STORAGE_STATE_PATH"]
approval_mode = "prompt"

Tool-Freigabemodi

Codex bietet drei Freigabemodi für Tools:

  • approval_mode = "allow": alle Toolaufrufe automatisch ausführen
  • approval_mode = "prompt": vor jedem Toolaufruf Benutzerbestätigung anfordern
  • approval_mode = "deny": alle Toolaufrufe ablehnen

Für riskante Playwright-MCP-Tools wie browser_run_code_unsafe empfiehlt sich:

[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
disabled_tools = ["browser_run_code_unsafe"]
approval_mode = "prompt"

So verhindern Sie, dass Hochrisiko-Tools automatisch laufen. Sensible Aktionen bleiben hinter einer menschlichen Freigabe.

HTTP-server-Unterstützung

Codex unterstützt zwei Arten von MCP servers:

  • STDIO server: lokale Prozesskommunikation, geeignet für Tools mit lokalem Systemzugriff wie Playwright MCP
  • HTTP server: unterstützt bearer token und OAuth-Authentifizierung

Playwright MCP nutzt STDIO, daher brauchen Sie für die Standardkonfiguration keinen HTTP server.


Playwright MCP in Cursor konfigurieren

Cursor richtet MCP über die Settings UI ein. Das unterscheidet sich von den Kommandozeilenwegen in Claude Code und Codex.

UI-Schritte

Laut offizieller Playwright-Dokumentation läuft die Cursor-Konfiguration so:

  1. Cursor Settings öffnen (Cmd+, oder über das Settings-Menü)
  2. Zur MCP-Einstellungsseite navigieren (Settings -> MCP)
  3. Auf „Add new MCP Server“ klicken
  4. Die Konfiguration ausfüllen:
    • Server name: playwright
    • Command type: npx
    • Command: @playwright/mcp@latest

Standardparameter konfigurieren

Die MCP-server-Konfiguration in Cursor unterstützt die Standardparameter von Playwright MCP:

  • --headless: Headless-Modus ohne sichtbares Browserfenster; in der Entwicklung ist headed mode leichter zu beobachten
  • --browser: Browser auswählen (chrome/firefox/webkit/msedge)
  • --output-dir: Pfad für Ausgaben
  • --storage-state: Pfad zur Datei mit Login-Zustand

Die vollständige Parameterliste finden Sie in der folgenden Tabelle zu Standardkonfigurationen.

Referenz zur Konfiguration

Die offizielle MCP-Dokumentation von Cursor finden Sie in den Cursor-Dokumenten. Für Playwright-MCP-Details sollten Playwright-Dokumentation und Microsoft README maßgeblich sein. Verwenden Sie den offiziellen Paketnamen @playwright/mcp@latest.


Tabelle der Standardkonfigurationsparameter

Playwright MCP bietet mehrere Parameter, um Browserverhalten, Sicherheitsgrenzen und Ausgabeverwaltung zu steuern.

ParameterZweckStandardwertSicherheitshinweis
--headlessHeadless-Modus ohne Browserfensterfalse (headed)In der Entwicklung headed verwenden, damit Sie Browseraktionen beobachten können
--browserBrowsertyp auswählenchromeOptionen: chrome, firefox, webkit, msedge
--allowed-originsListe erlaubter OriginsKeine BeschränkungKeine Sicherheitsgrenze; beeinflusst redirects nicht und schützt sensible Websites nicht allein
--blocked-originsListe blockierter OriginsKeineKeine Sicherheitsgrenze, gleicher Hinweis wie oben
--isolatedIsolierter Modus, jede Sitzung mit eigenem profilefalseEmpfohlen für parallele clients oder mehrere Projekte
--storage-statePfad zu einer Login-ZustandsdateiKeineSpeichert cookies und localStorage; mit echten Konten vorsichtig verwenden
--output-dirAusgabeverzeichnis für Screenshots, Logs usw.KeinePfad setzen, damit Ergebnisse leicht auffindbar sind
--save-sessionSitzungszustand speichernfalseZusammen mit persistent profile verwenden
--snapshot-modeModus für accessibility snapshotsdefaultSteuert die Detailtiefe der snapshots
--allow-unrestricted-file-accessUnbeschränkten Dateizugriff erlaubenfalseHohes Risiko, nur bewusst aktivieren
--secretsSecrets über Umgebungsvariablen oder Dateien konfigurierenKeineFür die Verwaltung sensibler Informationen

Wichtiger Hinweis: Offiziell wird klargestellt, dass --allowed-origins und --blocked-origins keine Sicherheitsgrenzen sind und redirects nicht beeinflussen. Wenn Sie einschränken müssen, welche Websites die AI aufrufen darf, verlassen Sie sich nicht allein auf diese Parameter.


Drei Profile-Modi im Vergleich

Playwright MCP unterstützt drei profile-Modi. Sie beeinflussen, ob Login-Zustand gespeichert wird, ob parallele Nutzung möglich ist und wo die Sicherheitsgrenzen liegen.

ModusLogin-Zustand speichernProfile-PfadParallelitätGeeigneter EinsatzSicherheitsempfehlung
persistentSpeichert cookies, localStorage usw.macOS: ~/Library/Caches/ms-playwright/mcp-{channel}-{workspace-hash}Ein profile kann gleichzeitig nur von einer browser instance genutzt werdenLange Aufgaben, bei denen die AI Login-Zustand behalten sollKeine echten Konten verwenden; mit Testkonto beginnen
isolatedSpeichert nichts, jede Sitzung ist unabhängigTemporäres Verzeichnis, pro Sitzung automatisch bereinigtUnterstützt parallele clients oder mehrere ProjekteTests, Exploration, Aufgaben ohne Login-ZustandAls Standard für Produktionsumgebungen empfohlen
browser extensionSpeichert je nach BrowserBrowser-Extension-VerzeichnisBrowserabhängigVerbindung zu einer bestehenden BrowsersitzungFortgeschrittene Nutzung; Sicherheitsmodell von Browsererweiterungen verstehen

Einschränkung von persistent profiles

Ein persistent profile kann gleichzeitig nur von einer browser instance verwendet werden. Wenn Sie mehrere clients oder Projekte parallel mit Playwright MCP nutzen möchten, brauchen Sie:

  • --isolated mode
  • oder für jeden client ein anderes --user-data-dir

Beispielpfad für ein persistent profile auf macOS:

~/Library/Caches/ms-playwright/mcp-chrome-a1b2c3d4

Der Teil {workspace-hash} wird aus dem Projekt erzeugt. Unterschiedliche Projekte nutzen dadurch unterschiedliche profiles.

Login-Zustand und Sicherheitsgrenzen

Ein persistent profile speichert cookies, localStorage und sessionStorage. Die AI kann auf den im Browser gespeicherten Login-Zustand zugreifen. Wenn Sie mit einem echten Konto angemeldet sind, kann sie möglicherweise persönliche Daten, Zahlungsinformationen und Kontoeinstellungen erreichen.

Empfohlene Praxis:

  • In Produktion --isolated nutzen, damit Login-Zustand nicht gespeichert wird
  • Wenn die AI Login-Zustand braucht, ein Testkonto statt eines echten Kontos verwenden
  • Die AI nicht automatisch in echte Konten einloggen lassen und keine Zahlungsseiten besuchen lassen

Die detaillierte Verwaltung von Login-Zustand gehört in einen späteren Artikel über AI-Browser-Login-State. Hier geht es nur um die Grenze.


Sicherheitswarnung zu browser_run_code_unsafe

Sicherheitswarnung: browser_run_code_unsafe erlaubt die Ausführung beliebiger Playwright-Skripte. Offiziell ist es als RCE-equivalent markiert. Aktivieren Sie es nur für vollständig vertrauenswürdige MCP clients. In Produktion sollten Sie es deaktivieren oder über Codex approval_mode: prompt menschliche Freigabe erzwingen.

Playwright MCP enthält ein Hochrisiko-Tool namens browser_run_code_unsafe. Es kann beliebige Playwright-Skripte im Browserkontext ausführen. Das Risiko liegt auf der Hand:

  • Wenn der MCP client kompromittiert ist oder das AI-Verhalten außer Kontrolle gerät, kann ein Angreifer über dieses Tool beliebigen Code ausführen
  • Die AI kann alle Browserdaten lesen, einschließlich cookies, localStorage, sessionStorage und personenbezogener Daten eingeloggter Konten
  • Wenn der Browser gerade eine Zahlungsseite oder Kontoeinstellungen geöffnet hat, kann die AI sensible Daten lesen und weitergeben

Empfehlungen für sichere Konfiguration

Produktionsumgebung:

  1. browser_run_code_unsafe deaktivieren:

    Fügen Sie in Codex ~/.codex/config.toml Folgendes hinzu:

    [mcp_servers.playwright]
    command = "npx"
    args = ["@playwright/mcp@latest"]
    disabled_tools = ["browser_run_code_unsafe"]
  2. Oder Freigabemodus setzen:

    [mcp_servers.playwright]
    command = "npx"
    args = ["@playwright/mcp@latest"]
    approval_mode = "prompt"

    Dann zeigt Codex vor jedem Aufruf von browser_run_code_unsafe eine Bestätigung an, die Sie manuell freigeben müssen.

Entwicklungsumgebung:

Wenn Sie browser_run_code_unsafe wirklich benötigen:

  • Nur lokal in der Entwicklung aktivieren, nicht in Produktion und nicht mit echten Konten
  • Sicherstellen, dass Sie den auszuführenden Skriptinhalt vollständig verstehen
  • Die AI nicht automatisch Skripte erzeugen und ausführen lassen; schreiben Sie das Skript selbst und lassen Sie die AI dieses bekannte Skript ausführen

Für Einsteiger nicht empfohlen

Wenn Sie gerade erst mit Playwright MCP beginnen, sollten Sie browser_run_code_unsafe nicht verwenden. Nutzen Sie zuerst sicherere Playwright-MCP-Tools wie browser_click, browser_navigate und browser_screenshot. Diese Tools haben klarere Grenzen und führen keinen beliebigen Code aus.


Sicherheitscheckliste für MCP Tools

MCP ermöglicht der AI, externe Tools aufzurufen. „MCP angeschlossen“ bedeutet aber nicht „die AI darf alles automatisch tun“. Sie müssen Sicherheitsgrenzen sowohl auf client-Seite als auch auf server-Seite kontrollieren.

Sicherheitsempfehlungen auf client-Seite

  1. Bei sensiblen Aktionen Benutzerbestätigung verlangen: Vor browser_run_code_unsafe, Zahlungsseiten, Änderungen an Kontoeinstellungen oder Datenlöschung sollte der Nutzer bestätigen. Lassen Sie die AI solche Hochrisikoaktionen nicht automatisch ausführen.

  2. Tool inputs vor dem Aufruf anzeigen: Der Nutzer sollte die konkreten Parameter sehen, die die AI ausführen will. Wenn die AI einen Button anklicken möchte, zeigen Sie etwa selector oder Koordinaten und bestätigen Sie sie.

  3. Böswillige Datenabflüsse verhindern: Prüfen Sie Tool-Ausgaben, damit sensible Informationen wie Passwörter, Token oder personenbezogene Daten nicht von der AI gelesen und weitergegeben werden. Wenn ein Tool sensible Daten zurückgibt, darf die AI sie nicht in Logs schreiben oder an externe Server senden.

  4. Timeout setzen: Browseraktionen können hängen bleiben und Ressourcen verbrauchen oder andere Aufgaben blockieren. Setzen Sie für jeden Toolaufruf einen sinnvollen Timeout, etwa 30 Sekunden, und brechen Sie bei Überschreitung automatisch ab.

  5. Tool usage protokollieren: Bewahren Sie Betriebslogs für Audits und Fehlersuche auf. Das Log sollte Toolname, Aufrufzeit, Eingabeparameter, Ergebnis und Freigabeprotokoll des Nutzers enthalten.

  6. Tool results prüfen: Kontrollieren Sie, ob Screenshots, console logs und Netzwerkanfragen zum erwarteten Ergebnis passen. Wenn die AI „Klick erfolgreich“ meldet, der Screenshot aber keine Änderung zeigt, müssen Sie weiter prüfen.

Sicherheitsempfehlungen auf server-Seite

Wenn Sie selbst einen MCP server entwickeln (Playwright MCP ist bereits der offizielle server), sollten Sie Folgendes beachten:

  1. Eingaben validieren: Validieren Sie URLs, Selektoren und Eingabetexte, um Injection-Angriffe zu verhindern. Lassen Sie die AI keine bösartigen URLs oder XSS payloads ungeprüft übergeben.

  2. Zugriff kontrollieren: Beschränken Sie erreichbare Domains, Dateipfade und Browserfähigkeiten. Blockieren Sie etwa interne IPs oder sensible Pfade.

  3. Rate Limits setzen: Verhindern Sie, dass die AI Tools so häufig aufruft, dass Ressourcen erschöpft werden oder die Zielseite Sie blockiert. Setzen Sie zum Beispiel ein Limit von maximal 10 Aufrufen pro Minute.

  4. Ausgaben bereinigen: Entfernen Sie sensible Informationen, bevor Sie Daten an die AI zurückgeben. Geben Sie zum Beispiel keine vollständigen cookie-Strings zurück, wenn ein abgeleitetes Ergebnis ausreicht.


Erste Prüfaufgabe und Abnahmeliste

Nach der Konfiguration prüfen Sie mit einer einfachen Aufgabe, ob Playwright MCP korrekt eingebunden ist.

Beispielaufgabe

Lassen Sie die AI die lokale Preview-Seite http://localhost:4321 öffnen, das Navigationsmenü anklicken, einen Screenshot aufnehmen und console errors melden.

Schritt für Schritt:

  1. Stellen Sie sicher, dass Playwright MCP in Ihrem client hinzugefügt ist, also in Claude Code, Codex oder Cursor

  2. Starten Sie den lokalen Entwicklungsserver, etwa Astro oder Next.js, und stellen Sie sicher, dass http://localhost:4321 erreichbar ist

  3. Geben Sie in Claude Code/Codex/Cursor folgenden Prompt ein:

    Öffne http://localhost:4321, klicke im Navigationsmenü auf „Artikel“, mache einen Screenshot und melde, ob die Seite console errors hat.
  4. Beobachten Sie, ob die AI Browsertools aufruft, ob der Browser startet und ob die Seite geöffnet wird

Abnahmeliste

PrüfpunktErwartetes ErgebnisSo prüfen Sie es
Browser startetIm headed mode öffnet sich ein Browserfenster, im headless mode startet ein ProzessUI oder Prozessmanager beobachten
MCP server ist verbundenClient-Logs zeigen “Connected to MCP server”Client-Logs prüfen
accessibility snapshot wird zurückgegebenDie AI findet das Navigationsmenü und kann klickenAI-Ausgabe enthält eine Beschreibung der Klickaktion
Toolaufruf braucht FreigabeHängt von der Konfiguration ab, Codex kann einen Freigabedialog anzeigenBeobachten, ob der client nach Freigabe fragt
Ausgaben und Logs sind nachvollziehbarScreenshots, console logs usw. liegen unter --output-dirKonfiguriertes Verzeichnis prüfen

Fehlerfälle eingrenzen

Die AI ruft keine Browsertools auf:

  • Prüfen Sie, ob der MCP server korrekt hinzugefügt wurde (client logs lesen)
  • Prüfen Sie, ob der client MCP Tool Search unterstützt; Claude Code aktiviert es standardmäßig
  • Prüfen Sie, ob Node.js mindestens Version 18 ist

Der Browser öffnet sich, findet aber den Button nicht:

  • Playwright MCP arbeitet mit dem accessibility tree, nicht mit Screenshots. Wenn einer Seite semantische Labels oder ARIA-Attribute fehlen, kann die AI sie möglicherweise nicht erkennen
  • Prüfen Sie die HTML-Struktur und stellen Sie sicher, dass der Button ein zugängliches Label oder eine role hat
  • Oder passen Sie den Parameter --snapshot-mode an, um die Snapshot-Detailtiefe zu ändern

Der Browser startet und schließt sofort:

  • Möglicherweise läuft er im headless mode, oder das Skript ist fertig
  • Prüfen Sie die client logs und bestätigen Sie, ob der Browser normal gestartet und beendet wurde
  • Wenn Sie headed mode verwenden, sollte das Browserfenster offen bleiben, bis die AI den Abschluss meldet

Abwägung gegenüber Playwright CLI/SKILLS

Das Microsoft README weist ausdrücklich darauf hin: Für coding agents in Code-Workflows mit hohem Durchsatz kann CLI + SKILLS besser geeignet sein, weil MCP tool schema und accessibility tree in den Kontext bringt und Token verbraucht. MCP passt besser, wenn Sie persistenten Zustand, reichere Introspection und einen fortlaufenden Browserkontext für explorative Automatisierung, selbstheilende Tests oder lange Aufgaben brauchen.

Szenarien im Vergleich

SzenarioPlaywright MCP empfohlenPlaywright CLI + SKILLS empfohlen
Explorative Automatisierung, selbstheilende TestsJa, geeignetNein, nicht geeignet
Lange Aufgaben mit persistentem BrowserkontextJa, geeignetNein, nicht geeignet
Code-Workflows mit hohem DurchsatzNein, wegen höherem KontextverbrauchJa, geeignet
Minimaler Kontextverbrauch erforderlichNein, nicht geeignetJa, geeignet
Sie nutzen bereits einen MCP client wie Claude Code/Codex/CursorJa, geeignetNein, nicht geeignet

Dieser Artikel behandelt SKILLS nicht im Detail. Ein späterer Beitrag zeigt Codex-Browserverifikation in der Praxis.


Fazit und nächste Schritte

Dieser Artikel hat gezeigt, wie Sie Playwright MCP in Claude Code, Codex und Cursor konfigurieren, wie Sie die erste Prüfung durchführen und wo die Sicherheitsgrenzen liegen: RCE-Risiko von browser_run_code_unsafe, gespeicherter Login-Zustand in profile-Modi und --allowed-origins als Nicht-Sicherheitsgrenze.

Konfigurationsunterschiede im Überblick

  • Claude Code: claude mcp add oder projektweite .mcp.json; Tool Search ist standardmäßig aktiv
  • Codex: codex mcp add oder config.toml; approval_mode kann Hochrisiko-Tools kontrollieren
  • Cursor: Konfiguration über Settings UI, daher anders als bei den ersten beiden Tools

Empfohlene nächste Schritte

  • Sie brauchen einen Toolvergleich: Lesen Sie Browser Use vs Stagehand vs Playwright MCP, den Auswahlleitfaden für AI-Browsertools 2026
  • Sie brauchen Login-State-Management: Lesen Sie AI-Browser-Login-State-Management
  • Sie brauchen Frontend-Tests: Lesen Sie Playwright-Frontend-Tests und Verifikation
  • Sie brauchen Codex-Browserverifikation: Lesen Sie Codex-Browserverifikation in der Praxis
  • Sie brauchen verwaltete Infrastruktur: Lesen Sie verwaltete Browserinfrastruktur
  • Sie brauchen Sicherheitsdesign: Lesen Sie AI-Browser-Sicherheit und Freigabedesign

Wenn Sie Playwright MCP gerade erst eingerichtet haben, führen Sie zuerst die localhost:4321-Prüfaufgabe aus. Bestätigen Sie, dass der Browser startet, die AI Tools aufruft und Screenshots in das konfigurierte Verzeichnis geschrieben werden. Bei Problemen gehen Sie die FAQ durch und prüfen Node.js-Version, client logs und MCP-server-Verbindungsstatus.

Erster Prüfablauf für Playwright MCP

Verbinden Sie den offiziellen Playwright MCP server mit einem MCP client und prüfen Sie Browser, Snapshot, Aktionsergebnis und Logs auf einer risikoarmen Seite.

  1. 1

    Step 1: Node.js prüfen

    Führen Sie node --version im Terminal aus und stellen Sie sicher, dass Node.js mindestens Version 18 ist.
  2. 2

    Step 2: MCP server hinzufügen

    Nutzen Sie je nach client claude mcp add, codex mcp add oder die MCP-Einstellungen von Cursor, und verwenden Sie den offiziellen Paketnamen @playwright/mcp@latest.
  3. 3

    Step 3: Risikoarme Seite vorbereiten

    Beginnen Sie mit einer öffentlichen Demo oder einer lokalen Preview-Seite. Nutzen Sie nicht sofort ein Hauptkonto, ein Admin-Dashboard oder eine Zahlungsseite.
  4. 4

    Step 4: AI ausführen lassen

    Bitten Sie die AI, die Seite zu öffnen, eine sichtbare Klick- oder Eingabeaktion auszuführen, einen Screenshot aufzunehmen und console errors zu melden.
  5. 5

    Step 5: Ergebnis prüfen

    Bestätigen Sie, dass der server verbunden ist, der accessibility snapshot Elemente zurückgibt, das Seitenergebnis sichtbar ist und Screenshots sowie Logs nachvollziehbar sind.
  6. 6

    Step 6: Berechtigungen einschränken

    Nutzen Sie je nach Aufgabe isolated profile, Testkonto, disabled_tools oder approval mode, damit Sie dem Modell keinen echten Login-Zustand übergeben.

FAQ

Was ist Playwright MCP, und wie hängt es mit Playwright zusammen?
Playwright MCP verpackt Playwright als MCP server, damit AI-Coding-Tools Browserautomatisierung über das Model Context Protocol aufrufen können. Playwright selbst ist Microsofts Framework für Browserautomatisierung und Tests; Playwright MCP ist die AI-orientierte Werkzeugebene, die diese Funktionen für MCP clients bereitstellt.
Sollte ich zuerst Playwright MCP oder Browser Use lernen?
Wenn Sie als Python-Entwickler einen eigenständigen Browser Agent bauen möchten, beginnen Sie mit Browser Use. Wenn Sie bereits Claude Code, Codex, Cursor oder einen anderen MCP client nutzen und Browsertools in diesen Workflow bringen möchten, beginnen Sie mit Playwright MCP.
Warum sehe ich nach dem Hinzufügen von MCP keine Browsertools?
Prüfen Sie zuerst, ob der MCP server wirklich gestartet ist, ob Ihr client MCP Tool Search unterstützt oder aktiviert hat, ob Node.js mindestens Version 18 ist und ob die client logs Verbindungs- oder npx-Fehler zeigen.
Warum öffnet sich der Browser, aber die AI findet den Button nicht?
Playwright MCP arbeitet hauptsächlich mit dem accessibility tree, nicht mit reiner Screenshot-Erkennung. Wenn einer Seite semantisches HTML, zugängliche Namen oder ARIA-Attribute fehlen, kann die AI Buttons, Links und Eingabefelder nicht zuverlässig erkennen.
Sollte ich headed oder headless mode verwenden?
Für Entwicklung und erste Fehlersuche ist headed mode sinnvoll, weil Sie die Browseraktionen sehen. Für CI, Remote-Server oder Hintergrundaufgaben können Sie headless mode verwenden, sollten das Verhalten aber über Screenshots, Logs und Ergebnisprüfungen absichern.
Was ist der Unterschied zwischen persistent profile, isolated und storage state?
Ein persistent profile speichert Cookies und Login-Zustand. Das ist für lange Aufgaben bequem, aber riskanter. Isolated mode hält jede Sitzung sauberer und passt besser zu Tests und parallelen clients. Storage state eignet sich, wenn Sie eine kontrollierte kurzlebige Sitzung eines Testkontos laden möchten.
Warum ist browser_run_code_unsafe gefährlich?
Es kann beliebige Playwright-Skripte ausführen und wird in der offiziellen Dokumentation als RCE-equivalent bezeichnet. Wenn MCP client oder Seitenkontext nicht vertrauenswürdig sind, können Browserdaten und Kontoberechtigungen offengelegt werden. In Produktion sollten Sie es deaktivieren oder freigabepflichtig machen.
Kann Playwright MCP Login-Zustand, Cookies oder Captchas verwenden?
Login-Zustand kann über persistent profile oder storage state genutzt werden, aber Sie sollten dafür kein echtes Hauptkonto verwenden. Captchas und MFA sollten nicht umgangen werden; bei solchen Schritten sollte der Agent stoppen und an einen Menschen übergeben.
Kann Playwright MCP Playwright-Testskripte ersetzen?
Nicht vollständig. Playwright MCP eignet sich dafür, Seiten explorativ zu untersuchen, Fehler zu reproduzieren und Abnahmen zu unterstützen. Stabile Regressionstests, CI und Assertions sollten weiterhin als Playwright-Testskripte umgesetzt werden.
Kann --allowed-origins einschränken, welche Websites die AI besucht?
Behandeln Sie es nicht als vollständige Sicherheitsgrenze. Das Microsoft README weist ausdrücklich darauf hin, dass allowed/blocked origins redirects nicht beeinflussen und nicht der einzige Schutz für Login-Zustand oder sensible Daten sind.

14 Min. Lesezeit · Veröffentlicht am: 4. Sept. 2026 · Aktualisiert am: 4. Sept. 2026

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen

Easton BlogEaston Blog