Chrome vs. Safari vs. Firefox: AI debugging MCPs tested A field test by LogRocket of the Chrome DevTools MCP (chrome-devtools-mcp 1.10.1), Mozilla's @mozilla/firefox-devtools-mcp 0.10.4 and Apple's Safari 27 MCP found that Claude Code 2.1.97 running Opus 4.6 correctly identified the root cause of every planted bug it finished, with Firefox fastest on the network-waterfall bug at 59 seconds versus 123 seconds for Chrome and 108 seconds for Safari. Safari's 17 tools added 3,846 input tokens per run, roughly half the 7,797 added by Chrome's 30 tools and the 8,207 added by Firefox's 48 tools, against 5,807 input tokens with no MCP at all. The author cautions the timings come from one or two runs per browser-bug pair rather than a lab benchmark, and that no browser tool found the React re-render bug without extra help. Major browsers now ship a way for AI agents to open your app, look around, and debug it. Chrome’s https://github.com/ChromeDevTools/chrome-devtools-mcp comes from Google. Safari 27 https://developer.apple.com/documentation/safari-developer-tools/connecting-an-ai-agent-to-safari added one from Apple. Firefox’s https://github.com/mozilla/firefox-devtools-mcp is maintained by Mozilla. So I did what I normally love doing. I built a small React app, planted four bugs in it, and gave all three to debug. My theory behind this was that browser tools stop at the DOM, so none of them would find the cause of a React re-render bug without extra help. I was half wrong, and that half tells the story in this article. Here’s the short version: memo . The One thing to note before we start. Most of these numbers come from one or two runs each. Read this as a field report, not a lab benchmark; here is the GitHub https://github.com/marvelken/Browser-mcp-bench repo. An agent debugging MCP is a small server that sits between your coding agent and a real browser. The agent calls tools like “list the network requests” or “run this JavaScript”, and the browser answers. We’ve already covered how to connect the Chrome DevTools MCP https://blog.logrocket.com/debugging-with-chrome-devtools-mcp , so I’ll skip the setup tour. Here are the three things that tripped me up instead: safaridriver --mcp answers with unrecognized option '--mcp' . After the update, you tick “Allow remote automation and external agents” in the Developer settings, and you’re in --tool-preset developer . Remember this flag. It decides the test later --categoryExperimentalThirdParty=true There’s also a cost you pay before the agent does any work. Every tool a server offers gets described to the model on every run. I measured that with a one-word prompt: | Setup | Tools | Extra input tokens | |---|---|---| | Safari 27 safaridriver --mcp | 17 | 3,846 | | Chrome chrome-devtools-mcp 1.10.1 | 30 | 7,797 | | Chrome with the React tools flag | 32 | 8,194 | | Firefox @mozilla/firefox-devtools-mcp 0.10.4, developer preset | 48 | 8,207 | With no MCP at all, the same prompt used 5,807 input tokens. Safari costs about half of what the other two cost, because it ships about half the tools. Keep that in mind, because fewer tools cut both ways. The app is a small dashboard built with Vite 8, React 19.3, and TypeScript. It has a row of 8 project cards, a notes box, and a big activity table. React Compiler is off because it could quietly fix the React bug for me. I planted four bugs: await inside a loop. That takes about 3 seconds when 350 ms would do Bug 4 is the one this article is about, so here’s the code: // AppContext.tsx