Selenium MCP server
Selenium MCP server for AI agents — 41 browser automation tools with snapshots and sessions.
0 stars264 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.5 · 2026-09-19 · 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 7 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
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
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, Claude Desktop or Cursor 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 7 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: Zenrows MCP server, Aginx Browser MCP server and ZeroDOM MCP server. Compare all Selenium alternatives.
Alternatives to Selenium
Same job from other publishers: the closest match first, then the best rated.
- ZenrowsZenrows MCP server — Fetch, Extract, Batch, and Browser Sessions for AI coding assistantsnot reviewedEstablishedA
Aginx BrowserStealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.not reviewedGrowingB- ZeroDOMToken-optimized interaction graph for AI browser agents — 71% fewer tokens than ARIA snapshots.not reviewedGrowingA
- Browser AutomationProgrammatic headless browser sessions: create, interact, browse, and extract - rendered in a realnot reviewedNewB
- Browser ForestUndetectable cloud browser sessions for AI agents and scrapers. Navigate, extract, click, captcha.not reviewedNewC