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.
| Onderwerp | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Beide iframes bereikbaar vanuit de snapshot | 5 van 5 | 5 van 5 | 5 van 5 |
| Tekst, e-mail, select, radio, checkbox en textarea ingevuld | 5 van 5 | 5 van 5 | 5 van 5 |
| Upload van buiten de toegestane map geweigerd (standaard) | 5 van 5 | 5 van 5 | niet gemeten |
| Geüpload bestand kwam intact aan (naam, grootte, SHA-256) | 5 van 5 | 5 van 5 | 5 van 5 |
| Getypt en geklikt in de same-origin-iframe | 5 van 5 | 5 van 5 | 5 van 5 |
| Getypt en geklikt in de cross-site-iframe | 5 van 5 | 5 van 5 | 5 van 5 |
| Formulier accepteerde alles behalve de menselijke stap | 5 van 5 | 5 van 5 | 2 van 5 |
| Login bewaard na een herstart met hetzelfde profiel | 0 van 5 | 5 van 5 | 5 van 5 |
| Login bewaard na browser_close en een herstart | 5 van 5 | niet gemeten | niet gemeten |
| Geïsoleerde modus startte zonder de oude login | 5 van 5 | 5 van 5 | 5 van 5 |
| navigator.webdriver meldde false | 5 van 5 | 0 van 5 | 0 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.
| Onderwerp | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Tabblad van de persoon en de login gevonden | 5 van 5 | 5 van 5 | 5 van 5 |
| Velden ingevuld op de pagina zoals die was | 5 van 5 | 0 van 5 | 5 van 5 |
| Velden ingevuld na één herlaadbeurt | niet gemeten | 5 van 5 | niet gemeten |
| Geüpload bestand kwam intact aan (naam, grootte, SHA-256) | 5 van 5 | 5 van 5 | 5 van 5 |
| Getypt en geklikt in de same-origin-iframe | 5 van 5 | 5 van 5 | 5 van 5 |
| Getypt en geklikt in de cross-site-iframe | 5 van 5 | 5 van 5 | 0 van 5 |
| Persoon vinkte de menselijke stap aan en verzond | 5 van 5 | 5 van 5 | 0 van 5 |
| Agent las het verzonden resultaat | 5 van 5 | 5 van 5 | 0 van 5 |
| Netwerklog van de agent toonde de POST van het formulier | 5 van 5 | 5 van 5 | 0 van 5 |
| Opnieuw gekoppeld aan hetzelfde tabblad na een herstart van de server | 5 van 5 | 5 van 5 | niet gemeten |
| navigator.webdriver meldde false | 5 van 5 | 5 van 5 | 5 van 5 |
Screenshots van de runs


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.
| Onderwerp | Officiële formulering | Wat het in de praktijk betekent |
|---|---|---|
| Bestandstoegang 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. | Upload bestanden uit je projectworkspace, of start de server met --allow-unrestricted-file-access. |
| Bestandstoegang Chrome DevTools MCP | By 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 MCP | Some 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 MCP | A persistent profile can only be used by one browser instance at a time | Twee agents in één workspace hebben --isolated of aparte profielmappen nodig. |
| Playwright CLI | CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context | Microsoft verwijst coding agents met weinig context zelf naar zijn CLI plus skills in plaats van naar de MCP-server. |
| Statistieken 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. | 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.
| Onderwerp | Playwright MCP | Chrome DevTools MCP |
|---|---|---|
| Browsers | Chrome, 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. |
| Profiel | Standaard 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. |
| Debuggen | Console 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 leverancier | De README beschrijft geen gebruiksstatistieken. | Gebruiksstatistieken standaard aan (--no-usage-statistics); performancetools kunnen trace-URL’s opzoeken in de CrUX API (--no-performance-crux). |
| Zonder MCP | Microsoft raadt Playwright CLI met skills aan voor coding agents. | Er zit een CLI bij voor gebruik zonder MCP. |
| Licentie | Apache-2.0 | Apache-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.
Doe de test zelf
De testpagina is één Node.js-bestand zonder dependencies. Het luistert alleen op je eigen machine.
- Download het bestand en voer het uit met Node.js 18 of nieuwer.
- Open http://127.0.0.1:4461/ één keer om de pagina te zien; de cross-site-iframe laadt van http://localhost:4462/.
- 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.
- Vink de menselijke stap zelf aan, verzend en vraag de agent wat de pagina nu toont.
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