selenium-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SMCP_DEBUG | No | Verbose debug logging (true/false). | false |
| SMCP_BROWSER | No | Default browser (chrome/firefox). | chrome |
| SMCP_HEADLESS | No | Run headless (true/false). | true |
| SMCP_LOG_LEVEL | No | Log level (e.g., INFO, DEBUG). | INFO |
| SMCP_CONFIG_FILE | No | Path to custom YAML config file. | |
| SMCP_BIDI_ENABLED | No | Enable BiDi WebSocket (true/false). | true |
| SMCP_MAX_SESSIONS | No | Max concurrent sessions. | 5 |
| SMCP_SCREENSHOT_DIR | No | Screenshot output directory. | screenshots/ |
| SMCP_SCREENSHOT_ON_ERROR | No | Auto-screenshot on errors (true/false). | 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_sessionC | Create a new browser session. Defaults to Chrome headless. |
| close_sessionC | Close a browser session by ID. |
| list_sessionsA | List all active browser sessions. |
| get_session_infoC | Get metadata for a browser session. |
| open_pageC | Navigate the browser to a URL. |
| navigate_backC | Go back in browser history. |
| navigate_forwardC | Go forward in browser history. |
| get_domC | Return the full page HTML source. |
| clickB | Click a DOM element by CSS selector. |
| type_textB | Clear an input and type text into it. |
| get_textB | Get the visible inner text of an element. |
| get_attributeB | Get an attribute value from a DOM element (e.g. href, value, class). |
| press_keyB | Press a keyboard key (e.g. Enter, Tab, Escape). Optionally target a specific element. |
| wait_forB | Wait until a CSS selector is visible on the page. |
| wait_for_dom_stableC | Wait until the DOM stops mutating (smart wait for AJAX content). |
| execute_jsC | Execute JavaScript in the browser and return the result. |
| screenshotC | Capture a base64-encoded PNG screenshot of the current viewport. |
| get_console_logsB | Return all captured browser console log entries. |
| get_network_logsC | Return all captured network request/response entries. |
| get_performance_metricsC | Return page performance timing data. |
| intercept_requestsC | Register a URL pattern for network interception (log or block). |
| windowC | Manage browser windows and tabs. Actions: list, switch, switch_latest, close. |
| frameC | Switch focus to a frame or back to the main page. Actions: switch, default. |
| alertB | Handle browser alert/confirm/prompt dialogs. Actions: accept, dismiss, get_text, send_text. |
| add_cookieC | Add a cookie. Browser must be on a page from the cookie's domain. |
| get_cookiesC | Get cookies. Returns all or a specific one by name. |
| delete_cookieC | Delete cookies. Deletes all or a specific one by name. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Current Page Accessibility Tree | A compact, structured JSON representation of interactive elements and text content on the current page. Much smaller than full HTML. Useful for understanding page layout and finding elements. |
| Browser Session Status | Returns the current browser session status including URL, title, window count, and active session info. |
TDQS
Scored across 27 tools
Every tool has a clearly distinct purpose, from navigation (open_page, navigate_back) to element interaction (click, type_text, press_key) to session management. Even similar tools like wait_for and wait_for_dom_stable are differentiated by descriptions.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., add_cookie, get_text, wait_for_dom_stable). Even single-word names like 'alert' and 'click' align with the pattern as short verbs.
27 tools is on the higher side but reasonable for a comprehensive browser automation server. The number covers essential operations across sessions, navigation, elements, cookies, and debugging, without feeling bloated.
The tool surface covers all core browser automation tasks: navigation, element interaction, JavaScript execution, cookies, frames, windows, alerts, performance/network/console logs, and waiting. Minor gaps exist (e.g., file uploads, drag-and-drop) but these are advanced features not critical for most workflows.