1. Conduid
  2. Browser
  3. Selenium
MCP server · Browser

Selenium

An MCP implementation for Selenium WebDriver

Unclaimed MIT last commit 7 months ago browser
55Fair

Scored 22 hours ago · breakdown

About Selenium

Selenium is an MCP server published by angiejones in the Browser category: an MCP implementation for Selenium WebDriver.

The repository has 428 stars and 120 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

Claude Code
claude mcp add selenium-12f5 -- npx -y @angiejones/mcp-selenium
npx
npx -y @angiejones/mcp-selenium

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Selenium

Powered by Claude · Grounded in docs

I know everything about Selenium. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 21 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.

1 check has not been run yet.

Releases

v0.2.3v0.2.3 · 23 Feb 2026What's Changed discouraging use of screenshots for verification by @angiejones in https://github.com/angiejones/mcp-selenium/pull/66 Full Changelog: https://github.com/angiejones/mcp-selenium/compare/v0.2.2...v0.2.3
v0.2.2v0.2.2 · 23 Feb 2026Add server instructions to guide agents toward using accessibility://current resource Update take_screenshot tool description to prefer accessibility snapshot over screenshots Fix McpServer constructor to pass instructions in ServerOptions…
v0.2.1v0.2.1 · 22 Feb 2026What's Changed feat: accessibility tree by @angiejones in https://github.com/angiejones/mcp-selenium/pull/64 Full Changelog: https://github.com/angiejones/mcp-selenium/compare/v0.2.0...v0.2.1
v0.2.0v0.2.0 · 22 Feb 2026What's Changed Add AGENTS.md for AI agent onboarding and MCP spec compliance by @angiejones in https://github.com/angiejones/mcp-selenium/pull/47 fix: use By.tagName() for tag locator strategy by @angiejones in…

README

MCP Selenium Server

A Model Context Protocol (MCP) server for Selenium WebDriver — browser automation for AI agents.

Watch the video

Setup

Paste into your browser address bar:

goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium%40latest&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactions
goose session --with-extension "npx -y @angiejones/mcp-selenium@latest"
claude mcp add selenium -- npx -y @angiejones/mcp-selenium@latest
{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": ["-y", "@angiejones/mcp-selenium@latest"]
    }
  }
}

Example Usage

Tell the AI agent of your choice:

Open Chrome, go to github.com/angiejones, and take a screenshot.

The agent will call Selenium's APIs to start_browser, navigate, and take_screenshot. No manual scripting or explicit directions needed.

Supported Browsers

Chrome, Firefox, Edge, and Safari.

Safari note: Requires macOS. Run sudo safaridriver --enable once and enable "Allow Remote Automation" in Safari → Settings → Developer. No headless mode.


start_browser

Launches a browser session.

Parameter Type Required Description
browser string Yes chrome, firefox, edge, or safari
options object No { headless: boolean, arguments: string[] }

navigate

Navigates to a URL.

Parameter Type Required Description
url string Yes URL to navigate to

interact

Performs a mouse action on an element.

Parameter Type Required Description
action string Yes click, doubleclick, rightclick, or hover
by string Yes Locator strategy: id, css, xpath, name, tag, class
value string Yes Value for the locator strategy
timeout number No Max wait in ms (default: 10000)

send_keys

Types text into an element. Clears the field first.

Parameter Type Required Description
by string Yes Locator strategy
value string Yes Locator value
text string Yes Text to enter
timeout number No Max wait in ms (default: 10000)

get_element_text

Gets the text content of an element.

Parameter Type Required Description
by string Yes Locator strategy
value string Yes Locator value
timeout number No Max wait in ms (default: 10000)

get_element_attribute

Gets an attribute value from an element.

Parameter Type Required Description
by string Yes Locator strategy
value string Yes Locator value
attribute string Yes Attribute name (e.g., href, value, class)
timeout number No Max wait in ms (default: 10000)

press_key

Presses a keyboard key.

Parameter Type Required Description
key string Yes Key to press (e.g., Enter, Tab, a)

upload_file

Uploads a file via a file input element.

Parameter Type Required Description
by string Yes Locator strategy
value string Yes Locator value
filePath string Yes Absolute path to the file
timeout number No Max wait in ms (default: 10000)

take_screenshot

Captures a screenshot of the current page.

Parameter Type Required Description
outputPath string No Save path. If omitted, returns base64 image data.

close_session

Closes the current browser session. No parameters.

execute_script

Executes JavaScript in the browser. Use for advanced interactions not covered by other tools (e.g., drag and drop, scrolling, reading computed styles, DOM manipulation).

Parameter Type Required Description
script string Yes JavaScript code to execute
args array No Arguments accessible via arguments[0], etc.

window

Manages browser windows and tabs.

Parameter Type Required Description
action string Yes list, switch, switch_latest, or close
handle string No Window handle (required for switch)

frame

Switches focus to a frame or back to the main page.

Parameter Type Required Description
action string Yes switch or default
by string No Locator strategy (for switch)
value string No Locator value (for switch)
index number No Frame index, 0-based (for switch)
timeout number No Max wait in ms (default: 10000)

alert

Handles browser alert, confirm, or prompt dialogs.

Parameter Type Required Description
action string Yes accept, dismiss, get_text, or send_text
text string No Text to send (required for send_text)
timeout number No Max wait in ms (default: 5000)

add_cookie

Adds a cookie. Browser must be on a page from the cookie's domain.

Parameter Type Required Description
name string Yes Cookie name
value string Yes Cookie value
domain string No Cookie domain
path string No Cookie path
secure boolean No Secure flag
httpOnly boolean No HTTP-only flag
expiry number No Unix timestamp

get_cookies

Gets cookies. Returns all or a specific one by name.

Parameter Type Required Description
name string No Cookie name. Omit for all cookies.

delete_cookie

Deletes cookies. Deletes all or a specific one by name.

Parameter Type Required Description
name string No Cookie name. Omit to delete all.

diagnostics

Gets browser diagnostics captured via WebDriver BiDi (auto-enabled when supported).

Parameter Type Required Description
type string Yes console, errors, or network
clear boolean No Clear buffer after returning (default: false)

MCP resources provide read-only data that clients can access without calling a tool.

browser-status://current

Returns the current browser session status (active session ID or "no active session").

Property Value
MIME type text/plain
Requires browser No

accessibility://current

Returns an accessibility tree snapshot of the current page — a compact, structured JSON representation of interactive elements and text content. Much smaller than full HTML. Useful for understanding page layout and finding elements to interact with.

Property Value
MIME type application/json
Requires browser Yes

Setup

git clone https://github.com/angiejones/mcp-selenium.git
cd mcp-selenium
npm install

Run Tests

npm test

Requires Chrome + chromedriver on PATH. Tests run headless.

Install via Smithery

npx -y @smithery/cli install @angiejones/mcp-selenium --client claude

Install globally

npm install -g @angiejones/mcp-selenium
mcp-selenium

License

MIT

README fetched from the repository 21 hours ago. The original is authoritative.

Questions

About Selenium

How do I install Selenium?

Run claude mcp add selenium-12f5 -- npx -y @angiejones/mcp-selenium, then add the server to your MCP client's configuration.

Is Selenium safe to use with an AI agent?

Its trust score is 55 out of 100 (fair). It passes 5 of the 5 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Selenium still maintained?

The last commit was 7 months ago and 5 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.