Skip to main content
Glama
AbyvargheseMandapathel

Selenium MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SELENIUM_BROWSERNoThe default browser to use when launching a session. Example value: 'chrome'.chrome
SELENIUM_HEADLESSNoControls whether the browser runs in headless mode by default. Set to 'false' to open visible windows, 'true' to run silently in the background. Defaults to 'true'.true

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
launch_browserA

Launch a browser instance (Chrome, Firefox, Edge) with optional headless mode, viewport dimensions, proxy, and custom arguments.

close_browserA

Close the active Selenium browser session and free resources.

navigateA

Navigate the active browser to a specified URL.

get_current_urlA

Get current page URL and page title.

navigate_historyA

Perform browser navigation actions: back, forward, or refresh.

set_window_sizeA

Set browser window width and height in pixels.

click_elementC

Click an element matching selector strategy (css, xpath, id, name, text, partialText).

fill_elementA

Type text into an input or textarea element.

clear_elementA

Clear text from an input or textarea element.

hover_elementB

Hover mouse over a target element.

select_dropdownB

Select an option in a HTML dropdown by value, visible text, or index.

press_keyA

Send special keyboard keys (ENTER, TAB, ESCAPE, BACK_SPACE, ARROWS, etc.) to page or element.

get_page_contentA

Retrieve text, full HTML source, or interactive structure outline of current page.

find_elementsA

Find and inspect elements matching a selector, returning tag, text, attributes, and visibility.

get_element_attributeA

Retrieve specific attribute or property (e.g. href, src, value, class) from an element.

take_screenshotA

Take a screenshot of the current page viewport or a specific element and return PNG image data.

execute_scriptA

Execute arbitrary JavaScript code in the browser page context and return the result.

wait_for_elementB

Wait until an element satisfies condition (present, visible, clickable, invisible).

manage_tabsA

Manage browser tabs: list active tabs, switch tab, open new tab, or close tab.

manage_cookiesC

Manage browser cookies: get_all, get, set, delete, or delete_all.

switch_frameB

Switch execution context to an iframe, parent frame, or default document.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 21 tools

Disambiguation5/5

Each tool targets a distinct browser automation action: lifecycle, navigation, element interaction, query, and context management. Even similar tools like get_page_content, find_elements, and get_element_attribute are clearly separated by page-level, element-level, and attribute-level scope.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern, such as launch_browser, click_elament, manage_tabs, and switch_frame. The single deviation, navigate_istory, still preserves the verb-object structure.

Tool Count3/5

With 21 tools, the set falls into the 16-25 heavy range. While each tool represents a real Selenium operation, some could be consolidated (e.g., clear_element into fill_element), making the collection feel slightly over-scoped for an MCP server.

Completeness4/5

The tool surface covers the full browser lifecycle: launch, navigate, interact, query, and close, plus tabs, cookies, frames, wait conditions, and script execution. Missing advanced features like alert handling or drag-and-drop are workable via execute_cript or represent edge cases, but they are notable omissions.

Maintenance

ActivityMaintained
ResponsivenessNo issues