Insights7 min read

Chrome DevTools MCP vs Playwright MCP: which to use

By qtrl Team · Engineering

There are now two well-maintained ways to let a coding agent drive a browser, and they look similar enough from the outside that most teams pick one by accident. Chrome DevTools MCP comes from the Chrome team. Playwright MCP comes from the Playwright team and now ships bundled with Playwright itself.

They're built for different jobs. Picking the wrong one doesn't break anything, it just means you spend a week working around a gap that the other tool doesn't have.

What each one actually is

Chrome DevTools MCP exposes DevTools to an agent. Console output, network requests, performance traces, Lighthouse audits, the accessibility tree, DOM inspection, plus Puppeteer-based automation underneath. It's DevTools with an API that a model can call, and on recent Chrome versions it can attach to an existing authenticated session rather than starting from a cold profile.

Playwright MCP exposes Playwright. Navigation, locators, assertions, traces, and the rest of the API your test suite already uses, wrapped so an agent can call it. It runs across Chromium, Firefox, and WebKit, because Playwright does.

The one-line version: DevTools MCP is built for looking at a page. Playwright MCP is built for acting on one and keeping a record you can replay.

What each server actually reachesYour coding agentcan hold both at onceChrome DevTools MCPbuilt for looking at a pagePerformance tracesLighthouse auditsConsole output, no setupNetwork inspectionAccessibility treeChrome onlyPlaywright MCPbuilt for acting on oneLocators and assertionsTraces you can replayChromium, Firefox, WebKitThe API your suite already usesOutput becomes a spec fileShips with PlaywrightReach for it to diagnoseReach for it to build coverageNeither one keeps score of what got tested

Where DevTools MCP is the better answer

Performance work is the clearest case. If you want an agent to tell you why a page takes four seconds to become interactive, it needs the actual trace: the long tasks, the render-blocking requests, the layout shifts. Playwright can measure timings, but it isn't a profiler, and asking it to be one is fighting the tool.

Debugging an already-broken page is the second case. Console errors and failed network calls are right there without any instrumentation. An agent that can read them will diagnose a bug faster than one working from a screenshot and a guess.

Third: accessibility inspection. Walking the accessibility tree and running Lighthouse from inside the agent loop pays off quickly, and it lines up with the kind of work accessibility compliance now demands from teams selling into the EU. Worth knowing the limits though, automated scans catch a minority of real WCAG issues no matter which tool runs them.

Where Playwright MCP wins

Anything where the output needs to become a test. This is the big one. If an agent explores a checkout flow and you want a spec file at the end that runs in CI next Tuesday, you want the agent operating in Playwright vocabulary the whole time. Locators, waits, assertions, all of it in the same shape your repo already uses.

Translating a Puppeteer-flavored exploration into a Playwright test afterward is possible, and it's also a step where things get quietly lost. Fewer translation layers, fewer surprises.

Cross-browser is the other clear win. DevTools MCP is Chrome. If Safari matters to your users, and for consumer products it usually does, Playwright MCP is the only one of the two that can go there.

Side by side

Chrome DevTools MCPPlaywright MCP
BrowsersChrome onlyChromium, Firefox, WebKit
Performance tracesFull DevTools traces and LighthouseBasic timing only
Console and network inspectionNative, no setupAvailable, less detailed
Produces runnable testsNeeds translationSame API as your suite
Existing logged-in sessionCan attach to oneStorage state, set up per run
Natural homeLocal debuggingCI and the test repo

So which one

Run both. They're MCP servers, your agent can hold more than one, and they don't conflict.

If you only want one: pick Playwright MCP if the goal is test coverage, pick DevTools MCP if the goal is diagnosis. Most QA teams are in the first group and most frontend performance work is in the second, which is roughly how the two projects seem to see themselves.

One caution on attaching to an authenticated session. It's a real convenience and it's also a real session, with real permissions. An agent reading a page that contains instructions is an agent that can be steered, which is the whole subject of testing for prompt injection. Worth using a scoped account rather than your own admin login.

The part neither of them does

Both tools answer "can an agent drive this browser" with a clear yes. Neither answers what happens next: which explorations became tests, which of those tests still run, which journey nobody has checked since March. An MCP server is a capability, not a system of record.

Teams that adopt one of these and stop there tend to end up with a lot of impressive agent sessions and no accumulated coverage. The sessions were useful. They just didn't add up to anything, because nothing was keeping score.


qtrl sits at that layer. Agent runs happen in real browsers, and what each run covered is recorded as structured coverage you can look at later, rather than a transcript that scrolls away. Explorations turn into repeatable cases instead of one-off sessions.

You can keep using whichever MCP server fits the job in your editor. The difference is that the results land somewhere your team can see them, with the boundaries and logging that make agent runs safe to put in a pipeline. See how it works.

Have more questions about AI testing and QA? Check out our FAQ