Selenium MCP logo

Selenium MCP

Automates real Chrome, Firefox, and Edge browsers through 41 agent-facing Selenium tools, sessions, snapshots, and assertions.

Install Selenium MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "selenium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@gaforov/selenium-mcp@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 41 tools correctly (17d ago).

Overview

The selenium-mcp MCP server gives AI agents access to real Chrome, Firefox, or Edge browsers through Selenium WebDriver. It provides 41 tools for navigation, page inspection, interaction, assertions, screenshots, sessions, selector hints, and batched actions. Agents can use page snapshots with stable element references instead of relying only on guessed selectors. Reach for it when browser workflows, responsive checks, multi-session automation, or browser-based testing need to be driven through MCP.

Use cases

  • Automate browser-based acceptance tests
  • Inspect dynamic pages with stable element references
  • Run responsive checks at exact viewport sizes
  • Manage parallel browser sessions
  • Trace agent-driven browser interactions

Key features

  • 41 Selenium browser automation tools
  • Stable page snapshots with element refs
  • Parallel multi-session management
  • Batched multi-step execution
  • Persistent per-domain selector hints
  • Optional NDJSON tool tracing

Tools41

What Selenium MCP lets your agent do. Expand a tool for its parameters.

Verified live~12.9k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

10/10 checks healthy over the last 57d

What it can do

From the 41 tools this server returned when we ran it.

Runs commands · 2Can delete or modify data · 4Writes files · 2Handles credentials · 6Makes network requests · 8Read-only tools · 33
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age173 days
Maintainers1

Observed 2026-10-22 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · @gaforov/selenium-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads303Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed41Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Selenium MCP works

What selenium-mcp MCP server does

The selenium-mcp MCP server exposes real-browser automation through the Model Context Protocol. It connects MCP clients to Selenium WebDriver and supports Chrome, Firefox, and Edge. Selenium Manager provisions the matching browser driver automatically when a supported browser is installed.

Its 41 tools cover the browser lifecycle, navigation, page inspection, user interactions, assertions, scripting, cookies, windows, frames, alerts, screenshots, and session management. Agents can open a browser, navigate to a URL, inspect the current page, interact with elements, verify results, and close the session without writing a separate automation script.

The server also exposes two MCP resources: browser-status://current for live browser and session status, and accessibility://current for an accessibility snapshot of the current page.

How it works

A typical workflow starts a browser session, navigates to a page, captures the page or finds an element, performs an action, and checks the result. capture_page produces a page snapshot with stable element references that later actions can use. This gives agents a structured view of the page before they click, type, select, or scroll.

Multiple browser sessions can be created, selected, listed, and destroyed. That supports parallel or separate browser contexts when one workflow must not reuse another session. batch_execute can run constrained multi-step sequences in one MCP call, reducing the number of agent round trips.

The implementation uses TypeScript, the official MCP SDK, Selenium WebDriver, strict Zod input validation, explicit waits, and structured responses. Tools include waits for elements, URLs, and page titles, which helps workflows handle redirects and dynamically rendered content.

Setup and configuration

The selenium-mcp MCP server requires Node.js 20 or newer and an installed Chrome, Firefox, or Edge browser. The package can be launched through npx:

config.json
{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": ["-y", "@gaforov/selenium-mcp@latest"]
    }
  }
}

Claude Code can add it with claude mcp add selenium -- npx -y @gaforov/selenium-mcp@latest. VS Code supports code --add-mcp with the same command and package arguments. JetBrains IDEs can add an MCP entry using npx and those arguments. From source, clone the repository, run npm install and npm run build, then point the client to dist/server.js.

Tracing is optional. Set SELENIUM_MCP_TRACE=true to enable NDJSON logging of tool calls. SELENIUM_MCP_TRACE_PATH changes the trace file location; without it, logs are written to logs/selenium-mcp-trace.ndjson.

Tools and capabilities

The selenium-mcp MCP server includes tools for:

  • Starting, stopping, creating, selecting, listing, and destroying browser sessions
  • Navigating, using back/forward/refresh, waiting for a URL or title, and reading the current URL or title
  • Finding elements, waiting for visibility, capturing page snapshots, and retrieving page source
  • Clicking, retrying clicks, hovering, double-clicking, right-clicking, typing, selecting options, scrolling, pressing keys, and uploading files
  • Reading text and attributes, taking screenshots, and running JavaScript
  • Asserting text, visibility, and attributes
  • Managing tabs, windows, viewport size, frames, alerts, and cookies
  • Saving, retrieving, listing, and deleting per-domain selector hints

Selector hints persist working locators by domain. Assertions and structured validation provide explicit results and errors for agent workflows.

Limitations and notes

This server controls installed desktop browsers rather than a browserless API. A compatible browser and Node.js 20+ are prerequisites.

SELENIUM_MCP_TRACE and SELENIUM_MCP_TRACE_PATH are optional configuration variables, not startup requirements. The project is licensed under MIT. The current release notes identify open_url and wait_until_visible as removed duplicates; use navigate and wait_for_element with visible: true instead.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Selenium MCP

selenium-mcp is an MCP server that connects AI agents to real Chrome, Firefox, and Edge browsers through Selenium WebDriver. Its main tools support navigation, page snapshots, clicking, typing, assertions, screenshots, browser sessions, selector hints, and batched multi-step execution. It requires Node.js 20 or newer.

Install it by configuring your MCP client to run `npx -y @gaforov/selenium-mcp@latest`. Claude Code supports `claude mcp add`, while VS Code, Claude Desktop, Cursor, Windsurf, and other clients can use an MCP configuration entry. Node.js 20+ and Chrome, Firefox, or Edge are required.

Yes, selenium-mcp works with Cursor through its MCP configuration. Add a server entry with command `npx` and arguments `-y @gaforov/selenium-mcp@latest`, or use the Cursor installation link provided by the project. The setup does not require a client-specific environment variable.

Enable tracing by setting `SELENIUM_MCP_TRACE=true`. Tool calls are then written as NDJSON; set `SELENIUM_MCP_TRACE_PATH` to choose the output file. If no path is supplied, the default is `logs/selenium-mcp-trace.ndjson`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSelenium MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/selenium-mcp?style=directory)](https://allmcps.com/mcp/selenium-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/selenium-mcp"><img src="https://allmcps.com/api/badge/selenium-mcp?style=directory" alt="Selenium MCP on AllMCPs" /></a>