Skip to main content
Glama
surpasses
by surpasses

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FIREFOX_MCP_PORTNoPort for the WebDriver BiDi remote agent and MCP server. Overrides the default 9222 for both the Firefox launcher and the server.9222

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
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
tabs_contextA

List Firefox tabs (id, url, title, active). Call this first; tab ids are stable while the server runs.

tabs_createA

Open a new tab, optionally navigating to a URL. Returns its tab id.

tabs_closeC

Close a tab.

tabs_activateB

Bring a tab to the front.

navigateA

Navigate a tab to a URL, or 'back' / 'forward'. Waits for the load event (45 s cap).

resize_viewportA

Set the tab's viewport size in CSS pixels (e.g. 390x844 for phone).

screenshotB

Screenshot the visible viewport as PNG. region [x0,y0,x1,y1] crops (zoom). savePath also writes the file.

read_pageA

List page elements with refs for click/type/form_input. filter=interactive (default) lists controls and links; filter=all adds headings and text. Crosses into iframes (refs prefixed fN:).

findA

Find elements by text, label, placeholder, id, name or href (case-insensitive regex), or by CSS selector. Returns up to 20 refs per frame.

get_page_textA

Visible text of the page (innerText), including frames. Up to ~80k chars per frame.

evaluateA

Evaluate a JavaScript expression in the page (top frame by default) and return its value. Use frame (e.g. f1) to target an iframe. Never trigger alert/confirm/prompt.

clickA

Click an element by ref (scrolled into view first) or at viewport coordinates. count=2 double-clicks, count=3 triple-clicks (select paragraph). modifiers like 'shift' or 'cmd+shift'.

hoverA

Move the mouse over an element (by ref) or a point, to reveal menus and tooltips.

dragC

Drag with the left mouse button from one point to another.

typeA

Type text with real key events into the focused element, or into ref (clicked first). clear=true selects all and deletes first. pressEnter=true submits.

press_keyA

Press keys: 'Enter', 'Tab', 'Escape', 'ArrowDown', 'cmd+a', 'shift+Tab', or several space-separated ('Backspace Backspace Enter'). repeat repeats the whole sequence.

form_inputA

Set a form control's value directly (fires input/change): text/textarea, select (option text or value), checkbox/radio (true/false), contenteditable. Prefer type for fields that validate on keystrokes (card numbers).

scrollB

Scroll with the mouse wheel at a point (default viewport centre) or over a ref. amount = wheel ticks of 100px.

scroll_toA

Scroll an element (by ref) into the centre of the viewport.

waitA

Wait N seconds (max 10) for the page to settle.

read_consoleA

Console messages and uncaught errors buffered since the server connected. pattern is a regex filter; clear=true empties the buffer after reading.

read_networkB

Network requests buffered since the server connected: method, status, mime, url. pattern filters url/status/mime by regex.

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 22 tools

Disambiguation5/5

Each tool targets a distinct browser automation concern—tab management, navigation, element discovery, input, scrolling, and diagnostics—so an agent can reliably select the right one. Even similar tools like read_page and find have clear separation: one lists elements, the other searches by selector/text. No two tools appear to do the same job.

Naming Consistency3/5

Naming is readable but mixes conventions: tabs_* forms a clear prefix group, read_* and get_* group read operations, while interaction tools use bare verbs like click, type, scroll, and hover. This category-based pattern is understandable but not a uniform verb_noun convention.

Tool Count3/5

At 22 tools, the set is comprehensive but on the heavy side, falling into the borderline range for a single server. Most tools are individually justified for browser automation, yet some input-related tools (type, form_input, press_key) could potentially be consolidated.

Completeness4/5

The surface covers tab lifecycle, navigation, element interaction, scrolling, screenshots, scripting, and diagnostics, which is strong coverage for browser automation. Minor gaps like explicit cookie management, file upload, or waiting for a specific element exist, but agents can work around them with evaluate and wait.

Maintenance

ActivityMaintained
ResponsivenessNo issues