Browser automation#Browser automation
Firefox DevTools MCP: drive and debug Firefox from an agent
Mozilla's official Firefox MCP server over WebDriver BiDi. Agents click and fill by snapshot, and read network requests, console logs and profiler data.
Project and installation docs
View projecthttps://github.com/mozilla/firefox-devtools-mcp
Almost every browser MCP server is built around Chromium, so when a site breaks only in Firefox, the agent has nothing to work with. Firefox DevTools MCP is maintained by Mozilla. It drives a local Firefox over WebDriver BiDi (through Selenium), so the agent can operate the page and also see the network and console data you’d normally open DevTools for. It had about 460 stars as of 2026-10-06.
What it does
- Snapshot-based actions:
take_snapshotassigns IDs to page elements, thenclick_by_uidandfill_by_uidact on them.list_pagesandnavigate_pagehandle tabs and navigation. - Debugging data:
list_network_requestsrecords traffic all the time,get_network_requestshows one request,list_console_messagesreads the console andscreenshot_pagegrabs the screen. - Tools by module:
--tool-presetoffersslim,basic,developer,mozillaandall. Onlydeveloperadds the debugger, network, console and profiler modules,mozillaadds a privileged context (needsMOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1), and--toolslists exact modules, overriding the preset. - Profiling: under
developer,profiler_startandprofiler_stoprecord a performance profile and save it to the downloads folder automatically; large output is written to a restricted set of directories unless--unrestricted-save-pathsletssaveTowrite anywhere on disk. - Existing browsers and Android:
--connect-existingattaches to a Firefox started with Marionette, and--android-devicedrives Firefox on an Android device.
Who it’s for
- Front-end developers who want Claude Code or Codex to reproduce a Firefox-only bug and inspect the failing requests.
- QA engineers adding Firefox to agent-driven cross-browser checks.
Setup
Needs Node.js 20.19 or newer and Firefox 100+ installed. In Claude Code:
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest
Our take
It covers what Playwright MCP mostly leaves out: real Firefox, with DevTools-level network, console and profiling data, from Mozilla itself. The security notes are blunt and worth following. Use a dedicated Firefox profile, never your everyday one, because the agent can reach everything the browser can, cookies included. The default basic preset already includes evaluate_script; switch to slim if you don’t want arbitrary scripts. The mozilla preset opens up far more privileged access, which is why it’s kept out of the defaults on purpose. Android mode wipes the target app’s data every session, so use a build installed only for automation. Dual-licensed MIT and Apache-2.0.