Selenium MCP server
io.github.gaforov/selenium-mcp·v0.3.0Selenium MCP server for AI agents — 41 browser automation tools with snapshots and sessions.
0 stars298 downloads/wk
Reviews
Write oneNobody has reviewed Selenium yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Selenium tools (41, 7 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_cookieSet a cookie in the browser, e.g. a session or feature-flag cookie to skip a login screen or switch on a test mode.
alertHandle a native browser dialog opened by alert(), confirm(), or prompt(). While one is open, other page actions fail until it is handled.
assert_attributeTest step: check that an element's attribute or property equals (default), contains, or matches a regular expression,
assert_textTest step: check that an element's visible text equals, contains (default), or matches a regular expression.
assert_visibleTest step: check that an element becomes visible within timeoutMs, e.g. a success banner or a cart badge.
batch_executewrite actionRun up to 10 steps in one call. Supported actions: navigate, wait_for_element, wait_for_page, click, type, select_option, and execute_script,
capture_pageSnapshot the page's visible interactive elements and headings (links, buttons, inputs, selects, textareas, ARIA roles, h1-h4)
clickClick an element: waits until it is visible and enabled, then clicks it (scrolling it into view).
delete_cookiewrite actionDelete one cookie by name, or every cookie for the current page when name is omitted.
execute_scriptwrite actionRun synchronous JavaScript in the current page and return its result (use a return statement); arguments are available as arguments[0], arguments[1], ....
find_elementLook up one element and describe it: tag, visible text, and whether it is displayed and enabled. Waits for it to exist.
frameMove into or out of an iframe. Elements inside an iframe (embedded widgets, rich-text editors, payment fields) cannot be found by other tools until you switch into it.
get_attributeRead an attribute or property of an element, e.g. an input's value, a link's href, or whether it is disabled, checked, or aria-expanded.
get_cookiesRead the cookies the browser holds for the current page: all of them, or one by name.
get_current_urlReturn the URL of the current tab, including any query string and fragment.
get_page_sourceReturn the page's current HTML (the live DOM, including changes made by scripts), cut off at maxLength characters.
get_textRead the visible text of an element: what a user sees, not hidden text or an input's value.
get_titleReturn the current page's title, the text shown in the browser tab.
historyBrowser history navigation: go back to the previous page (like the Back button), go forward to the next page, or refresh/reload the current page (like F5).
interactMouse actions beyond a plain click: double_click, right_click (opens a context menu), hover (reveals menus and tooltips),
navigateOpen a URL in the current tab and wait for the page to load (up to the pageLoadTimeoutMs set in start_browser).
press_keyPress one key on whichever element currently has focus, e.g. Enter to submit, Tab to move focus, Escape to close a dialog, or arrow keys in a list.
retry_clickClick with retries, for clicks that fail intermittently: the element is covered by a loading overlay or animation,
scrollScroll the page: scroll down or up by pixels, jump to the top or bottom, or scroll an element into view (to the middle of the screen).
select_optionSelect an option in a native <select> dropdown by visible text, value, or zero-based index, and return the resulting selection.
selector_hint_deletewrite actionPermanently remove a saved selector hint from the hints file, e.g. when the site changed and the selector no longer works.
selector_hint_getLook up a saved selector by key for a site and return it, ready to pass as the selector of click, type, get_text, and similar tools.
selector_hint_listList saved selector hints (key, domain, and selector) for every site, or only for one domain.
selector_hint_saveRemember a selector that worked, under a short key for a site, so later runs can reuse it instead of rediscovering the element.
session_createwrite actionOpen an additional, independent browser session (its own window, cookies, and login state) and make it the active one; all other tools act on the active session.
session_destroywrite actionClose one browser session by id and quit its browser; its cookies, login state, and open pages are lost.
session_listList every open browser session (id, browser, headless, window size, start time) and which one is active.
session_selectMake an existing browser session the active one, so every following tool call acts on that browser.
start_browserStart a browser session (Chrome, Firefox, or Edge) that all other tools act on. Call this first.
stop_browserClose the active browser session and quit its browser; its cookies, login state, and open pages are lost.
take_screenshotCapture a PNG screenshot of the visible viewport. Returns it as base64 and/or saves it to savePath (folders are created as needed; an existing file is overwritten).
typeType text into an input, textarea, or other editable element. Waits for it to be visible, clears the current value first
upload_filewrite actionAttach a local file to a file input (<input type="file">) without opening the operating system's file picker.
wait_for_elementWait for an element to exist in the page, or with visible: true to also be displayed, then return its tag and state (displayed, enabled).
wait_for_pageWait until the current page's URL or title meets a condition: URL contains text, URL matches a regular expression, and/or title contains text (all given conditions must hold).
windowManage browser tabs and windows, and resize the viewport.
Public scan report
scanner v0.1.10 · 2026-10-03 · same rubric, same numbers if you re-run it
- Code scan45 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 21 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Selenium compares
Against every graded Scraping and browsing MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 85% of 866 Scraping and browsing servers
- Tools
- 41
- the typical Scraping and browsing server has 6
- Tools that change things
- 17%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 298
- more than 77% of 309 Scraping and browsing servers with a package
What its tools let an agent do: 31 read · 2 create · 4 change · 1 delete · 3 run or deploy
Install Selenium in Claude Code, Cursor or VS Code
Runs npx -y @gaforov/selenium-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add selenium-mcp -- npx -y @gaforov/selenium-mcp
What the publisher says
From the Selenium repository's README, as published. We do not edit it. Read it on GitHub
selenium-mcp
Selenium MCP server for AI agents — 41 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.
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
What's new in 0.3.0
- New tools: selectoption for dropdowns, scroll (including infinite-scroll pages and scrollable panels), history for back, forward, and refresh, and waitfor_page to wait for a URL or title after a redirect.
- Responsive testing: window can now resize the viewport to an exact size, such as a 390x844 phone, or maximize it.
- Better tool choice by AI agents: every tool and parameter now explains what it does, what it returns, and when to use a similar tool instead.
- Breaking: openurl and waituntilvisible were removed as duplicates. Use navigate, and waitfor_element with visible: true.
- Verified releases: every release is tested end to end against a real browser and published with npm provenance.
See the changelog for details.
Setup
Claude Code
claude mcp add selenium -- npx -y @gaforov/selenium-mcp@latestClaude Desktop / Cursor / Windsurf / other MCP clients
Add to your client's MCP config (e.g. claudedesktopconfig.json or .cursor/mcp.json):
{
"mcpServers": {
"selenium": {
"command": "npx",
"args": ["-y", "@gaforov/selenium-mcp@latest"]
}
}
}VS Code
code --add-mcp '{"name":"selenium","command":"npx","args":["-y","@gaforov/selenium-mcp@latest"]}'Goose
goose session --with-extension "npx -y @gaforov/selenium-mcp@latest"IntelliJ IDEA / JetBrains IDEs
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.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Selenium: common questions
- Is Selenium MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Selenium safety report
- How do I install Selenium?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Selenium need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Selenium maintained?
- The last commit was 52 days ago (2026-09-13). The latest release is v0.3.0.
- What can I use instead of Selenium?
- Servers from other publishers that do the same job: Actionbook MCP server, Slack MCP Server and Zenrows MCP server. Compare all Selenium alternatives.
- How does Selenium compare with other Scraping and browsing MCP servers?
- safety score 92/100 (higher than 85% of 866 Scraping and browsing servers); tools 41 (the typical Scraping and browsing server has 6); tools that change things 17% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Selenium
Same job from other publishers: the closest match first, then the best rated.
- ActionbookLet your AI agent operate any website through a real, logged-in browser session.not reviewedEstablishedA
Slack MCP ServerCatch up on Slack without reading it. Unreads, threads, search. Browser-session or hosted OAuth.not reviewedEstablishedA- ZenrowsZenrows MCP server: Fetch, Extract, Batch, and Browser Sessions for AI agentsnot reviewedEstablishedA
MCP BrowserBrowser automation using the user's Chromium session — JS execution, auth, and anti-bot support.not reviewedGrowingA- CdpilotZero-dependency browser automation over raw CDP — no Puppeteer, Playwright, or Selenium.not reviewedGrowingB