
Browser Use
STDIOWeb browser automation and scraping tool for AI agents using Selenium
Web browser automation and scraping tool for AI agents using Selenium
This project aims to empower AI agents to perform web use, browser automation, scraping, and automation with Model Context Protocol (MCP) and Selenium.
The special feature of this MCP is that it can handle multiple agents accessing multiple browser windows. One does not need to start multiple Docker images, VMs, or computers to have multiple scraping agents. And one can still use one single browser profile across all agents. Each agent will have its own windows, and they will not interfere with each other.
This makes the handling of multiple agents seamless: Just start as many agents as you want, and it will just work! Use two Claude Code instances, one Codex CLI instance, one Gemini CLI instance and a fast-agent
instance -- all on one computer, all using the same browser profile, and all working (somewhat) in parallel.
Our mission is to let AI agents complete any web task with minimal human supervision -- all based on natural language instructions.
MCP_MAX_SNAPSHOT_CHARS
environment variable.Please refer to the MCP documentation on modelcontextprotocol.io.
Please note that you will need to install all dependencies in the Python environment that your MCP config file points to. For example, if you point to the python
or python3
executable, you will point to the global Python environment. Usually it is preferred to point to a virtual environment such as:
/Users/yourname/code/mcp_browser_use/.venv/bin/python
If you have cloned this repository to your local code
folder, your MCP config file should look like this:
{
"mcpServers": {
"mcp_browser_use": {
"command": "/Users/janspoerer/code/mcp_browser_use/.venv/bin/python",
"args": [
"/Users/janspoerer/code/mcp_browser_use/mcp_browser_use"
]
}
}
}
and it will be here (in macOS): /Users/janspoerer/Library/Application Support/Claude/claude_desktop_config.json
.
Please refer to the requirements.txt
to see which dependencies you need to install.
Restart Claude to see if the JSON config is valid. Claude will lead to you the error logs for the MCP if something is off.
If the setup was successful, you will see a small hammer icon in the bottom-right of the "New Chat" window in Claude. Next to the hammer will be the number of functions that the MCP provides.
Click the hammer to see the available tools.
.env
VariablesCHROME_PROFILE_NAME=Selenium
CHROME_EXECUTABLE_PATH= # Path to the Chrome executable.
CHROME_PROFILE_USER_DATA_DIR= # Path to the Chrome user data directory.
MAX_SNAPSHOT_CHARS=10000
We DO NOT want to use pytest-asyncio.
pip install -e ".[test]"`