← Back to directory
F

Firefox DevTools MCP

Official
Automate Firefox for AI assistants.
Category
Browser #10 of 32
Stars
★ 502 Very popular
Transport
stdio (local process)
Runtime
Node.js 20.19.0+ · Prebuilt binary Firefox 100+ · Docker
Credentials
No credential needed
License
Other / unspecified
Last commit
Tools
28
58FMRS · C

An official Mozilla project suited to local Firefox automation and development debugging. Its broad capabilities also create significant browser-session and privileged-access risks, so use a dedicated profile and enable only the required modules.

Strongest · Documentation 14/20 Weakest · Security and permissions 8/20

Reliability
10/20
Security and permissions
8/20
Maintenance
13/20
Documentation
14/20
Setup experience
13/20
Why each score
Reliability 10/20
The README describes startup, client connection, and tool modules and references CI and testing entry points, but no manifest, source, tests, or workflow contents were provided here. MCP initialization, tool-list handshake, error handling, and key paths therefore cannot be verified. The README also contains unresolved merge-conflict markers and inconsistent tool-overview text, so points are deducted.
Security and permissions 8/20
The documentation explicitly discloses risks involving dedicated Firefox profiles, cookies and sessions, prompt injection, Marionette, and privileged modules, and it supports narrowing access by module. However, the default basic preset is broad, connect-existing can attach to a real browsing session, and evidence of confirmation and isolation for scripts, downloads, extensions, preferences, and file writes is insufficient. No stated red-line risk is evidenced, so the red-line score is not applied.
Maintenance 13/20
Mozilla ownership, MIT or Apache 2.0 licensing in the README, CI links, contribution guidance, a security-reporting path, and an npm update path provide positive maintenance evidence, and the repository is not archived. However, commit history, release cadence, dependency updates, issue response, and concrete security-response details are absent; repository metadata also reports NOASSERTION for the license. Points are deducted for these gaps.
Documentation 14/20
The README covers runtime requirements, several client installation methods, CLI options, tool modules, presets, Android, existing-browser connections, save-path restrictions, troubleshooting, versioning, and security cautions. It is relatively complete, but the manifest and implementation evidence are unavailable, unresolved merge conflicts remain, and authentication, exact parameter schemas, error boundaries, and test coverage are insufficiently documented, so full marks are not justified.
Setup experience 13/20
Node.js and Firefox requirements, npx commands, Claude Code configuration, an Inspector example, platform-specific paths, and common Windows troubleshooting make the mainstream setup path clear. Nevertheless, a local Firefox installation is required, existing-session and Android modes add configuration complexity, and there is no source-level execution evidence; setup may still depend on environment and driver discovery, so points are deducted.

Static review · not runListed 2026-07-29

Read the FMRS scoring method →

Fit and risk

What it can accessWrites / deletes local filesRuns commands or codeUses the networkControls a browser

Best for

  • Local Firefox automation
  • Web debugging and development workflows
  • Users of Claude Code, Claude Desktop, Cursor, or Cline

Not for

  • Environments without a local Firefox installation
  • Situations where an agent must not access browser-reachable content
  • Cloud-hosted execution environments
  • Direct use with a normal daily-browsing profile

Required permissions

  • Requires access to a local Firefox browser and sites it can reach.
  • A dedicated Firefox profile is recommended; when connecting to an existing browser, the agent can access cookies, logged-in sessions, and open tabs.
  • The `prefs` and `privileged` modules require `MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1` and are available only in the Mozilla-internal build.
  • Firefox for Android mode requires adb on PATH and a connected Android device.

Risks and side effects

  • Browser automation servers carry inherent risk and may expose cookies, saved sessions, and browser-reachable content.
  • Web pages may contain prompt injection intended to manipulate the agent; use sites you control or trust.
  • The developer preset enables script and debugging tools, while the mozilla preset additionally expands access to privileged contexts.
  • Connecting to an existing Firefox uses a real browsing session; leaving Marionette enabled during normal browsing can expose navigator.webdriver and trigger bot detection.

Setup

Before you start

Runtime:Node.js 20.19.0+ · Prebuilt binary Firefox 100+ · Docker

Other optional settings (9)
START_URL optional URL opened when the server starts, e.g. about:blank
FIREFOX_HEADLESS optional Set to true to run Firefox without UI
ACCEPT_INSECURE_CERTS optional Set to true to ignore TLS certificate errors
CONNECT_EXISTING optional Set to true to attach to an already-running Firefox instead of launching one
MARIONETTE_PORT optional Marionette port for connect-existing mode, default 2828
TOOL_PRESET optional Tool module preset: slim/basic/developer/mozilla/all
ANDROID_PACKAGE optional Android Firefox package name, default org.mozilla.firefox
MOZ_REMOTE_ALLOW_SYSTEM_ACCESS optional Set to 1 to enable privileged modules and evaluate_privileged_script
DEBUG optional Set to * for verbose debug logging

Requires Node.js ≥ 20.19.0 and Firefox 100+. The recommended approach is npx: run npx @mozilla/firefox-devtools-mcp@latest, or add the provided Claude Code configuration to the client settings. Use --firefox-path to specify the Firefox binary and options such as --headless as needed.

.mcp.json
{"mcpServers":{"firefox-devtools":{"command":"npx","args":["-y","@mozilla/firefox-devtools-mcp@latest","--headless","--viewport","1280x720"],"env":{"START_URL":"about:blank"}}}}

Shown for Claude Code. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "firefox-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "@mozilla/firefox-devtools-mcp@latest",
        "--headless",
        "--viewport",
        "1280x720"
      ],
      "env": {
        "START_URL": "about:blank"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add firefox-devtools -e START_URL=about:blank -- npx -y @mozilla/firefox-devtools-mcp@latest --headless --viewport 1280x720

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

list_pages, take_snapshot and navigate_page should appear in the client's tool list; calling list_pages and getting the open tabs proves the connection works.

Troubleshooting

  1. If Firefox is not found, provide the correct executable path with `--firefox-path`.
  2. A slow first run may result from Selenium establishing the BiDi session.
  3. UIDs can become stale after navigation; call `take_snapshot` again.
  4. On Windows 10, a connection-closed error may require wrapping npx with `cmd /c` or using an absolute npx path as shown in the README.
  5. Connect-existing mode requires both `--marionette` and `--remote-debugging-port` when starting Firefox.

Things to try

Once connected, you can ask your AI assistant things like:

  • Open https://example.com and list all open pages
  • Take a screenshot of the page and save it to a file
  • List network requests whose URL contains api
  • Evaluate a script on the page to get performance.getEntries()

Tools 28

list_pages read-only
List pages.
select_page read-only
Select the page to operate on.
navigate_page writes
Navigate to a page.
take_snapshot read-only
Capture a page snapshot, with optional file saving.
click_by_uid writes
Click an element by its UID from a snapshot.
fill_by_uid writes
Fill a form element by UID.
list_network_requests read-only
List network requests with filtering and optional file saving.
get_network_request read-only
Get network request details by ID.
Show 20 more tools
list_downloads read-only
List downloads.
set_download_behavior writes
Set download behavior to allow, deny, or default.
screenshot_page read-only
Capture a page screenshot, with optional file saving.
screenshot_by_uid read-only
Capture a screenshot of an element by UID.
list_console_messages read-only
List console messages.
evaluate_script writes
Evaluate a script in the page.
evaluate_privileged_script writes
Evaluate a script in a privileged context; requires the relevant system access permission.
install_extension writes
Install a browser extension.
uninstall_extension destructive
Uninstall a browser extension.
list_extensions read-only
List browser extensions; requires the relevant system access permission.
get_firefox_info read-only
Get Firefox information.
get_firefox_output read-only
Get Firefox output.
restart_firefox writes
Restart Firefox.
set_firefox_prefs writes
Set Firefox preferences.
get_firefox_prefs read-only
Get Firefox preferences.
profiler_is_active read-only
Check whether the profiler is active.
profiler_start writes
Start the profiler.
profiler_stop writes
Stop profiling and save the profile.
screencast_start writes
Start recording the page viewport.
screencast_stop writes
Stop page viewport recording; requires Firefox 154 or later.

Use cases

Automating Firefox navigation and interaction
Inspecting snapshots, network requests, and console messages
Running page scripts, taking screenshots, and profiling
Recording the page viewport and managing downloads

Supported clients

Claude Code
Claude Desktop
Cursor
Cline

Listed from the project's documentation, not tested by this site.

Overview

A Mozilla-maintained Model Context Protocol server that automates Firefox through Selenium WebDriver using WebDriver BiDi. It supports page inspection and control, network and console observation, screenshots, script execution, profiling, and screencasting. It requires a local Firefox installation and cannot run directly on cloud hosting services such as glama.ai.

Similar servers

Source revision 2eb2cb2c84bd Data synced 2026-10-19 Read the FMRS scoring method