
Selenium MCP (mcp-selenium)
Selenium WebDriver MCP server — cross-browser automation for Chrome, Firefox, Edge, and Safari.
Add to your client
Copy the config for your MCP client and paste it into its config file.
npx -y @angiejones/mcp-seleniumPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"selenium-mcp-mcp-selenium": {
"command": "npx",
"args": [
"-y",
"@angiejones/mcp-selenium"
]
}
}
}Before you start
- Node.js with npm (the server runs via npx or a global install)
- A supported browser installed locally: Chrome, Firefox, Edge, or Safari
- Matching WebDriver where needed (e.g. chromedriver). Safari requires macOS, a one-time `sudo safaridriver --enable`, and 'Allow Remote Automation' turned on; Safari has no headless mode
- No API key or account — authentication is none
About Selenium MCP (mcp-selenium)
mcp-selenium is a Model Context Protocol server by Angie Jones that lets an AI agent drive a real browser through Selenium WebDriver. It supports Chrome, Firefox, Edge, and Safari, and exposes the full WebDriver toolkit — starting sessions, navigating, finding and interacting with elements, sending keys, taking screenshots, running JavaScript, and managing windows, frames, alerts, and cookies.
Unlike cloud-browser MCPs, this runs locally and automates browsers installed on your own machine, so there's no API key and no per-request billing — you just need Node.js and the relevant browser/driver. That makes it a good fit for local end-to-end testing, form-filling, and scraping where you want full control and no third-party dependency.
It also surfaces MCP resources (browser-status://current and accessibility://current) and a diagnostics tool backed by WebDriver BiDi. Install it via npx, a global npm install, or one-line client commands for Claude Code and Goose.
Tools & capabilities (18)
start_browserLaunch a browser session (Chrome, Firefox, Edge, or Safari).
navigateNavigate the current session to a URL.
interactPerform mouse actions: click, double-click, right-click, or hover on an element.
send_keysType text into an input element.
press_keyPress a keyboard key (e.g. Enter, Tab).
get_element_textRead the text content of an element.
get_element_attributeRead an attribute value from an element.
upload_fileUpload a file via a file input element.
take_screenshotCapture a screenshot of the current page.
execute_scriptRun arbitrary JavaScript in the page.
windowManage browser windows and tabs.
frameSwitch focus between iframes/frames.
alertHandle JavaScript dialogs (accept/dismiss/read).
add_cookieAdd a cookie to the session.
get_cookiesRetrieve cookies from the session.
delete_cookieDelete a cookie from the session.
diagnosticsAccess WebDriver BiDi diagnostic data.
close_sessionClose the browser session.
When to use it
- Use it when you want an agent to run local end-to-end browser tests without paying for a cloud browser.
- Use it when you need cross-browser coverage — Chrome, Firefox, Edge, and Safari on your own machine.
- Use it when a task requires real element interaction: clicking, typing, file uploads, frames, and alerts.
- Use it when you want full control with no API key, account, or per-request billing.
- Use it when you need to inspect the accessibility tree or BiDi diagnostics during automation.
Quick setup
- 1Ensure Node.js and a supported browser (plus its driver, e.g. chromedriver) are installed.
- 2Add the server to your client — e.g. `claude mcp add selenium -- npx -y @angiejones/mcp-selenium@latest`, or configure command "npx" with args ["-y", "@angiejones/mcp-selenium@latest"] in Cursor/Windsurf.
- 3For Safari, run `sudo safaridriver --enable` once and enable 'Allow Remote Automation'.
- 4Restart your MCP client.
- 5Verify by asking the client to start_browser and navigate to a URL.
Security notes
Requires a matching browser and WebDriver installed locally; the agent drives a real browser that can reach any site. Avoid pointing it at sites with sensitive logged-in sessions unless you intend the agent to act on them.
Selenium MCP (mcp-selenium) FAQ
Does it need an API key?
No. It automates browsers installed locally on your machine, so there's no account, API key, or per-request cost — just Node.js and the browser/driver.
Which browsers are supported?
Chrome, Firefox, Edge, and Safari. Safari requires macOS, a one-time `sudo safaridriver --enable`, and 'Allow Remote Automation' enabled, and it cannot run headless.
How do I install it for Claude Code?
Run `claude mcp add selenium -- npx -y @angiejones/mcp-selenium@latest`. There's also a one-click Goose link and a global `npm install -g @angiejones/mcp-selenium` option.
Is this an official Selenium project?
No. It's a community-maintained server by Angie Jones (MIT-licensed) that builds on the Selenium WebDriver libraries; it isn't published by the Selenium project itself.
Why does my session fail to start?
Most often the matching WebDriver isn't installed or doesn't match the browser version (e.g. chromedriver). Ensure the browser and its driver are installed and on PATH, and for Safari that remote automation is enabled.
Alternatives to Selenium MCP (mcp-selenium)
All-in-one web access MCP — Web Unlocker, SERP, Scraper API, and a cloud Scraping Browser.
Popular community Playwright + API testing MCP server with codegen, screenshots, and device emulation.
Official Browserbase cloud-browser MCP built on Stagehand — natural-language act/extract/observe.
Compare Selenium MCP (mcp-selenium) with: