Skip to main content
Glama

firefox-devtools-mcp

Firefox DevTools MCP

npm version CI codecov License: MIT

Model Context Protocol server for automating Firefox via WebDriver BiDi (through Selenium WebDriver). Works with Claude Code, Claude Desktop, Cursor, Cline and other MCP clients.

Repository: https://github.com/freema/firefox-devtools-mcp

Requirements

  • Node.js ≥ 20.19.0

  • Firefox 100+ installed (auto‑detected, or pass --firefox-path)

Install and use with Claude Code (npx)

Recommended: use npx so you always run the latest published version from npm.

Option A — Claude Code CLI

claude mcp add firefox-devtools npx firefox-devtools-mcp@latest

Pass options either as args or env vars. Examples:

# Headless + viewport via args claude mcp add firefox-devtools npx firefox-devtools-mcp@latest -- --headless --viewport 1280x720 # Or via environment variables claude mcp add firefox-devtools npx firefox-devtools-mcp@latest \ --env START_URL=https://example.com \ --env FIREFOX_HEADLESS=true

Option B — Edit Claude Code settings JSON

Add to your Claude Code config file:

  • macOS: ~/Library/Application Support/Claude/Code/mcp_settings.json

  • Linux: ~/.config/claude/code/mcp_settings.json

  • Windows: %APPDATA%\Claude\Code\mcp_settings.json

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

Option C — Helper script (local dev build)

npm run setup # Choose Claude Code; the script saves JSON to the right path

Try it with MCP Inspector

npx @modelcontextprotocol/inspector npx firefox-devtools-mcp@latest --start-url https://example.com --headless

Then call tools like:

  • list_pages, select_page, navigate_page

  • take_snapshot then click_by_uid / fill_by_uid

  • list_network_requests (always‑on capture), get_network_request

  • screenshot_page, list_console_messages

CLI options

You can pass flags or environment variables (names on the right):

  • --firefox-path — absolute path to Firefox binary

  • --headless — run without UI (FIREFOX_HEADLESS=true)

  • --viewport 1280x720 — initial window size

  • --profile-path — use a specific Firefox profile

  • --firefox-arg — extra Firefox arguments (repeatable)

  • --start-url — open this URL on start (START_URL)

  • --accept-insecure-certs — ignore TLS errors (ACCEPT_INSECURE_CERTS=true)

Tool overview

  • Pages: list/new/navigate/select/close

  • Snapshot/UID: take/resolve/clear

  • Input: click/hover/fill/drag/upload/form fill

  • Network: list/get (ID‑first, filters, always‑on capture)

  • Console: list/clear

  • Screenshot: page/by uid

  • Utilities: accept/dismiss dialog, history back/forward, set viewport

Local development

npm install npm run build # Run with Inspector against local build npx @modelcontextprotocol/inspector node dist/index.js --headless --viewport 1280x720 # Or run in dev with hot reload npm run inspector:dev

Troubleshooting

  • Firefox not found: pass --firefox-path "/Applications/Firefox.app/Contents/MacOS/firefox" (macOS) or the correct path on your OS.

  • First run is slow: Selenium sets up the BiDi session; subsequent runs are faster.

  • Stale UIDs after navigation: take a fresh snapshot (take_snapshot) before using UID tools.

Versioning

  • Pre‑1.0 API: versions start at 0.x. Use @latest with npx for the newest release.

CI and Release

  • GitHub Actions for CI, Release, and npm publish are included. See docs/ci-and-release.md for details and required secrets.

Deploy Server
-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Firefox browser automation via WebDriver BiDi for testing, scraping, and browser control. Supports snapshot/UID-based interactions, network monitoring, console capture, and screenshots.

  1. Requirements
    1. Install and use with Claude Code (npx)
      1. Try it with MCP Inspector
        1. CLI options
          1. Tool overview
            1. Local development
              1. Troubleshooting
                1. Versioning
                  1. CI and Release

                    Related MCP Servers

                    • A
                      security
                      F
                      license
                      A
                      quality
                      Provides Firefox browser automation capabilities through Playwright, allowing control of Firefox from MCP-enabled applications with features for basic automation and advanced multi-tab debugging.
                      Last updated -
                      29
                      9

                    View all related MCP servers

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/freema/firefox-devtools-mcp'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server