MCP Libraries
firefox-devtools-mcp

firefox-devtools-mcp

MCP server for Firefox browser automation via WebDriver BiDi

firefox-devtools-mcp

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.

Features

  • WebDriver BiDi Protocol - Modern browser automation standard
  • 24 Comprehensive Tools - Full browser automation capabilities
  • Real-time Monitoring - Console and network request capture
  • Screenshot Support - Full page and element screenshots
  • Element Interaction - Click, hover, fill, drag, and upload
  • Multi-tab Support - Manage multiple browser tabs

Requirements

  • Node.js >= 20.19.0
  • Firefox 100+ installed (auto-detected, or pass --firefox-path)

Quick Start

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

With headless mode and viewport:

claude mcp add firefox-devtools npx firefox-devtools-mcp@latest -- --headless --viewport 1280x720

Available Tools

Pages

  • list_pages - List all open tabs/windows
  • new_page - Create and navigate to new tab
  • navigate_page - Navigate to URL
  • select_page - Switch active tab
  • close_page - Close tab

Snapshot & Element Selection

  • take_snapshot - Get HTML content with element UIDs
  • resolve_uid_to_selector - Convert UID to CSS selector
  • clear_snapshot - Clear snapshot cache

Input/Interaction

  • click_by_uid - Click element by UID
  • hover_by_uid - Hover over element
  • fill_by_uid - Enter text in input
  • drag_by_uid_to_uid - Drag and drop
  • fill_form_by_uid - Fill form fields
  • upload_file_by_uid - Upload file to input

Console & Network

  • list_console_messages - Get real-time console logs
  • clear_console_messages - Clear console buffer
  • list_network_requests - Get captured network requests
  • get_network_request - Get specific request details

Screenshots

  • screenshot_page - Capture full page
  • screenshot_by_uid - Capture specific element

Utilities

  • accept_dialog - Accept dialog/alert
  • dismiss_dialog - Dismiss dialog
  • navigate_history - Browser back/forward
  • set_viewport_size - Change viewport dimensions

On this page