MCP.Market

Selenium MCP server

by gaforov·io.github.gaforov/selenium-mcp·v0.3.0

Selenium MCP server for AI agents — 41 browser automation tools with snapshots and sessions.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

0 stars298 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • add_cookie

    Set a cookie in the browser, e.g. a session or feature-flag cookie to skip a login screen or switch on a test mode.

  • alert

    Handle a native browser dialog opened by alert(), confirm(), or prompt(). While one is open, other page actions fail until it is handled.

  • assert_attribute

    Test step: check that an element's attribute or property equals (default), contains, or matches a regular expression,

  • assert_text

    Test step: check that an element's visible text equals, contains (default), or matches a regular expression.

  • assert_visible

    Test step: check that an element becomes visible within timeoutMs, e.g. a success banner or a cart badge.

  • batch_executewrite action

    Run up to 10 steps in one call. Supported actions: navigate, wait_for_element, wait_for_page, click, type, select_option, and execute_script,

  • capture_page

    Snapshot the page's visible interactive elements and headings (links, buttons, inputs, selects, textareas, ARIA roles, h1-h4)

  • click

    Click an element: waits until it is visible and enabled, then clicks it (scrolling it into view).

  • delete_cookiewrite action

    Delete one cookie by name, or every cookie for the current page when name is omitted.

  • execute_scriptwrite action

    Run synchronous JavaScript in the current page and return its result (use a return statement); arguments are available as arguments[0], arguments[1], ....

  • find_element

    Look up one element and describe it: tag, visible text, and whether it is displayed and enabled. Waits for it to exist.

  • frame

    Move 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_attribute

    Read 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_cookies

    Read the cookies the browser holds for the current page: all of them, or one by name.

  • get_current_url

    Return the URL of the current tab, including any query string and fragment.

  • get_page_source

    Return the page's current HTML (the live DOM, including changes made by scripts), cut off at maxLength characters.

  • get_text

    Read the visible text of an element: what a user sees, not hidden text or an input's value.

  • get_title

    Return the current page's title, the text shown in the browser tab.

  • history

    Browser 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).

  • interact

    Mouse actions beyond a plain click: double_click, right_click (opens a context menu), hover (reveals menus and tooltips),

  • navigate

    Open a URL in the current tab and wait for the page to load (up to the pageLoadTimeoutMs set in start_browser).

  • press_key

    Press 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_click

    Click with retries, for clicks that fail intermittently: the element is covered by a loading overlay or animation,

  • scroll

    Scroll 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_option

    Select an option in a native <select> dropdown by visible text, value, or zero-based index, and return the resulting selection.

  • selector_hint_deletewrite action

    Permanently remove a saved selector hint from the hints file, e.g. when the site changed and the selector no longer works.

  • selector_hint_get

    Look 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_list

    List saved selector hints (key, domain, and selector) for every site, or only for one domain.

  • selector_hint_save

    Remember a selector that worked, under a short key for a site, so later runs can reuse it instead of rediscovering the element.

  • session_createwrite action

    Open 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 action

    Close one browser session by id and quit its browser; its cookies, login state, and open pages are lost.

  • session_list

    List every open browser session (id, browser, headless, window size, start time) and which one is active.

  • session_select

    Make an existing browser session the active one, so every following tool call acts on that browser.

  • start_browser

    Start a browser session (Chrome, Firefox, or Edge) that all other tools act on. Call this first.

  • stop_browser

    Close the active browser session and quit its browser; its cookies, login state, and open pages are lost.

  • take_screenshot

    Capture 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).

  • type

    Type text into an input, textarea, or other editable element. Waits for it to be visible, clears the current value first

  • upload_filewrite action

    Attach a local file to a file input (<input type="file">) without opening the operating system's file picker.

  • wait_for_element

    Wait 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_page

    Wait 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).

  • window

    Manage 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

no findings
  • 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
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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@latest

Claude 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.

All Selenium alternatives →
  • Actionbook
    Let your AI agent operate any website through a real, logged-in browser session.
    A
  • Slack MCP Server
    Catch up on Slack without reading it. Unreads, threads, search. Browser-session or hosted OAuth.
    A
  • Zenrows
    Zenrows MCP server: Fetch, Extract, Batch, and Browser Sessions for AI agents
    A
  • MCP Browser
    Browser automation using the user's Chromium session — JS execution, auth, and anti-bot support.
    A
  • Cdpilot
    Zero-dependency browser automation over raw CDP — no Puppeteer, Playwright, or Selenium.
    B