Praktijkvergelijking

Playwright MCP vs Chrome DevTools MCP in de praktijk getest

We lieten beide browser-MCP-servers elk vijf keer door hetzelfde lokale formulier gaan: tekstvelden, een bestandsupload, twee iframes, een stap die alleen een mens mag afronden en een herstart. Dit is wat slaagde, wat mislukte en wat we alleen in de documentatie hebben gelezen.

Kort antwoord

  • Als ze hun eigen Chrome startten, vulden beide servers elk veld in, uploadden ze het bestand en werkten ze in een same-origin- en een cross-site-iframe, elk in vijf van de vijf runs.
  • Gekoppeld aan een Chrome die iemand al had geopend, vulde Playwright MCP het open formulier meteen in. Chrome DevTools MCP 1.10.1 kon daar klikken, maar kon velden pas invullen nadat het de pagina één keer had herladen, in elke run.
  • De Chrome die Chrome DevTools MCP zelf startte, meldde navigator.webdriver = true; die van Playwright MCP meldde false. In een Chrome die je zelf start, meldden beide false.
  • Kies Playwright MCP voor schone, herhaalbare runs en een kortere lijst tools. Kies Chrome DevTools MCP als je je eigen webapp debugt (traces, Lighthouse, netwerk) of je dagelijkse Chrome met de agent wilt delen.

Testresultaten

Elke cel telt de geslaagde runs van 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 derde kolom.

Modus 1: de tool start zijn eigen Chrome

Elke tool startte een headless Chrome met een nieuwe profielmap, opende de testpagina, logde op de pagina in, vulde het formulier in en klikte op verzenden zonder de menselijke stap aan te vinken.

OnderwerpPlaywright MCPChrome DevTools MCPagent-browser
Beide iframes bereikbaar vanuit de snapshot5 van 55 van 55 van 5
Tekst, e-mail, select, radio, checkbox en textarea ingevuld5 van 55 van 55 van 5
Upload van buiten de toegestane map geweigerd (standaard)5 van 55 van 5niet gemeten
Geüpload bestand kwam intact aan (naam, grootte, SHA-256)5 van 55 van 55 van 5
Getypt en geklikt in de same-origin-iframe5 van 55 van 55 van 5
Getypt en geklikt in de cross-site-iframe5 van 55 van 55 van 5
Formulier accepteerde alles behalve de menselijke stap5 van 55 van 52 van 5
Login bewaard na een herstart met hetzelfde profiel0 van 55 van 55 van 5
Login bewaard na browser_close en een herstart5 van 5niet gemetenniet gemeten
Geïsoleerde modus startte zonder de oude login5 van 55 van 55 van 5
navigator.webdriver meldde false5 van 50 van 50 van 5

Modus 2: de tool koppelt aan een Chrome die iemand al gebruikt

We startten Chrome zelf met een eigen profiel en een lokale debugpoort. Een stand-in voor de persoon opende de pagina, logde in en typte de productnaam. Daarna maakte de tool verbinding, vulde de rest in en stopte; de stand-in vinkte de menselijke stap aan en verzond; de tool las het resultaat.

OnderwerpPlaywright MCPChrome DevTools MCPagent-browser
Tabblad van de persoon en de login gevonden5 van 55 van 55 van 5
Velden ingevuld op de pagina zoals die was5 van 50 van 55 van 5
Velden ingevuld na één herlaadbeurtniet gemeten5 van 5niet gemeten
Geüpload bestand kwam intact aan (naam, grootte, SHA-256)5 van 55 van 55 van 5
Getypt en geklikt in de same-origin-iframe5 van 55 van 55 van 5
Getypt en geklikt in de cross-site-iframe5 van 55 van 50 van 5
Persoon vinkte de menselijke stap aan en verzond5 van 55 van 50 van 5
Agent las het verzonden resultaat5 van 55 van 50 van 5
Netwerklog van de agent toonde de POST van het formulier5 van 55 van 50 van 5
Opnieuw gekoppeld aan hetzelfde tabblad na een herstart van de server5 van 55 van 5niet gemeten
navigator.webdriver meldde false5 van 55 van 55 van 5

Screenshots van de runs

Screenshot van de volledige pagina van het lokale testformulier nadat Playwright MCP het had ingevuld
Playwright MCP, modus 1: elk veld, het bestand en beide iframes zijn ingevuld; verzenden wordt alleen tegengehouden door de niet-aangevinkte menselijke stap. Vastgelegd door de tool zelf.
Screenshot van de volledige pagina van het lokale testformulier nadat Chrome DevTools MCP het had ingevuld
Chrome DevTools MCP, modus 1: elk veld, het bestand en beide iframes zijn ingevuld; verzenden wordt alleen tegengehouden door de niet-aangevinkte menselijke stap. Vastgelegd door de tool zelf.

Hoe we testten

  • Datum 30 september 2026 op macOS met Google Chrome 154.0.8037.92. Vastgezette versies: @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1.
  • Het formulier is een lokale testpagina op 127.0.0.1; de cross-site-iframe komt van localhost op een tweede poort. Er waren geen echte website, geen account, geen persoonlijk browserprofiel en geen betaling bij betrokken.
  • Een klein script sprak met elke server via MCP, precies zoals de client van een agent: snapshot, formulier invullen, uploaden, klikken, console en netwerk lezen. Het nam elementverwijzingen uit de eigen snapshot van elke tool. Geen taalmodel nam beslissingen, dus elke run volgde dezelfde stappen.
  • Elk scenario liep 5 keer per tool. De tabellen tellen de geslaagde runs.
  • De persoon in modus 2 is een script dat gewone DevTools Protocol-commando’s naar het tabblad stuurt. Het is een stand-in, geen echt mens. Om het uit te sluiten als oorzaak van het mislukte invullen door Chrome DevTools MCP, startten we Chrome ook direct met de test-URL en helemaal zonder script: zelfde resultaat.
  • agent-browser werd aangestuurd via de commandoregel, de hoofdinterface, niet via de MCP-modus.

Wat deze test niet dekt

  • Echte CAPTCHA’s, botcontroles en echte logins op sites van derden.
  • Firefox en WebKit, de browserextensies van beide projecten en het automatisch-verbinden-venster van Chrome.
  • Performance-traces, Lighthouse en geheugentools.
  • Een taalmodel dat de stappen kiest: hoeveel tokens en beurten een echte agent nodig heeft, hangt af van het model.
  • Windows en Linux.

Wat opviel

Beide weigeren uploads van buiten een toegestane map

Onze eerste upload kwam uit een projectmap, en beide servers weigerden die standaard. Playwright MCP staat de workspace-roots toe, of de werkmap als de client geen roots opgeeft; Chrome DevTools MCP staat de tijdelijke systeemmap toe als de client geen roots opgeeft. Vanuit een toegestane map kwam het bestand in elke run intact aan: dezelfde naam, grootte en SHA-256. Elk project documenteert een flag om de grens te verruimen.

Chrome DevTools MCP kon een pagina die al open was vóór de koppeling niet invullen

In modus 2 vond Chrome DevTools MCP het tabblad en de login, klikte het op knoppen en typte het in beide iframes, maar het invullen van velden op de pagina zelf mislukte in elke run met “did not become interactive”. Na één herlaadbeurt door de agent lukte het invullen en slaagde de rest van de test. Herladen gooit alles weg wat een pagina niet heeft opgeslagen; onze testpagina herstelt haar concept, veel echte formulieren niet. Playwright MCP had geen herlaadbeurt nodig.

navigator.webdriver hangt af van wie Chrome start

Als Chrome DevTools MCP Chrome startte, zag de pagina navigator.webdriver = true, wat de eigen documentatie noemt als reden waarom sommige logins mislukken. De Chrome die Playwright MCP startte, meldde false. Als de tools koppelden aan een Chrome die wij hadden gestart, meldde elke tool false. We hebben geen echte botcontrole getest.

Playwright MCP bewaart een profiel alleen na browser_close

Met een blijvende profielmap was de login na een herstart van de server verdwenen als de client simpelweg de verbinding verbrak. Als de agent eerst browser_close aanriep, bleef die in elke run bewaard. Chrome DevTools MCP bewaarde zijn profiel in elke run zonder afsluitaanroep.

agent-browser miste de cross-site-iframe bij koppelen

Als derde kolom vulde agent-browser elk veld, het bestand en beide iframes in als het zijn eigen browser startte; zijn klik op verzenden werd elke keer als uitgevoerd gemeld, maar de pagina registreerde die maar in een deel van de runs. Gekoppeld aan een draaiende Chrome toonde zijn snapshot de same-origin-iframe maar niet de cross-site-iframe, ook na wachten en een tweede snapshot, waardoor het formulier niet kon worden afgerond.

OnderwerpOfficiële formuleringWat het in de praktijk betekent
Bestandstoegang 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.Upload bestanden uit je projectworkspace, of start de server met --allow-unrestricted-file-access.
Bestandstoegang Chrome DevTools MCPBy default, file-writing tools are restricted to the OS temp directory when no roots are configured.Zonder MCP-roots van je client zet je uploadbestanden in de tijdelijke map of voeg je --filesystem-root toe.
Inloggen met 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).Voor sites waar je inlogt: koppel aan een Chrome die je zelf hebt gestart in plaats van de server er een te laten starten.
Profiel Playwright MCPA persistent profile can only be used by one browser instance at a timeTwee agents in één workspace hebben --isolated of aparte profielmappen nodig.
Playwright CLICLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model contextMicrosoft verwijst coding agents met weinig context zelf naar zijn CLI plus skills in plaats van naar de MCP-server.
Statistieken 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.Standaard aan; voeg --no-usage-statistics toe als je dat niet wilt.

Gedocumenteerd, niet getest

Deze verschillen komen uit de README en documentatie van elk project op de leesdatum. We hebben ze niet gemeten.

OnderwerpPlaywright MCPChrome DevTools MCP
BrowsersChrome, Firefox, WebKit en Edge via --browser.Officieel Google Chrome en Chrome for Testing; andere Chromium-browsers werken mogelijk.
Je draaiende browser--cdp-endpoint naar een debugpoort, of de Playwright Extension met tabbladkiezer en goedkeuring.--browser-url naar een debugpoort, of --autoConnect in Chrome 144+ met een toestemmingsvenster per sessie.
ProfielStandaard een blijvend profiel; --isolated houdt het in het geheugen; --storage-state laadt cookies en opslag.Standaard een blijvend profiel; --isolated gebruikt een tijdelijk profiel dat daarna wordt verwijderd.
DebuggenConsole en netwerkverzoeken; tracing-, video- en opslagtools op verzoek.Performance-traces met inzichten, Lighthouse-audits, geheugensnapshots, console met stacktraces via source maps, netwerkverzoeken.
Gegevens naar de leverancierDe README beschrijft geen gebruiksstatistieken.Gebruiksstatistieken standaard aan (--no-usage-statistics); performancetools kunnen trace-URL’s opzoeken in de CrUX API (--no-performance-crux).
Zonder MCPMicrosoft raadt Playwright CLI met skills aan voor coding agents.Er zit een CLI bij voor gebruik zonder MCP.
LicentieApache-2.0Apache-2.0

Hoe zwaar de lijst tools weegt

Voordat er een pagina geopend was, kondigde Playwright MCP 25 tools aan met 20,3 KB aan toolbeschrijvingen, Chrome DevTools MCP 30 tools met 25,7 KB (standaardinstellingen, gemeten via tools/list). Een agent draagt die tekst de hele sessie mee in zijn context. Chrome DevTools MCP biedt --slim met drie tools; Playwright MCP voegt toolgroepen toe met --caps.

Welke kies je

Playwright MCP past als

  • de agent voor elke taak een schone browser moet starten, headless of in CI,
  • je ook Firefox of WebKit nodig hebt,
  • de agent een formulier overneemt dat iemand al is begonnen, omdat het open pagina’s zonder herladen invulde,
  • je een kortere lijst tools in de context van de agent wilt.

Chrome DevTools MCP past als

  • je je eigen webapp debugt en traces, Lighthouse, netwerk en console op één plek wilt,
  • je je dagelijkse Chrome via automatisch verbinden met de agent wilt delen,
  • je alleen in Chrome werkt en tools prettig vindt die het Chrome DevTools-team onderhoudt,
  • je de agent een pagina die hij niet zelf opende, mag laten herladen voordat hij die invult.

En agent-browser?

agent-browser is een browsertool voor agents op de commandoregel, met een optionele MCP-modus. Het vulde hetzelfde formulier in als het zijn eigen browser startte, maar miste de cross-site-iframe toen het aan een draaiende Chrome gekoppeld was. Het bekijken waard als je agent beter werkt met korte shellcommando’s dan met MCP-tools.

Claude in Chrome vs Chrome DevTools MCP: de vergelijking →

Doe de test zelf

De testpagina is één Node.js-bestand zonder dependencies. Het luistert alleen op je eigen machine.

  1. Download het bestand en voer het uit met Node.js 18 of nieuwer.
  2. Open http://127.0.0.1:4461/ één keer om de pagina te zien; de cross-site-iframe laadt van http://localhost:4462/.
  3. Voeg een van de MCP-items hieronder toe aan je agent en vraag hem het formulier in te vullen, een willekeurige kleine PNG te uploaden, beide iframes in te vullen en te stoppen vóór de menselijke stap.
  4. Vink de menselijke stap zelf aan, verzend en vraag de agent wat de pagina nu toont.

Download browser-mcp-test.mjs

Het bestand serveert het formulier, de iframe en een lokaal echo-endpoint. Er wordt niets ergens anders heen gestuurd.

Tool start zijn eigen 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 koppelt aan een Chrome die je zelf startte op poort 9222

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"
      ]
    }
  }
}

Wat LaunchRepo gebruikt

  • De playbooks van LaunchRepo zijn geschreven en getest voor Chrome DevTools MCP gekoppeld aan je eigen Chrome, omdat inzendingen bij directory’s je echte logins nodig hebben en je elke stap moet zien.
  • Met een Chrome die je zelf start, bleef navigator.webdriver in deze test voor elke tool false, en de overdracht werkte: je rondt een stap af in hetzelfde tabblad, de agent leest het resultaat.
  • Staat het formulier van een directory al open als de agent verbinding maakt, laat hem de pagina dan herladen voordat je iets typt, zodat niets van wat je invoerde verloren gaat.

Bronnen

Officiële pagina’s en repository’s, gelezen op 30 september 2026. Citaten zijn woord voor woord overgenomen; onze testresultaten zijn eigen metingen.

FAQ

Is Playwright MCP of Chrome DevTools MCP beter voor coding agents?
Geen van beide wint overal. In onze test haalden beide elke formuliercheck als ze hun eigen Chrome startten. Playwright MCP vulde ook een pagina in die iemand al had geopend en kondigde een kortere lijst tools aan; Chrome DevTools MCP biedt performance-traces, Lighthouse en diepere netwerk- en consoletools om je eigen app te debuggen.
Kan Chrome DevTools MCP de Chrome gebruiken waarin ik ben ingelogd?
Ja. Met --autoConnect koppelt het aan je draaiende Chrome 144 of nieuwer nadat je remote debugging toestaat en een venster bevestigt. Of start Chrome met een remote-debuggingpoort en een aparte profielmap en richt --browser-url daarop; sinds Chrome 136 wordt de poort genegeerd voor het standaardprofiel.
Kunnen beide met iframes overweg?
Ja, in onze runs bereikten beide een same-origin- en een cross-site-iframe in beide modi, vijf van de vijf keer, en konden ze erin typen en klikken.
Waarom mislukte de bestandsupload?
Beide servers lezen standaard alleen bestanden uit toegestane mappen: Playwright MCP uit de workspace-roots of de werkmap, Chrome DevTools MCP uit de tijdelijke systeemmap als je client geen roots opgeeft. Zet het bestand daar neer of gebruik de gedocumenteerde flag om de grens te verruimen.
Kunnen deze tools CAPTCHA’s oplossen?
Geen van beide documenteert een CAPTCHA-functie, en we hebben geen echte CAPTCHA’s getest. Plan in plaats daarvan een overdracht: de agent stopt, jij lost de stap op in hetzelfde zichtbare venster, de agent gaat verder. In onze koppeltest werkte die overdracht met beide servers.
Verraadt navigator.webdriver de agent?
In onze test was het alleen true als Chrome DevTools MCP Chrome zelf startte. De eigen Chrome van Playwright MCP en elke Chrome die we zelf startten, meldden false. Of een site erop reageert, bepaalt die site; we hebben geen echte botcontroles getest.

Laat je agent de directory-launch doen

LaunchRepo geeft je coding agent geteste playbooks voor launchplatforms en directory’s. Hij werkt in je eigen Chrome via Chrome DevTools MCP, en jij bepaalt of hij zelf inzendt of je eerst vraagt.

Bekijk de prijzen