@mozilla/firefox-devtools-mcp
Model Context Protocol (MCP) server that lets AI agents browse the web and debug web pages with Firefox
npm · fingerprint 3932f40af27a3281d92bc00d · repository · RSS
35tools
3recorded versions
45dtracked
changed 2d ago
What changed
Changed 2026-10-16 11:12 UTC
1 tool added.
+ tool added: print_page
Changed 2026-10-05 14:18 UTC
2 descriptions rewritten, 2 schema or annotation changes with the description left byte-identical, 3 tools added, 1 tool removed.
+ tool added: close_firefox_session
--- pinned/navigate_page +++ observed/navigate_page { "annotations": { "readOnlyHint": false + }, + "wait": { + "description": "When to return: 'none' (navigation started), 'interactive' (DOMContentLoaded), 'complete' (load event fired, including subresources). Omit for the default: 'interactive' for http/https/data/blob/file, 'none' for other schemes. Use 'complete' when the page must be fully loaded, e.g. before stopping a performance recording.", + "enum": [ + "none", + "interactive", + "complete" + ], + "type": "string" } }, "required": [
--- pinned/new_page +++ observed/new_page { "annotations": { "readOnlyHint": false + }, + "wait": { + "description": "When to return: 'none' (navigation started), 'interactive' (DOMContentLoaded), 'complete' (load event fired, including subresources). Omit for the default: 'interactive' for http/https/data/blob/file, 'none' for other schemes. Use 'complete' when the page must be fully loaded, e.g. before stopping a performance recording.", + "enum": [ + "none", + "interactive", + "complete" + ], + "type": "string" } }, "required": [
+ tool added: press_key
--- pinned/screenshot_page +++ observed/screenshot_page { "annotations": { "readOnlyHint": true - "description": "Capture page screenshot as base64 PNG.", + "description": "Capture viewport screenshot as base64 PNG. Set fullPage for the whole scrollable document.", "inputSchema": { "properties": { + "fullPage": { + "description": "Capture the whole scrollable document (default: false)", + "type": "boolean" + }, "saveTo": { "description": "Save the screenshot to a file instead of returning it as image data in the response. Pass a file path, an existing directory (generated file inside), or true (generated file under ~/.firefox-devtools-mcp/output/). Relative paths resolve against the current working directory.", "type": [
--- pinned/set_download_behavior +++ observed/set_download_behavior { - "description": "Control how downloads are handled: allow (save silently to the default download directory), deny (cancel), or reset to default. Avoids the native save-file dialog. Requires a recent Firefox.", + "description": "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.", "inputSchema": { "properties": { "behavior": { - "description": "'allowed' saves downloads automatically, 'denied' cancels them, 'default' resets to the browser default", + "description": "'allowed' saves downloads to `downloadFolder`, 'denied' cancels them, 'default' resets to the browser default", "enum": [ "allowed", "denied", + }, + "downloadFolder": { + "description": "Path to the folder where downloads should be stored, created if missing. Only used for behavior='allowed', where it defaults to ~/.firefox-devtools-mcp/output/downloads. Relative paths resolve against the current working directory.", + "type": "string" } }, "required": [
+ tool added: type_text
tool removed: restart_firefox
Current tools
Show all 35 tool fingerprints
accept_dialog
clear_downloads
clear_snapshot
click_by_uid
close_firefox_session
close_page
dismiss_dialog
drag_by_uid_to_uid
evaluate_script
fill_by_uid
fill_form_by_uid
get_firefox_info
get_firefox_output
get_page_text
hover_by_uid
install_extension
list_downloads
list_pages
navigate_history
navigate_page
new_page
press_key
print_page
resolve_uid_to_selector
screencast_start
screencast_stop
screenshot_by_uid
screenshot_page
select_page
set_download_behavior
set_viewport_size
take_snapshot
type_text
uninstall_extension
upload_file_by_uid
Watch this server yourself
If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.
npx -y mcp-pin@0.2.3 -- <your @mozilla/firefox-devtools-mcp command>
Or subscribe to this page's RSS feed to be told when it changes.
Badge
The badge states one fact about time and nothing else. It never claims a server is safe.
[](https://mcp-pin.gautamkhosla.com/servers/75633492483fa7bc.html)