Selenium

by angiejones

Recommended
108 stars
6.1k downloads
Not rated
GitHub

About

Automates web browser actions with Selenium WebDriver.

Details

Author
angiejones
Repository
angiejones/mcp-selenium
GitHub stars
108
Downloads
6,055
License
MIT License
Categories
Developer Tools, Automation, Web Scraping, File Management, Search
Tags
#web

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Selenium
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @angiejones/mcp-selenium@latest

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

<details open>
<summary><strong>Goose (Desktop)</strong></summary>

Paste into your browser address bar:
```

start_browser

Launches a browser session. Parameters: browser (string, required), options (object, optional)

navigate

Navigates to a URL. Parameters: url (string, required)

interact

Performs a mouse action on an element. Parameters: action (string, required), by (string, required), value (string, required), timeout (number, optional)

send_keys

Types text into an element. Clears the field first. Parameters: by (string, required), value (string, required), text (string, required), timeout (number, optional)

get_element_text

Gets the text content of an element. Parameters: by (string, required), value (string, required), timeout (number, optional)

get_element_attribute

Gets an attribute value from an element. Parameters: by (string, required), value (string, required), attribute (string, required), timeout (number, optional)

press_key

Presses a keyboard key. Parameters: key (string, required)

upload_file

Uploads a file via a file input element. Parameters: by (string, required), value (string, required), filePath (string, required), timeout (number, optional)

take_screenshot

Captures a screenshot of the current page. Parameters: outputPath (string, optional)

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. Parameters: script (string, required), args (array, optional)

window

Manages browser windows and tabs. Parameters: action (string, required), handle (string, optional)

frame

Switches focus to a frame or back to the main page. Parameters: action (string, required), by (string, optional), value (string, optional), index (number, optional), timeout (number, optional)

alert

Handles browser alert, confirm, or prompt dialogs. Parameters: action (string, required), text (string, optional), timeout (number, optional)

add_cookie

Adds a cookie. Browser must be on a page from the cookie's domain. Parameters: name (string, required), value (string, required), domain (string, optional), path (string, optional), secure (boolean, optional), httpOnly (boolean, optional), expiry (number, optional)

get_cookies

Gets cookies. Returns all or a specific one by name. Parameters: name (string, optional)

delete_cookie

Deletes cookies. Deletes all or a specific one by name. Parameters: name (string, optional)

diagnostics

Gets browser diagnostics captured via WebDriver BiDi. Parameters: type (string, required), clear (boolean, optional)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "selenium": {
            "env": {},
            "args": [
                "-y",
                "@angiejones/mcp-selenium@latest"
            ],
            "shell": false,
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@angiejones/mcp-selenium@latest"
    ],
    "shell": false,
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@angiejones/mcp-selenium@latest"
    ],
    "shell": false,
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@angiejones/mcp-selenium@latest"
    ],
    "shell": true,
    "command": "cmd"
}
A Model Context Protocol (MCP) server for Selenium WebDriver — browser automation for AI agents. ``` `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"] } } }` ``` 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. **Safari note:**Requires macOS. Run`sudo safaridriver --enable`once and enable "Allow Remote Automation" in Safari → Settings → Developer. No headless mode. Types text into an element. Clears the field first. Gets an attribute value from an element. Uploads a file via a file input element. Captures a screenshot of the current page. Closes the current browser session. No parameters. 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). Switches focus to a frame or back to the main page. Handles browser alert, confirm, or prompt dialogs. Gets browser diagnostics captured via WebDriver BiDi (auto-enabled when supported). MCP resources provide read-only data that clients can access without calling a tool. Returns the current browser session status (active session ID or "no active session"). 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. ``` `git clone https://github.com/angiejones/mcp-selenium.git cd mcp-selenium npm install` ``` Requires Chrome + chromedriver on PATH. Tests run headless. ``` `npx -y @smithery/cli install @angiejones/mcp-selenium --client claude` ``` ``` `npm install -g @angiejones/mcp-selenium mcp-selenium` ``` This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases. Control your real Chrome from Claude Code. 29 tools including CAPTCHA solving, file upload, multi-session, and human-in-the-loop. MCP tools for crawler-readability and discovery-file diagnostics, including crawler-visible HTML inspection, raw-vs-rendered comparison, and discovery-file checks. Selenium MCP server for AI agents — 39 browser automation tools with page snapshots, selector hints, multi-session, and batched execution. Automated QA testing for websites to find UI bugs, broken links, and accessibility issues. Official Playwright MCP server for browser automation, page inspection, screenshots, and web interaction from Claude, Cursor, and other AI agents. Render website screenshots with ScreenshotOne Attaches to existing browser sessions using the Chrome DevTools Protocol for automation and interaction. Help your AI agent finish more browser tasks. Automate remote browsers using the BrowserCat API.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.