← Blog

Chrome DevTools MCP alternatives — and the two cases where you should just keep using it

2026-07-27

Chrome DevTools MCP is very good at the thing it was built for. It hands an agent the actual DevTools Protocol: performance traces with insights attached, network requests with headers and timings, console messages with source-mapped stack traces, heap snapshots, emulation. If you want an agent to answer why is this page slow or which request is 404ing under the hood, nothing else in this list is close, and you should stop reading and go use it.

People search for an alternative anyway, for two reasons that have nothing to do with each other:

  1. It costs too much context. The tool surface is large, and pages are large, and three steps into a flow the agent has spent its window describing a browser to itself.
  2. The bug isn't in front of the agent. It happened yesterday, to a user, in a session nobody can reconstruct.

Only the second one is actually a case for a different tool. Here's both, honestly.

Problem 1: it's eating your context window

This complaint is real and it's acknowledged upstream. A filed issue on the repo estimated the tool schemas alone at roughly 17,000 tokens of context before the agent takes a single action — that's a user's estimate rather than a maintainer benchmark, so treat the number as indicative, but the shape of the problem isn't in dispute. On top of the schemas, every snapshot, DOM read and network dump lands in the conversation and stays there.

There are three fixes, and the first one is not an alternative tool at all.

Run it in --slim mode. Chrome DevTools MCP ships a first-party slim mode that exposes three tools — navigate, evaluate a script, take a screenshot — instead of the full set:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
    }
  }
}

If you're using the server to click through a flow and look at the result, this is almost certainly what you want. You lose the performance, network and memory tooling — which is the point, because you weren't using it on that task. Google built the escape hatch; most people complaining about context cost have never turned it on.

Turn the server off when you're not debugging a browser. MCP tool schemas are loaded per session, not per use. A browser server that's connected during a pure backend refactor is pure overhead. Enabling it per-task, or scoping which tools your client exposes, recovers the same context that switching tools would — without switching tools.

Use a lighter driver for plain interaction. If the work is "click this, fill that, tell me what the page says," Playwright MCP is a more direct fit, and a Playwright script driven from the CLI is cheaper still. We wrote that comparison up separately in Playwright MCP alternatives — the short version is that for deterministic flows, having the agent write a script and read back only its output beats any step-by-step MCP loop on tokens.

If context cost is your whole problem, one of those three ends it. You don't need a new vendor.

The thing people get wrong: "it can't use my logged-in browser"

This one comes up constantly and it's mostly false, so it's worth correcting even though it argues against us.

Chrome DevTools MCP launches its own Chrome with a dedicated profile by default, which is where the belief comes from. But it can attach to a browser you already have open. On Chrome 144 and later, you enable remote debugging at chrome://inspect/#remote-debugging, run the server with --autoConnect, and approve the permission dialog; it connects to your default profile and can see the windows already open in it. That's your real session, cookies and all.

The other path, --browser-url=http://127.0.0.1:9222, is narrower than it looks: Chrome requires a non-default user data directory when the remote debugging port is enabled, so that route gives you a clean profile, not your logged-in one. It's for sandboxed setups, not for getting past a login. Chrome's own docs also carry a blunt warning here — an open debugging port can be driven by any application on your machine, so don't leave it running while you browse anything sensitive.

So: "behind a login" is not, by itself, a reason to look elsewhere. Which narrows the honest case for anything else considerably.

Problem 2: the bug already happened

Here's what attaching to a live browser doesn't solve. Every tool in this comparison — Chrome DevTools MCP, Playwright MCP, browser-use, Browserbase — assumes the failure can be made to happen now, in front of the agent. The cases where that assumption breaks:

  • A user hit it. You didn't. You have a screenshot and a vague description.
  • It's intermittent, and the state that triggers it took twenty minutes of clicking to reach.
  • It's environmental — a CDN edge, a stale record, a third-party script that only misbehaves for some sessions.
  • It's already gone: the deploy shipped, the console output scrolled away, nobody had DevTools open.

You can attach an agent to a perfectly configured browser and it still has nothing to look at. The missing input isn't browser control, it's a record of the session where it broke.

That's the gap we built ThinkRun for. You record the session — screen, clicks, console, network — in your real Chrome with your real profile, and hand the agent a structured artifact of what actually happened instead of asking it to recreate the failure. It doesn't drive the browser and it isn't an agent; it produces the evidence an agent reads.

It is not a substitute for Chrome DevTools MCP. If you want a performance trace of a page you can load right now, use the trace tool. That's what it's for.

The honest comparison

ToolWhat it's actually forWhere it winsWhere it doesn't
Chrome DevTools MCPThe DevTools Protocol exposed as MCP toolsPerformance traces with insights, network detail, console with source-mapped stacks, memory profiling; can attach to your real profile via --autoConnectLarge tool surface is context-expensive unless you run --slim; Chrome and Chrome for Testing only; assumes the bug reproduces live
Chrome DevTools MCP --slimSame server, three tools: navigate, evaluate, screenshotThe cheapest way to keep it for basic interactionGives up the performance, network and memory tooling that made you install it
Playwright MCPDriving a browser step-by-step as MCP toolsDeterministic flows, cross-browser, headless CI, matureAccessibility snapshots are context-expensive; no DevTools-depth debugging
Playwright CLI / scriptsSame engine, agent writes a scriptDramatically cheaper on tokens for known flowsLess interactive; the agent has to plan ahead
browser-useAutonomous multi-step web tasks; can reuse an existing Chrome profileOpen-ended "go do this on the web" workBroad autonomy is the wrong shape for a targeted repro or a perf question
BrowserbaseHosted cloud browsers, driven via Playwright/Puppeteer/Selenium or its own SDKScale, isolation, running many sessions off your machineInfrastructure, not a debugging tool; still needs the bug to reproduce
ThinkRunRecording a real session into agent-readable evidenceBugs that already happened, are intermittent, or won't reproduce on demandNot live control, and no performance tracing — if the agent can just go look, let it

How to pick, in one question

Can your agent make the failure happen right now, on demand?

  • Yes, and I need to know why it's slow or what the network did → Chrome DevTools MCP, full tool set. It's the best answer and it isn't close.
  • Yes, and I just need it to click through a flow--slim, or Playwright MCP, or a Playwright script. All three cost a fraction of the context.
  • No → live control isn't your bottleneck, at any price. You need a record of the session where it broke.

The failure mode worth avoiding is switching tools for the wrong reason. Leaving Chrome DevTools MCP because a session got expensive, when the real problem was that you could never reproduce the bug, just relocates the frustration.

What we're not claiming

We haven't benchmarked these against each other and we're not going to pretend otherwise — the numbers in this post come from the projects' own documentation and one public issue thread, linked so you can check them. If you'd rather see the recording-to-fix loop on a real production bug than take our word for it, we wrote that up too, including the exact artifact the agent read.

And if you came here because Chrome DevTools MCP was eating your context: add --slim and move on. It's free, it's first-party, and it'll take you thirty seconds.