Firefox DevTools MCP logo

Firefox DevTools MCP

Controls local Firefox for page navigation, interaction, screenshots, downloads, dialogs, and browser diagnostics.

Install Firefox DevTools MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "firefox-devtools-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mozilla/firefox-devtools-mcp@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 35 tools correctly (2d ago).

Overview

Firefox DevTools MCP MCP server connects MCP clients to a local Firefox instance through WebDriver BiDi and Selenium WebDriver. It supports tab management, navigation, DOM snapshots, form interaction, screenshots, downloads, dialogs, viewport control, and Firefox output inspection. Use it for agentic browsing or for browser-based web development tasks that require inspecting and debugging a page. It requires a local Firefox installation rather than a cloud browser.

Use cases

  • Automate multi-step website workflows
  • Inspect page structure with DOM snapshots
  • Test forms, uploads, dialogs, and downloads
  • Capture screenshots and print pages to PDF
  • Investigate Firefox output during web development

Key features

  • WebDriver BiDi control through Selenium
  • Tab navigation and page interaction
  • UID-based DOM snapshots
  • Screenshots and PDF printing
  • Download and dialog management
  • Configurable Firefox tool presets

Tools35

What Firefox DevTools MCP lets your agent do. Expand a tool for its parameters.

Verified live~3.9k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

15/15 checks healthy over the last 44d

What it can do

From the 35 tools this server returned when we ran it; 33 declare their own safety hints.

Can delete or modify data · 1Writes files · 1Makes network requests · 7Read-only tools · 33
Tool definitions changed on 2026-11-10. Review them if you approved this server earlier.
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age187 days
Maintainers21

Observed 2026-11-10 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 14d ago via OSV.dev · @mozilla/firefox-devtools-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars560Stargazers on the source repository.
npm downloads20kPackage downloads in the last 30 days.
Last commit8d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed35Callable tools this server registers over MCP.
Directory activity10 viewsConfig copies, upvotes, and views on AllMCPs.

How Firefox DevTools MCP works

What Firefox DevTools MCP does

Firefox DevTools MCP MCP server gives an AI agent control of a local Firefox browser. It covers routine browser automation such as opening pages, switching tabs, reading visible text, completing forms, uploading files, handling dialogs, and downloading files. It also supports browser inspection workflows through DOM snapshots, screenshots, page output, and Firefox diagnostic information.

The server is suited to two related workflows: having an agent complete multi-step tasks on websites, and having an agent inspect a page during web development. Browser access includes the cookies, saved sessions, and reachable sites of the selected Firefox profile, so it should be treated as a local automation process with meaningful access to browser data.

How it works

Firefox DevTools MCP communicates with Firefox using WebDriver BiDi through Selenium WebDriver. It can launch a Firefox session or connect to an existing one. A session may run with a visible window or in headless mode, and its initial URL and viewport can be configured at startup.

Page interaction commonly starts with take_snapshot, which returns a DOM tree containing stable UIDs. Those UIDs can then be passed to actions such as click_by_uid, hover_by_uid, fill_by_uid, upload_file_by_uid, or drag_by_uid_to_uid. UIDs become invalid when their element is removed or the page navigates. type_text is intended for controls that require key-by-key input, including autocomplete fields and rich text editors.

Setup and configuration

The runtime requires Node.js 20.19.0 or newer and Firefox 100 or newer. Install Firefox locally, then run the published package with npx @mozilla/firefox-devtools-mcp@latest. The server can be registered with Claude Code or Codex, configured in a client configuration file, or tested through MCP Inspector.

Useful startup options include --firefox-path, --headless, --viewport, --start-url, --profile-path, --firefox-arg, and --accept-insecure-certs. Set --connect-existing to attach to an already-running Firefox session. The default Marionette port for that mode is 2828. A dedicated profile is recommended rather than a normal personal profile.

Tool exposure can be narrowed with --tool-preset or an explicit --tools list. Available presets include slim, basic, developer, mozilla, and all; basic is the default. Equivalent environment variables include FIREFOX_HEADLESS, START_URL, CONNECT_EXISTING, MARIONETTE_PORT, and TOOL_PRESET.

Tools and capabilities

  • List, create, select, navigate, and close tabs with list_pages, new_page, select_page, navigate_page, and close_page.
  • Read visible page text or save it to a file with get_page_text.
  • Capture DOM snapshots, resolve element UIDs, and interact with page elements.
  • Fill forms, upload files, drag elements, press keys, and type into focused controls.
  • Capture viewport or full-page screenshots, capture element screenshots, and print pages to PDF.
  • Manage downloads, including listing tracked files, clearing the download buffer, and setting allow or deny behavior.
  • Accept or dismiss browser dialogs, change viewport dimensions, navigate history, and retrieve Firefox output and instance information.

Limitations and notes

The browser must be installed locally; the server is not intended for cloud-only hosting services. Firefox accepts one client at a time in connect-existing mode, and an idle timeout can release that connection. Navigating or moving through browser history invalidates existing snapshot UIDs.

Browser automation carries prompt-injection and data-access risks. Use a dedicated Firefox profile, visit only trusted or controlled sites, and expose only the tool modules needed for the task. Privileged Firefox contexts require additional configuration and should be enabled deliberately. close_firefox_session ends the session; when the server connected to an existing browser, it releases the connection without closing that browser.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Firefox DevTools MCP

Firefox DevTools MCP is an MCP server that connects AI clients to a local Firefox browser through WebDriver BiDi via Selenium WebDriver. Its main tools navigate tabs, inspect page text and DOM snapshots, interact with elements, capture screenshots, manage downloads and dialogs, and retrieve Firefox diagnostic output.

Run `npx @mozilla/firefox-devtools-mcp@latest` after installing Node.js 20.19.0 or newer and Firefox 100 or newer. Register that command with Claude Code, Codex, or another MCP client, or launch it through MCP Inspector for testing.

Yes, Firefox DevTools MCP works with Cursor. It communicates through MCP and requires a local Firefox installation, so configure Cursor to launch the package locally with `npx` rather than relying on a cloud browser.

Pass `--headless` when launching the package, for example `npx @mozilla/firefox-devtools-mcp@latest --headless`. You can also set `FIREFOX_HEADLESS=true`; combine headless mode with `--viewport 1280x720` or another viewport size when needed.

Use `--connect-existing` to attach to an already-running Firefox instance. The default Marionette port is 2828, and you can change it with `--marionette-port` or `MARIONETTE_PORT`; Firefox permits one client at a time.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewFirefox DevTools MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/firefox-devtools-mcp?style=directory)](https://allmcps.com/mcp/firefox-devtools-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/firefox-devtools-mcp"><img src="https://allmcps.com/api/badge/firefox-devtools-mcp?style=directory" alt="Firefox DevTools MCP on AllMCPs" /></a>