Skip to main content
Glama

selenium-mcp

Selenium MCP server for AI agents — 39 tools for real-browser automation: navigation, clicking, typing, assertions, screenshots, multi-session management, page snapshots with stable element refs, persistent selector hints, and batched multi-step execution.

npm version npm downloads CI license node

Built with TypeScript, the official MCP SDK, and Selenium WebDriver — strict zod input validation, explicit waits, and structured responses designed for LLM agents.

One-Click Install

Install in Cursor Install in VS Code Install in VS Code Insiders

Setup

claude mcp add selenium -- npx -y @gaforov/selenium-mcp@latest

Add to your client's MCP config (e.g. claude_desktop_config.json or .cursor/mcp.json):

{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": ["-y", "@gaforov/selenium-mcp@latest"]
    }
  }
}
code --add-mcp '{"name":"selenium","command":"npx","args":["-y","@gaforov/selenium-mcp@latest"]}'
goose session --with-extension "npx -y @gaforov/selenium-mcp@latest"

Settings → Tools → AI Assistant → Model Context Protocol → Add, with command npx and arguments -y @gaforov/selenium-mcp@latest. Full walkthrough in docs/CLIENT_INTEGRATION.md.

git clone https://github.com/gaforov/selenium-mcp.git
cd selenium-mcp
npm install
npm run build

Then point your MCP client at node /absolute/path/to/selenium-mcp/dist/server.js.

Related MCP server: Rod MCP Server

Example Usage

Ask your AI agent:

Use selenium-mcp to open Chrome, go to https://example.com, read the page title, take a screenshot, and close the browser.

The agent chains start_browsernavigateget_titletake_screenshotstop_browser on its own — no scripting needed.

Requirements

  • Node.js 20+

  • Chrome, Firefox, or Edge installed (Selenium Manager provisions the matching driver automatically)

How it compares

Most Selenium MCP servers wrap WebDriver's basic commands. This one adds the layer that makes agents reliable:

Capability

selenium-mcp

Typical Selenium MCP servers

Page snapshot with stable element refs (capture_page)

rare

Persistent per-domain selector memory (selector_hint_*)

Parallel multi-session browsing

rare

Batched multi-step execution in one call

Built-in test assertions

some

Tool-call tracing (NDJSON audit log)

Strict input validation + structured errors

varies

Why selenium-mcp

  • Snapshot-first workflowscapture_page returns a page snapshot with stable element refs the agent can act on directly, no brittle selector guessing

  • Selector hints — persist working locators per domain so repeat automations get faster and more reliable over time

  • Batched executionbatch_execute runs constrained multi-step sequences in a single tool call, cutting round-trips

  • Multi-session — create, select, list, and destroy parallel browser sessions

  • Agent-friendly errors — every response is structured and validated with zod, so agents can recover instead of stalling

  • Optional tracing — NDJSON trace of every tool call for debugging and auditing

Tools (39)

Category

Tools

Browser lifecycle

start_browser, stop_browser, session_create, session_select, session_list, session_destroy

Navigation

open_url, navigate, get_current_url, get_title

Element discovery

find_element, wait_for_element, wait_until_visible, capture_page, get_page_source

Interaction

click, retry_click, interact (hover/double/right-click), type, press_key, upload_file

Reading

get_text, get_attribute

Assertions

assert_text, assert_visible, assert_attribute

Scripting

execute_script, batch_execute

Selector hints

selector_hint_save, selector_hint_get, selector_hint_list, selector_hint_delete

Windows & context

window, frame, alert

Cookies

add_cookie, get_cookies, delete_cookie

Capture

take_screenshot

Full parameter documentation: docs/TOOL_REFERENCE.md

MCP Resources

  • browser-status://current — live browser/session status

  • accessibility://current — accessibility snapshot of the current page

Optional Tracing

Enable lightweight NDJSON tracing of all tool calls:

SELENIUM_MCP_TRACE=true
SELENIUM_MCP_TRACE_PATH=./logs/selenium-mcp-trace.ndjson

If SELENIUM_MCP_TRACE_PATH is omitted, the default is logs/selenium-mcp-trace.ndjson.

Documentation

Contributing

Contributions are welcome — bug reports, feature requests, and pull requests. See CONTRIBUTING.md to get started.

npm run typecheck
npm run build
npm test

License

MIT. See LICENSE.

Install Server
A
license - permissive license
B
quality
A
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
5Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables AI agents to automate web tasks such as browsing, clicking, typing, and taking screenshots via the Model Context Protocol.
    Last updated
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

View all MCP Connectors

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/gaforov/selenium-mcp'

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