Skip to main content
Glama
README.md
# 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:
```bash
git clone https://github.com/Jyothishkumarav/selenium-mcp-server-python.git
cd selenium-mcp-server-python
```

2. Install the required dependencies:
```bash
pip install -r requirements.txt
```

3. Install the MCP server in Claude:
```bash
mcp install server.py
```

## Usage

1. Start the server:
```bash
python server.py
```

2. 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 [LICENSE](LICENSE) file for details.

## Acknowledgments

- [Selenium WebDriver](https://www.selenium.dev/)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Claude Desktop](https://claude.ai/)