selenium_mcp

selenium_mcp

amandeep-sg

MCP tools build using selenium to automate web testing or scraping

Bridges AI assistants with Selenium WebDriver to enable web automation, testing, and scraping through comprehensive browser control tools.

29 viewsLocal (stdio)

About selenium_mcp

selenium_mcp is a community-built MCP server published by amandeep-sg that provides AI assistants with tools and capabilities via the Model Context Protocol. MCP tools build using selenium to automate web testing or scraping It is categorized under productivity. This server exposes 20 tools that AI clients can invoke during conversations and coding sessions.

How to install

You can install selenium_mcp in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

selenium_mcp is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Tools (20)

create_webdriver

Create a new selenium webdriver session

quit_webdriver

Quit existing webdriver session

navigate_to_url

Navigate browser to a specific URL

click_element

Perform left click, right click, or double click on elements

input_text

Input text into form fields and elements

Selenium_MCP

This server is implemented in python to bridge the gap between the AI Assistant or (custom MCP clients) and Selenium Webdrivers. It exposes selenium webdriver functionalities as MCP tools allowing AI assistanct/MCP clients to user them to perform task for web automation, web testing or web scraping.

Release Notes

Version 2.0.0 - Release 4 April 2026

In this version, we have done some structural changes like seperating functions into save and get. Now save is just focused on saving files on the disk. And get is where LLM wants to get the data from the browser.

Following are the list of enhancements:

  1. Get: To get webpage as markdown, html, screenshot, element's screenshot, list of urls
  2. JS Executor: To execute javascript code for interacting with the webpage
  3. Files: To upload and download files
  4. Alerts: To handle alerts
  5. Click: Added drag and drop of elements by xpath
  6. File: To save webpage as pdf on disk

Version 1.0.0 - Release 31 March 2026

  1. Web Driver: Create new or quit exiting webdiver sessions
  2. Cookies: To manage cookies (add, delete, get, clear)
  3. Clicks: To perform clicks on elements (left client, right click, double click)
  4. Browser: To navigate urls and manage browser capabilities like resize, maximize, minimize, fullscreen, etc.
  5. Scroll: To scroll the entire webpage
  6. Input: Input text into elements and select/unselect checkbox, radio buttons, dropdowns options, etc.
  7. Find: To find element by xPaths

Key Features

  1. Humanised error handleing, enables LLM to intreperate errors and reconfigure tool usage accordingly
  2. Comprehensive element interaction: Clicks, input, select are performed by checking if element is visible, enabled, clickable, etc
  3. Full Navigation control: Open New url, click forward, backward, refresh, etc

The tools leverages following technologies to support

  1. FastMCP: For MCP server implementation
  2. Selenium: For web automation
  3. Google GenAI: For AI assistant

Upcomming

Following are the list of features that will be added in the future:

  1. Tools to support Chrome Dev Tools & BiDi
  2. Enhance save functionality to save files in different formats

Example

Prompt: "Open https://rfpnotification.com and join the waiting list by entering the email address: [[email protected]]"

BeforeAfter
BeforeAfter

After running the script, the browser took the screenshot to check if the email was entered successfully. Screenshot

Test In Action

Test in action

Dev Setup

Clone the repository

git clone {url}

Create virtual environment

python3 -m venv venv
source venv/bin/activate

Install dependencies

pip install -r requirements.txt

Run the server

python server.py

The package comes with a lightweight MCP client using Google GenAI SDK to test the server. It is implemented in server.py file. To use it, you need to have a Google GenAI API key. Set it in the .env file as GEMINI_API_KEY={your_api_key}.

Run the client

python server.py

Alternatives

Related Skills

Browse all skills
ai-assisted-development

Leveraging AI coding assistants and tools to boost development productivity, while maintaining oversight to ensure quality results.

4
teams-channel-post-writer

Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.

4
cto-engineering-metrics

Expert methodology for defining, tracking, and interpreting engineering performance metrics including DORA, team health, productivity, and executive reporting.

4
personal-assistant

This skill should be used whenever users request personal assistance tasks such as schedule management, task tracking, reminder setting, habit monitoring, productivity advice, time management, or any query requiring personalized responses based on user preferences and context. On first use, collects comprehensive user information including schedule, working habits, preferences, goals, and routines. Maintains an intelligent database that automatically organizes and prioritizes information, keeping relevant data and discarding outdated context.

3
productivity-helper

Boost your productivity with automated task management

2
cursor-local-dev-loop

Optimize local development workflow with Cursor. Triggers on "cursor workflow", "cursor development loop", "cursor productivity", "cursor daily workflow". Use when working with cursor local dev loop functionality. Trigger with phrases like "cursor local dev loop", "cursor loop", "cursor".

2