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
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.
About
Use cases: browser-automation, debugging
Reviews
Write a reviewNo 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_infoget_firefox_outputget_firefox_prefsget_logpoint_resultsget_network_requestget_page_textget_script_sourcelist_console_messageslist_downloadslist_extensionslist_network_requestslist_pages
Show 8 more tools
list_privileged_contextslist_scriptsprint_pageprofiler_is_activeresolve_uid_to_selectorscreenshot_by_uidscreenshot_pagetake_snapshot
Write 30 · Create, change, send or run things.
accept_dialogclick_by_uidclose_firefox_sessionclose_pagedrag_by_uid_to_uidenable_debuggerevaluate_privileged_scriptevaluate_scriptfill_by_uidfill_form_by_uidhover_by_uidinstall_extension
Show 18 more tools
navigate_historynavigate_pagepress_keyprofiler_startprofiler_stoprestart_firefoxscreencast_startscreencast_stopselect_pageselect_privileged_contextsend_bidi_commandset_download_behaviorset_firefox_prefsset_logpointset_network_cacheset_viewport_sizetype_textupload_file_by_uid
Delete 7 · Delete, drop, revoke or wipe things.
clear_console_messagesclear_downloadsclear_snapshotdismiss_dialognew_pageremove_logpointuninstall_extension
Secrets and settings it asks for
Other settings (environment variables or headers).
FIREFOX_HEADLESSSTART_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_dialogAccept browser dialog. Provide promptText for prompts.
clear_console_messagesClear collected console messages.
clear_downloadsClear the tracked downloads buffer.
clear_snapshotClear snapshot UIDs. Usually not needed.
click_by_uidClick element by UID. Set dblClick for double-click.
close_firefox_sessionEnds 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_pageClose tab by index.
dismiss_dialogDismiss browser dialog.
drag_by_uid_to_uidDrag element to another (HTML5 drag events).
enable_debuggerEnable the JS debugger for the current page. Required before set_logpoint works. Requires Firefox 153+.
evaluate_privileged_scriptExecute 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_scriptRun 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_uidFill text input/textarea by UID.
fill_form_by_uidFill multiple form fields at once.
get_firefox_inforead-onlyGet information about the current Firefox instance configuration, including binary path, environment variables, and output file location.
Show 42 more tools
get_firefox_outputread-onlyRetrieve 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-onlyGet Firefox preference values via a privileged API. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.
get_logpoint_resultsread-onlyGet the results collected by a logpoint since it was set.
get_network_requestread-onlyGet 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-onlyGet 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-onlyGet the source code of a JavaScript file loaded in the page. Requires enable_debugger to have been called.
hover_by_uidHover over element by UID.
install_extensionInstall a Firefox extension using WebDriver BiDi webExtension.install command. Supports installing from archive (.xpi/.zip), base64-encoded data, or unpacked directory.
list_console_messagesread-onlyList console messages, filterable by level, time, text, source. Caps at limit (default 50); saveTo saves all matches to a file.
list_downloadsread-onlyList downloads tracked since startup, including status and saved file path.
list_extensionsread-onlyList installed Firefox extensions with UUIDs and background scripts. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.
list_network_requestsread-onlyList 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-onlyList open tabs (index, title, URL). Selected tab is marked.
list_privileged_contextsread-onlyList privileged (privileged) browsing contexts. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var. Use restart_firefox with env parameter to enable.
list_scriptsread-onlyList all JavaScript files currently loaded in the page. Requires enable_debugger to have been called.
navigate_historyNavigate history back/forward. UIDs become stale.
navigate_pageNavigate selected tab to URL.
new_pageOpen new tab at URL. Returns tab index.
press_keyPress 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-onlyPrint the current page to a PDF file using print CSS. Returns the saved file path.
profiler_is_activeread-onlyCheck whether the Firefox profiler is currently recording.
profiler_startStart 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_stopStop 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_logpointRemove a previously set logpoint.
resolve_uid_to_selectorread-onlyResolve UID to CSS selector. Fails if the element is gone.
restart_firefoxRestart Firefox with different configuration. Allows changing binary path, environment variables, and other options. All current tabs will be closed.
screencast_startStart 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_stopStop an in-progress screencast recording started with screencast_start and finalize the video file. Returns the path to the saved file.
screenshot_by_uidread-onlyCapture element screenshot by UID as base64 PNG.
screenshot_pageread-onlyCapture viewport screenshot as base64 PNG. Set fullPage for the whole scrollable document.
select_pageSelect active tab by index, URL, or title. Index takes precedence.
select_privileged_contextSelect a privileged browsing context by ID and set WebDriver Classic context to "chrome" . Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.
send_bidi_commandSend 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_behaviorControl 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_prefsSet Firefox preferences at runtime a privileged API. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1 env var.
set_logpointSet 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_cacheControl 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_sizeSet viewport dimensions in pixels.
take_snapshotread-onlyCapture 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_textType 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_extensionUninstall 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_uidUpload 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
- Packages
- npm @mozilla/firefox-devtools-mcp
- License
- MIT OR Apache-2.0
- Repository
- github.com/mozilla/firefox-devtools-mcp
- 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)