selenium-mcp-server-python

Jyothishkumarav/selenium-mcp-server-python

3.3

If you are the rightful owner of selenium-mcp-server-python and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server implementation for Selenium WebDriver automation using Python, enabling programmatic control of web browsers through Claude's desktop application.

Selenium MCP Server

A Model Context Protocol (MCP) server implementation for Selenium WebDriver automation using Python. This server allows you to control web browsers programmatically through Claude's desktop application.

Features

  • Browser automation with Chrome and Firefox support
  • Comprehensive set of Selenium WebDriver operations
  • Easy integration with Claude desktop application
  • Support for various browser interactions:
    • Navigation
    • Element interaction (click, send keys, etc.)
    • Screenshot capture
    • Window and iframe handling
    • Local storage management
    • And much more!

Prerequisites

  • Python 3.7+
  • Chrome or Firefox browser installed
  • Claude desktop application

Installation

  1. Clone this repository:
git clone https://github.com/Jyothishkumarav/selenium-mcp-server-python.git
cd selenium-mcp-server-python
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Install the MCP server in Claude:
mcp install server.py

Usage

  1. Start the server:
python server.py
  1. In Claude desktop application:
    • Go to Settings > Developer Options
    • You should see "MCP-Selenium" listed as an available server
    • Enable the server to start using Selenium automation features

Available Tools

The server provides the following automation capabilities:

  • Browser Management:

    • Start browser sessions
    • Close sessions
    • Switch between windows
  • Navigation:

    • Navigate to URLs
    • Refresh pages
    • Wait for page loads
  • Element Interaction:

    • Find elements
    • Click elements
    • Send keys
    • Clear fields
    • Double click
    • Right click
  • Element Information:

    • Get element text
    • Get element attributes
    • Check element presence
    • Check element visibility
    • Check element selection
  • Page Operations:

    • Take screenshots
    • Get page content
    • Scroll pages
    • Manage local storage
  • Frame Handling:

    • Switch to iframes
    • Return to default content

Example Usage

Here's a simple example of how to use the server with Claude:

  1. Start a browser session
  2. Navigate to a website
  3. Find and interact with elements
  4. Take screenshots
  5. Close the session

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the file for details.

Acknowledgments