loading…
Search for a command to run...
loading…
Enables LLMs to automate browser tasks (navigation, clicks, text input) via Selenium through the Model Context Protocol.
Enables LLMs to automate browser tasks (navigation, clicks, text input) via Selenium through the Model Context Protocol.
This project provides a Model Context Protocol (MCP) server and client implementation for Selenium-based browser automation. It allows LLMs or external tools to interact with a browser through a standardized protocol, supporting actions like navigation, input, and clicks.
navigate, click, input). More actions to be added.mcp_tools, webtools)..
├── client/
│ ├── client.py # MCP client implementation
│ ├── llm_client.py # Example LLM client integration (currently set to use Gemini)
│
├── server/
│ ├── mcp_selenium_server.py # MCP server entry point
│ ├── custom_context.py # Execution context handling
│ ├── log_writer.py # Logging utilities
│ ├── actions/ # Browser actions (navigate, click, input)
│ ├── engine/ # Driver/session/locator management
│ └── tools/ # Tool definitions (MCP tools, web tools)
│
├── .env # Environment variables
├── pyproject.toml # Project dependencies & configuration
├── uv.lock # Dependency lock file
├── LICENSE # License file
└── README.md # (this file)
Clone the repo:
git clone <repo-url>
cd mcp-selenium
Install dependencies (using uv or poetry):
uv sync
Set environment variables in .env if needed (e.g., LLM API Key).
python server/mcp_selenium_server.py
python client/client.py
{
"action": "launch_page",
"args": {
"url": "https://google.com",
"browser": "edge",
"headless": false
}
}
launch_page → Open a URLclick → Click an elemententer_text → Type text into a field
At present only these actions are added but can be extended for more actions.Lint & format before committing:
uv run black .
uv run flake8 .
This project is licensed under the terms of the MIT License.
Run in your terminal:
claude mcp add mcp-selenium-python -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.