Repository navigation
playwright mcp vs chrome devtools mcp
Short answer: Chrome DevTools MCP is for finding out why a page behaves the way it does; Playwright MCP is for making a page do something. They overlap enough to be confused for competitors and were built for different questions, and picking by star count gets you the wrong one.
| Chrome DevTools MCP | Playwright MCP | |
|---|---|---|
| Maintainer | ChromeDevTools | Microsoft |
| Stars, read 2026-09-10 | 51,500 | 36,900 |
| Licence | Apache-2.0 | Apache-2.0 |
| Browsers | Chrome and Chrome for Testing only | chrome, firefox, webkit, msedge |
| The model sees | DevTools: traces, network, console | the accessibility tree |
| Built for | inspecting and profiling | driving and asserting |
Chrome DevTools MCP gives an assistant the DevTools panel. Performance traces with insights extracted, network request analysis, console messages, screenshots, and source-mapped stack traces. The last one is the giveaway: source maps only matter if you are debugging code you wrote. This is a tool for your own application, and it is very good at the question "why is this slow, and what fired when".
Playwright MCP gives an assistant a browser to operate. It exposes the page as an accessibility tree with stable references and a small action vocabulary, so a model can navigate, click and type its way through a flow. What it is and how it differs from the Playwright CLI covers that side in full.
The practical split, in one line each: if you would have opened DevTools, you want the first. If you would have written a script, you want the second.
"I want the agent to test my site." Both, at different moments. Playwright MCP to walk the flow, Chrome DevTools MCP to find out why the step that failed was slow or threw. Neither replaces knowing which of the two questions you are asking at that moment.
"I want to scrape." Neither is built for it and Chrome DevTools MCP especially is not. See using a browser MCP server for web scraping for the pattern that actually works, which uses a model to work out the shape and plain code to do the repetition.
"The site keeps blocking my agent." Neither addresses that, because both drive a stock automation build. That is a third question about the engine underneath, and why an agent gets blocked sorts the causes by how often they are the real one.
Worth reading before you register it, and stated by the project rather than inferred by us:
- It exposes all browser content to the MCP client without sandboxing. If the Chrome it attaches to is the one you are logged into, the assistant can see what you can see.
- Performance tooling may send trace data to Google's CrUX API, with an opt-out available.
- It collects usage statistics by default, disabled with a flag.
None of these is unusual for a debugging tool, and all three are the kind of thing that matters more once an assistant rather than a person is on the other end of it.
Whichever you register, the tool descriptions ride in the model's context on every turn, and so does each one's argument schema. For calibration, measured on our own server's registry on 2026-10-02: 17 tools, 8,918 characters of description, 3,464 tokens per turn. Register two browser servers side by side and you are paying that twice, on every turn, plus giving the model overlapping verbs to choose between.
That is the argument against "install both and see": pick the one that matches the question you have this week, and keep the other unregistered until it is the question.
Is Chrome DevTools MCP better than Playwright MCP? Different jobs. DevTools MCP inspects a running Chrome; Playwright MCP drives a page across four engines.
Does Chrome DevTools MCP work with Firefox? No. Chrome and Chrome for Testing only; other Chromium browsers may work and are not guaranteed.
Can I use both? Yes, and it costs context twice and makes the model's choice harder. Prefer one per task.
Which one for performance debugging? Chrome DevTools MCP, without competition - traces and insights are the thing it was built for.
Which one for automating a flow? Playwright MCP, and if the flow is stable and repeated, neither: write it as a script.
Do either of them avoid bot detection? No. Both drive a stock automation build, and that is a separate layer from the MCP surface.
See also: Playwright MCP vs the Playwright CLI, choosing an MCP server for browser automation, and the MCP server for this project's own configuration.
- ChromeDevTools/chrome-devtools-mcp, retrieved 2026-09-10: stars, licence, browser support, capabilities, and the three caveats quoted above.
- microsoft/playwright-mcp, retrieved 2026-09-10: stars, licence, browser options and the accessibility-tree design.
- This project's own MCP server source, read 2026-09-13, for the tool-count and description-size figures.
Written while maintaining a third browser MCP server. It is not the recommendation for either job on this page: for debugging your own site DevTools MCP wins outright, and for driving a flow across engines Playwright MCP is the default.
- OpenAI Operator alternatives
- Open-source Operator-style agents
- Is OpenAI Operator still available?
- OpenAI Operator vs Claude computer use
- browser-use alternatives
- Choosing an AI browser agent
- Open-source AI browser agents
- Open-source computer-use agents
- What is an AI web agent?
- AI browser agents vs traditional scraping
- Cloud browser infrastructure for AI agents, explained
- Browserbase alternatives
- Firecrawl vs an AI browser agent
- Skyvern alternatives
- Stagehand vs browser-use
- Project Mariner is gone: what replaced it
- Manus alternatives
- Gemini computer use vs Claude computer use
- A stealth browser MCP, reviewed honestly by its own wiki
- AI browser vs AI browser agent: which one do you want?
- AI browser agent vs RPA: which one fits the job
- AI browser agent vs n8n, Zapier and Make
- Vercel agent-browser alternatives, compared honestly
- What is an agentic browser? Definition and the two kinds
- Open-source agentic browsers: the three layers, compared
- Choosing an MCP server for browser automation: four axes
- Stealth MCP servers compared: Camoufox, nodriver, Patchright
- Playwright MCP alternatives, and the three you don't need
- Autonomous browser agents: the four rungs of autonomy
- What is actually free in the AI browser agent stack
- browser-use on GitHub: what the repo actually gives you
- Playwright MCP vs Chrome DevTools MCP: different jobs
- How to choose among MCP servers: a map by category
- Which MCP servers are worth adding to Claude Code
- MCP on GitHub: finding servers and judging them fast
- MCP vs an API: the decision, and what the wrapper costs
- MCP alternatives: when the protocol is the wrong shape
- Why does my AI agent get blocked?
- The timing signal AI agents give off
- Agent retry loops trip rate limits, not fingerprints
- Claude computer use detected as a bot
- browser-use getting blocked: what you can and cannot change
- Playwright MCP session blocked: four causes, four fixes
- Playwright MCP and captchas: what actually gets you past
- Cloudflare and a browser MCP server: what is being read
- Can an AI agent solve a captcha? The honest answer
- Getting an AI agent to fill out forms
- The best model for an MCP browser agent, and what it really costs
- Browser problem or model problem?
- How to use a Playwright MCP server with Claude Code
- Extracting data to a CSV with an AI agent
- Monitoring a page for changes with an AI agent
- How to let Claude Desktop control a browser
- How to add a browser to Cursor as an MCP server
- Using an AI agent to hunt for apartments
- Getting website data into Google Sheets with an AI agent
- Using an AI agent to download invoices from portals
- AI agents for web research
- Using an AI agent to test your own website
- How to add a browser to Cline as an MCP server
- Posting to social media with an AI agent
- Posting to Facebook with an AI agent
- Posting to Instagram with an AI agent
- Posting to X with an AI agent
- Automating LinkedIn posts: read this first
- Appointment bots: what they are and what an agent can legitimately do
- Track prices across sites with an AI agent
- Build a lead list with an AI browser agent
- Run an AI browser agent on a schedule
- AI browser agent with a local LLM: what changes
- Should you log your AI agent into your accounts?
- How to write a task an AI browser agent can follow
- Move data between two web apps with an AI agent
- The MCP server
- How the tools are shaped, and why
- Playwright MCP vs the Playwright CLI: which fits when
- Playwright MCP: browser is already in use, and the fix
- Playwright MCP best practices: four decisions that matter
- Playwright MCP with a proxy, and the three leaks it leaves
- A browser MCP server in GitHub Copilot: setup and limits
- Using a browser MCP server for web scraping: the pattern
- Which LLM for browser automation: the four properties
- How to build a browser agent, and what to take instead
- Getting an AI agent to log into a website: three routes
- MCP tools, resources and prompts: who controls each
- How many MCP tools is too many? The context arithmetic
- How to build an MCP server: the decisions, not the scaffold
- Local or remote MCP server: what changes, and what does not
- Writing an MCP client in Python: the thirty-line version
- Self-hosted AI agent: what one actually costs to run
- How long an AI browser agent takes per step, measured
- Text, HTML, snapshot or screenshot: what the agent should read
- Giving an AI browser agent a stopping condition
- Keeping an AI browser agent out of destructive actions
- Why did the AI agent click the wrong thing
- When the page changes under the AI agent
- Running one AI agent task across a list of sites
- Seeing a page as it appears in another country
- Getting data out of a dashboard with no export button
- Two browsers in one session: main and support
- Finding the dead links on a site with an AI agent
- Filling a CRM record from a company's website
- One form submission per spreadsheet row, with an AI agent
- Dated screenshots of a page as evidence
- Checking order and delivery status with an AI agent
- Reading a PDF that opens inside the browser
- Summarising a long page or thread with an AI agent
- Collecting every image on a page with its caption
- Collecting event and course listings with an AI agent
- Cancelling a subscription with an AI agent
- What an AI agent can and cannot do inside an iframe
- Shadow DOM and an AI agent: you can click it, you cannot read it
- How to add a browser to Codex as an MCP server
- What a page snapshot costs, per control
- How to let Gemini CLI use a browser
- Native selects and the ones that only look like selects
- Clicking by selector or by coordinates
- How long the agent waits before it gives up
- What a second browser costs
- Uploading a file with an AI agent, and why this one cannot
- Watching the agent work, and when it is worth it
- When not to use an AI browser agent
- Agent or script: deciding once instead of every time
- Using the keyboard instead of the mouse
- Secrets in an agent task: where they end up
- What an agent run should log
- Deduplicating what an AI agent collects
- Normalising values across sites
- Validating an AI agent's output
- Reading a table with an AI agent
- Driving a site's own search and filters
- The task works headed and fails headless
- How to let the AdaL CLI use a browser