Skip to main content
Glama
freema

Firefox DevTools MCP

by freema

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
START_URLNoOpen this URL on start.
ENABLE_SCRIPTNoEnable the evaluate_script tool. Set to 'true' to enable.
ANDROID_PACKAGENoAndroid app package name. Default is 'org.mozilla.firefox'.
MARIONETTE_PORTNoMarionette port for connect-existing mode. Default is 2828.
CONNECT_EXISTINGNoAttach to an already-running Firefox instead of launching a new one. Set to 'true' to enable.
FIREFOX_HEADLESSNoRun without UI. Set to 'true' to enable headless mode.
ACCEPT_INSECURE_CERTSNoIgnore TLS errors. Set to 'true' to accept insecure certificates.
ENABLE_PRIVILEGED_CONTEXTNoEnable privileged context tools. Set to 'true' to enable. Requires MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_pagesA

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

new_pageB

Open new tab at URL. Returns tab index.

navigate_pageC

Navigate selected tab to URL.

select_pageA

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

close_pageB

Close tab by index.

get_page_textA

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

take_snapshotA

Capture DOM snapshot with stable UIDs. Retake after navigation. Output caps at maxLines (default 100); scope with selector or dump the full tree with saveTo.

resolve_uid_to_selectorA

Resolve UID to CSS selector. Fails if stale.

clear_snapshotB

Clear snapshot cache. Usually not needed.

click_by_uidB

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

hover_by_uidA

Hover over element by UID.

fill_by_uidC

Fill text input/textarea by UID.

drag_by_uid_to_uidA

Drag element to another (HTML5 drag events).

fill_form_by_uidC

Fill multiple form fields at once.

upload_file_by_uidB

Upload file to file input by UID.

screenshot_pageA

Capture page screenshot as base64 PNG.

screenshot_by_uidA

Capture element screenshot by UID as base64 PNG.

list_downloadsA

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

clear_downloadsB

Clear the tracked downloads buffer.

set_download_behaviorA

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.

accept_dialogA

Accept browser dialog. Provide promptText for prompts.

dismiss_dialogA

Dismiss browser dialog.

navigate_historyA

Navigate history back/forward. UIDs become stale.

set_viewport_sizeC

Set viewport dimensions in pixels.

get_firefox_outputA

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_infoA

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

restart_firefoxA

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

install_extensionA

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

uninstall_extensionA

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

screencast_startA

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_stopA

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

evaluate_scriptA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/freema/firefox-devtools-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server