Firefox DevTools MCP

Firefox DevTools MCP

Automate Firefox via WebDriver BiDi for Model Context Protocol tools

6
Stars
1
Forks
6
Watchers
0
Issues
Firefox DevTools MCP is a Model Context Protocol server designed for automating Firefox browser through WebDriver BiDi and Selenium WebDriver. It is compatible with tools like Claude Code, Claude Desktop, Cursor, and other MCP clients, enabling browser automation, page management, input simulation, network inspection, and debugging. The server supports custom configuration via CLI flags or environment variables and integrates with MCP Inspector for interactive use. The tool is tailored for local use and is not intended for cloud hosting environments.

Key Features

Automates Firefox browser operations using WebDriver BiDi
Serves as a Model Context Protocol (MCP) server
CLI and environment variable-based configuration
Supports headless browsing and custom viewports
Page listing, navigation, selection, and closing
Snapshot and element UID-based input operations
Network request capture and inspection
Console message management and screenshot capture
Docker and npm/npx installation support
Integration with Claude Code and MCP Inspector

Use Cases

Automated browser testing within AI-assisted environments
Web page input simulation such as clicking and form filling
Network traffic monitoring and debugging for web applications
Capturing screenshots and snapshots of web pages for inspection
Console log extraction for debugging web applications
Headless web browsing for server-side automation tasks
Automated navigation and manipulation of multiple browser pages
Testing and prototyping browser automations with Claude Code
Integrating browser automation into AI coding tools and IDEs
Local development and testing of websites using Firefox automation

README

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

Note: This MCP server requires a local Firefox browser installation and cannot run on cloud hosting services like glama.ai. Use npx firefox-devtools-mcp@latest to run locally, or use Docker with the provided Dockerfile.

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

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

Pass options either as args or env vars. Examples:

bash
# 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
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)

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

Try it with MCP Inspector

bash
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

bash
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.

Star History

Star History Chart

Repository Owner

freema
freema

User

Repository Details

Language TypeScript
Default Branch main
Size 455 KB
Contributors 2
License MIT License
MCP Verified Nov 11, 2025

Programming Languages

TypeScript
72.82%
JavaScript
26.72%
Dockerfile
0.46%

Topics

claude-code firefox mcp mcp-server

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • Selenium MCP Server

    Selenium MCP Server

    Model Context Protocol server for web automation via Selenium.

    Selenium MCP Server provides a Model Context Protocol (MCP) compliant interface that enables AI assistants to automate web interactions using Selenium WebDriver. It offers tools for page navigation, element discovery and manipulation, JavaScript execution, screenshot capture, and browser log access. The server supports seamless integration with MCP clients, extensible testing and debugging options, and fine-grained browser local storage management.

    • 3
    • MCP
    • PhungXuanAnh/selenium-mcp-server
  • Dexscreener MCP server

    Dexscreener MCP server

    MCP-compliant server for accessing the Dexscreener API.

    Dexscreener MCP server provides a basic Model Context Protocol (MCP) interface to the Dexscreener API, allowing integration with tools like Claude Desktop. It supports both STDIO and server-sent events (SSE) modes and facilitates contextual API access based on the latest Dexscreener documentation. Configuration is straightforward for users on both MacOS and Windows, and the server can be tested using Inspector or other MCP-compatible clients.

    • 16
    • MCP
    • janswist/mcp-dexscreener
  • Fireproof MCP Database Server

    Fireproof MCP Database Server

    A JSON document store server implementation based on the Model Context Protocol for AI integration.

    Implements a JSON document store that supports CRUD operations and field-based sorting, designed to work as a server within the Model Context Protocol (MCP) ecosystem. Offers integration with the Fireproof database and is intended for use cases such as Claude Desktop. Provides tooling and instructions for setup, configuration, and debugging using the MCP Inspector.

    • 29
    • MCP
    • fireproof-storage/mcp-database-server
  • MCP Pointer

    MCP Pointer

    Point to browser DOM elements for agentic coding tools via MCP.

    MCP Pointer is a tool that combines a Chrome Extension and a local MCP Server to bridge browser DOM element selection with agentic coding tools through the Model Context Protocol. Users can visually select DOM elements in the browser using Option+Click, capturing rich contextual information such as text, CSS, and attributes. The MCP server exposes this data to AI-powered tools like Claude Code, Cursor, and Windsurf via a standardized protocol. This enables seamless, real-time transfer of in-browser context to AI coding assistants.

    • 519
    • MCP
    • etsd-tech/mcp-pointer
  • AutoMobile

    AutoMobile

    Powerful tools for mobile automation, test authoring, and device management via MCP.

    AutoMobile provides a comprehensive set of tools for mobile automation, focusing on UI testing and development workflow automation. It operates as an MCP Server, enabling a robust interaction loop for model-driven actions and observations. The solution supports Android platforms with features like automated test authoring, multi-device management, and seamless CI test execution. AutoMobile also offers source mapping and deep view hierarchy analysis to enhance code rendering accuracy.

    • 63
    • MCP
    • zillow/auto-mobile
  • Developer MCP Server

    Developer MCP Server

    A powerful MCP server for developer tools including file editing, shell commands, and screen capture.

    Developer MCP Server is a general purpose server that implements the Model Context Protocol, offering tools for developers such as file editing, shell command execution, and screen capturing. Built with the rmcp crate, it provides secure and cross-platform operations with file access controls that respect gitignore patterns. The server integrates seamlessly with compatible MCP clients like Claude Desktop and supports advanced workflow management features. Security, workflow branching, and context preservation make it suitable for complex problem-solving and development automation.

    • 16
    • MCP
    • VertexStudio/developer
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results