Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEVTOOLS_FLEET_HOMENoMoves the whole ~/.devtools-fleet directory to another location.
DEVTOOLS_FLEET_CHANNELNoChrome release channel: stable, beta, dev or canary. Default: stable.stable
DEVTOOLS_FLEET_SESSIONNoReplaces the process-tree session lookup with a fixed label, useful in CI or containers.
DEVTOOLS_FLEET_HEADLESSNoWhether to launch browsers headless. Default: true.true
DEVTOOLS_FLEET_VIEWPORTNoDefault viewport, e.g. "1280x720". No default.
DEVTOOLS_FLEET_CHROME_PATHNoPath to a Chromium/Chrome build. Default: detected.
DEVTOOLS_FLEET_MAX_BROWSERSNoMaximum number of browsers across the machine. Default: 10.10
DEVTOOLS_FLEET_LAUNCH_TIMEOUT_SECONDSNoLaunch timeout in seconds. Default: 30.30
DEVTOOLS_FLEET_ORPHAN_TIMEOUT_MINUTESNoHow long a dropped connection's browser waits for a reconnect, in minutes. Default: 15.15

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
browser_startA

Start this session's own Chrome (isolated from every other agent). Optional: the first browser tool call starts one with defaults anyway. Call it explicitly to load a saved login (state), to pick headless/viewport/channel, or to open a URL. A browser started from a state can only visit that state's allowed origins. If this session already had a browser before a reconnect, it is picked up again with its tabs.

browser_statusA

Show this session's browser: id, saved state, allowlist, headless, open tabs, uptime.

browser_restartA

Relaunch this session's browser keeping cookies, localStorage and open tabs. Pass headless: false to get a visible window (e.g. so the human can watch or solve a captcha), headless: true to hide it again. Pages reload.

browser_stopA

Close this session's browser and delete its temporary profile.

state_saveA

Save the current browser's login (cookies + localStorage) as a named state, so other sessions can start already logged in. Only cookies for the allowed origins are kept. allowedOrigins defaults to the http(s) origins open in tabs; it can never be wider than this browser's own allowlist. States a person created with devtools-fleet login cannot be overwritten.

state_listA

List saved login states: name, allowed origins, cookie counts, when saved and when the first cookie expires. Never shows cookie values.

clickC

Clicks on the provided element

close_pageA

Closes the page by its index. The last open page cannot be closed.

dragC

Drag an element onto another element

emulateC

Emulates various features on the target page.

evaluate_scriptB

Evaluate a JavaScript function inside the target page. Returns the response as JSON, so returned values have to be JSON-serializable.

fillC

Type text into an input, text area or select an option from a element.

fill_formA

Fill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual 'fill' or 'click' calls when interacting with forms. It is significantly faster, more reliable, and reduces turn count. Example: Fill username, password, and check "Remember Me" in one call.

get_console_messageA

Gets a console message by its ID. You can get all messages by calling list_console_messages.

get_css_stylesA

Retrieve matched CSS rules, inline styles, inherited styles, and cascade information for an element identified by its UID. Use this tool to debug why specific CSS properties are applied, overridden, or conflicting. Results are paginated and return 10 rules per page by default; use pageIdx to page through the remaining rules. Requires a UID from take_snapshot.

get_network_requestB

Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. Useful for inspecting request headers (including 'Cookie') and response headers (including 'Set-Cookie' and directives).

handle_dialogC

If a browser dialog was opened, use this command to handle it

hoverC

Hover over the provided element

lighthouse_auditA

Get Lighthouse score and reports for accessibility, SEO, best practices, and agentic browsing. This excludes performance. For performance audits, run performance_start_trace

list_console_messagesB

List all console messages for the target page since the last navigation.

list_network_requestsB

Lists the most recent requests for the target page since the last navigation.

list_pagesB

Get a list of pages open in the browser.

navigate_pageB

Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise.

new_pageB

Open a new tab and load a URL. Use project URL if not specified otherwise.

performance_analyze_insightB

Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording.

performance_start_traceA

Start a performance trace on the target webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed.

performance_stop_traceB

Stop the active performance trace recording on the target webpage.

press_keyA

Press a key or key combination. Use this when other input methods like fill() cannot be used (e.g., keyboard shortcuts, navigation keys, or special key combinations).

resize_pageB

Resizes the page's window so that the page has specified dimension

select_pageB

Select a page as a context for future tool calls.

take_heapsnapshotA

Capture a heap snapshot of the target page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.

take_screenshotC

Take a screenshot of the page or element.

take_snapshotA

Take a text snapshot of the target page based on the a11y tree. The snapshot lists page elements along with a unique identifier (uid). Always use the latest snapshot. Prefer taking a snapshot over taking a screenshot. The snapshot indicates the element selected in the DevTools Elements panel (if any).

type_textA

Type text using keyboard into a previously focused input

upload_fileC

Upload a file through a provided element.

wait_forC

Wait for the specified text to appear on the selected page.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 36 tools

Disambiguation4/5

Most tools target distinct resources or actions, such as take_snapshot vs take_screenshot and list_console_messages vs get_console_message. However, the input family (click, fill, fill_form, type_text, press_key) has some overlapping boundaries, though descriptions clarify preferred usage.

Naming Consistency4/5

The set is predominantly snake_case and verb_noun (close_page, list_pages, take_snapshot). A minority use noun-first or noun-verb ordering (browser_status, state_save, performance_start_trace), which is a minor deviation but still readable.

Tool Count4/5

36 tools is high, but the domain (full browser automation and DevTools) legitimately requires separate tools for lifecycle, pages, input, inspection, performance, network, console, and state. It is slightly over the typical 3-15 range but each tool earns its place.

Completeness5/5

The surface covers browser lifecycle, navigation, page/tab management, input, a11y snapshots, screenshots, console, network, CSS, performance tracing, Lighthouse, memory heap, dialogs, file upload, emulation, and login states. No obvious lifecycle gaps for a DevTools automation server.

Maintenance

ActivityMaintained
ResponsivenessNo issues