Skip to content
Agentmart
Submit a tool

Firefox DevTools MCP

Control and debug Firefox: navigate, fill forms, inspect network and console, profile.

Connector by mozilla · GitHub account verified by the MCP Registry

IndexedMIT OR Apache-2.0Local (stdio)★ 518
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mozilla-firefox-devtools-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Control and debug Firefox: navigate, fill forms, inspect network and console, profile.

Use cases: browser-automation, debugging

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
20 read · 30 write · 7 delete
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 57

Read from the source code; the running server may list different tools.

Read 20 · Look things up without changing anything.

  • get_firefox_info
  • get_firefox_output
  • get_firefox_prefs
  • get_logpoint_results
  • get_network_request
  • get_page_text
  • get_script_source
  • list_console_messages
  • list_downloads
  • list_extensions
  • list_network_requests
  • list_pages
Show 8 more tools
  • list_privileged_contexts
  • list_scripts
  • print_page
  • profiler_is_active
  • resolve_uid_to_selector
  • screenshot_by_uid
  • screenshot_page
  • take_snapshot

Write 30 · Create, change, send or run things.

  • accept_dialog
  • click_by_uid
  • close_firefox_session
  • close_page
  • drag_by_uid_to_uid
  • enable_debugger
  • evaluate_privileged_script
  • evaluate_script
  • fill_by_uid
  • fill_form_by_uid
  • hover_by_uid
  • install_extension
Show 18 more tools
  • navigate_history
  • navigate_page
  • press_key
  • profiler_start
  • profiler_stop
  • restart_firefox
  • screencast_start
  • screencast_stop
  • select_page
  • select_privileged_context
  • send_bidi_command
  • set_download_behavior
  • set_firefox_prefs
  • set_logpoint
  • set_network_cache
  • set_viewport_size
  • type_text
  • upload_file_by_uid

Delete 7 · Delete, drop, revoke or wipe things.

  • clear_console_messages
  • clear_downloads
  • clear_snapshot
  • dismiss_dialog
  • new_page
  • remove_logpoint
  • uninstall_extension

Secrets and settings it asks for

Other settings (environment variables or headers).

  • FIREFOX_HEADLESS
  • START_URL

Files it touches

  • Any path the agent passes to its tools

Tools (57)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • accept_dialog

    Accept browser dialog. Provide promptText for prompts.

  • clear_console_messages

    Clear collected console messages.

  • clear_downloads

    Clear the tracked downloads buffer.

  • clear_snapshot

    Clear snapshot UIDs. Usually not needed.

  • click_by_uid

    Click element by UID. Set dblClick for double-click.

  • close_firefox_session

    Ends the browser session. If the server connected to your existing Firefox, this releases the connection and leaves Firefox running. If the server started Firefox itself, this closes it. Call this when the browser task is complete and no further browser interaction is expected.

  • close_page

    Close tab by index.

  • dismiss_dialog

    Dismiss browser dialog.

  • drag_by_uid_to_uid

    Drag element to another (HTML5 drag events).

  • enable_debugger

    Enable the JS debugger for the current page. Required before set_logpoint works. Requires Firefox 153+.

  • evaluate_privileged_script

    Execute JS function in a privileged (chrome) browsing context. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var. Get context ids from list_privileged_contexts.

  • evaluate_script

    Run a JS function in the page and return its result. Prefer this for targeted reads (a value, text, computed style, whether an element exists) instead of a full take_snapshot. Use the UID interaction tools for clicking, typing, and filling.

  • fill_by_uid

    Fill text input/textarea by UID.

  • fill_form_by_uid

    Fill multiple form fields at once.

  • get_firefox_inforead-only

    Get information about the current Firefox instance configuration, including binary path, environment variables, and output file location.

Show 42 more tools
  • get_firefox_outputread-only

    Retrieve Firefox output (stdout/stderr including MOZ_LOG, warnings, crashes, stack traces). Returns recent output from the capture file. Use filters to focus on specific content.

  • get_firefox_prefsread-only

    Get Firefox preference values via a privileged API. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.

  • get_logpoint_resultsread-only

    Get the results collected by a logpoint since it was set.

  • get_network_requestread-only

    Get request details by ID, including the response body (and request body when present). Large text bodies are truncated inline; binary bodies are summarized. URL lookup as fallback.

  • get_page_textread-only

    Get the visible text of the page (document.body.innerText). Caps at maxLength (default 20000 chars); saveTo saves the full text to a file.

  • get_script_sourceread-only

    Get the source code of a JavaScript file loaded in the page. Requires enable_debugger to have been called.

  • hover_by_uid

    Hover over element by UID.

  • install_extension

    Install a Firefox extension using WebDriver BiDi webExtension.install command. Supports installing from archive (.xpi/.zip), base64-encoded data, or unpacked directory.

  • list_console_messagesread-only

    List console messages, filterable by level, time, text, source. Caps at limit (default 50); saveTo saves all matches to a file.

  • list_downloadsread-only

    List downloads tracked since startup, including status and saved file path.

  • list_extensionsread-only

    List installed Firefox extensions with UUIDs and background scripts. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.

  • list_network_requestsread-only

    List network requests, returning IDs for get_network_request. Filter by url/method/status; caps at limit (default 50); saveTo saves all matches to a file.

  • list_pagesread-only

    List open tabs (index, title, URL). Selected tab is marked.

  • list_privileged_contextsread-only

    List privileged (privileged) browsing contexts. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var. Use restart_firefox with env parameter to enable.

  • list_scriptsread-only

    List all JavaScript files currently loaded in the page. Requires enable_debugger to have been called.

  • navigate_history

    Navigate history back/forward. UIDs become stale.

  • navigate_page

    Navigate selected tab to URL.

  • new_page

    Open new tab at URL. Returns tab index.

  • press_key

    Press a single key, optionally with modifiers, to submit, dismiss, navigate or trigger a shortcut. Not for entering text: use fill_by_uid instead.

  • print_pageread-only

    Print the current page to a PDF file using print CSS. Returns the saved file path.

  • profiler_is_activeread-only

    Check whether the Firefox profiler is currently recording.

  • profiler_start

    Start the Firefox profiler. Provide either a preset name or explicit recording options (entries, interval, features, threads). Cannot combine both. Valid presets: web-developer, firefox-platform, graphics, media, ml, networking, power, debug.

  • profiler_stop

    Stop the Firefox profiler and save the recorded profile to a file in the downloads directory. Returns the path to the saved file, or null when nothing was saved.

  • remove_logpoint

    Remove a previously set logpoint.

  • resolve_uid_to_selectorread-only

    Resolve UID to CSS selector. Fails if the element is gone.

  • restart_firefox

    Restart Firefox with different configuration. Allows changing binary path, environment variables, and other options. All current tabs will be closed.

  • screencast_start

    Start recording a screencast (video) of the current page viewport, saving the output to a file in the downloads directory. Returns a screencast id to pass to screencast_stop. Multiple recordings can run at once.

  • screencast_stop

    Stop an in-progress screencast recording started with screencast_start and finalize the video file. Returns the path to the saved file.

  • screenshot_by_uidread-only

    Capture element screenshot by UID as base64 PNG.

  • screenshot_pageread-only

    Capture viewport screenshot as base64 PNG. Set fullPage for the whole scrollable document.

  • select_page

    Select active tab by index, URL, or title. Index takes precedence.

  • select_privileged_context

    Select a privileged browsing context by ID and set WebDriver Classic context to "chrome" . Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.

  • send_bidi_command

    Send a raw WebDriver BiDi command and return its result. Escape hatch for BiDi features no other tool covers; prefer a dedicated tool when one exists.

  • set_download_behavior

    Control how downloads are handled: allow (save to a destination folder), deny (cancel), or reset to default. Avoids the native save-file dialog. Requires a recent Firefox.

  • set_firefox_prefs

    Set Firefox preferences at runtime a privileged API. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.

  • set_logpoint

    Set a logpoint at a specific location. When execution reaches that line, the expression is evaluated and the result is stored without pausing. Use get_logpoint_results to retrieve collected values. Requires enable_debugger to have been called.

  • set_network_cache

    Control the HTTP cache. Use behavior='bypass' so every request goes to the network — useful for performance measurement and for verifying a change that a cached asset would otherwise hide. Applies to the currently selected tab unless scope='global'. Persists until set back to 'default' or Firefox shuts down.

  • set_viewport_size

    Set viewport dimensions in pixels.

  • take_snapshotread-only

    Capture DOM snapshot with stable UIDs. A UID stays valid across snapshots until its element is removed or the page navigates. Output caps at maxLines (default 100); scope with selector or dump the full tree with saveTo.

  • type_text

    Type text key by key into the focused element, optionally followed by a key such as Enter. Use fill_by_uid to set the value of a known input; use this for elements that only react to real typing, such as autocomplete fields and rich text editors.

  • uninstall_extension

    Uninstall a Firefox extension using WebDriver BiDi webExtension.uninstall command. Requires the extension ID returned by install_extension or obtained from list_extensions.

  • upload_file_by_uid

    Upload file to file input by UID.

Compare and alternatives

Featured in

Signals

Stars
518
Forks
71
Open issues
0
Contributors
23
Weekly downloads
4,643
Last commit
Oct 22, 2026 (6 days ago)
Last release
Oct 16, 2026 (12 days ago)
Last package publish
Oct 16, 2026 (12 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.mozilla/firefox-devtools-mcp
Version
0.10.6
Auth
No auth
License
MIT OR Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Firefox DevTools MCP. Agent Mart. https://agentmart.dev/connectors/mozilla-firefox-devtools-mcp (last updated 2026-10-24)