browser-use packaged as an MCP server with SSE transport. includes a dockerfile to run chromium in docker + a vnc server.
Add to Claude Desktop config.json
{
"mcpServers": {
"kontext-dev-browser-use-mcp-server": {
"command": "python",
"args": [
"-m",
"browser_use_mcp_server"
]
}
}
} Get the source and run locally
git clone https://github.com/kontext-dev/browser-use-mcp-server.git ~/.mcp/browser-use-mcp-server
cd ~/.mcp/browser-use-mcp-server An MCP server that enables AI agents to control web browsers using browser-use.
🌐 Want to Vibe Browse the Web? Open-source AI-powered web browser - Vibe Browser.
🔗 Managing multiple MCP servers? Simplify your development workflow with agent-browser
# Install prerequisites
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install mcp-proxy
uv tool update-shell
Create a .env file:
OPENAI_API_KEY=your-api-key
CHROME_PATH=optional/path/to/chrome
PATIENT=false # Set to true if API calls should wait for task completion
# Install dependencies
uv sync
uv pip install playwright
uv run playwright install --with-deps --no-shell chromium
# Run directly from source
uv run server --port 8000
# 1. Build and install globally
uv build
uv tool uninstall browser-use-mcp-server 2>/dev/null || true
uv tool install dist/browser_use_mcp_server-*.whl
# 2. Run with stdio transport
browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000
{
"mcpServers": {
"browser-use-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
{
"mcpServers": {
"browser-server": {
"command": "browser-use-mcp-server",
"args": [
"run",
"server",
"--port",
"8000",
"--stdio",
"--proxy-port",
"9000"
],
"env": {
"OPENAI_API_KEY": "your-api-key"
}
}
}
}
| Client | Configuration Path |
|---|---|
| Cursor | ./.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude (Mac) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
To develop and test the package locally:
Build a distributable wheel:
# From the project root directory
uv build
Install it as a global tool:
uv tool uninstall browser-use-mcp-server 2>/dev/null || true
uv tool install dist/browser_use_mcp_server-*.whl
Run from any directory:
# Set your OpenAI API key for the current session
export OPENAI_API_KEY=your-api-key-here
# Or provide it inline for a one-time run
OPENAI_API_KEY=your-api-key-here browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000
After making changes, rebuild and reinstall:
uv build
uv tool uninstall browser-use-mcp-server
uv tool install dist/browser_use_mcp_server-*.whl
Using Docker provides a consistent and isolated environment for running the server.
# Build the Docker image
docker build -t browser-use-mcp-server .
# Run the container with the default VNC password ("browser-use")
# --rm ensures the container is automatically removed when it stops
# -p 8000:8000 maps the server port
# -p 5900:5900 maps the VNC port
docker run --rm -p8000:8000 -p5900:5900 browser-use-mcp-server
# Run with a custom VNC password read from a file
# Create a file (e.g., vnc_password.txt) containing only your desired password
echo "your-secure-password" > vnc_password.txt
# Mount the password file as a secret inside the container
docker run --rm -p8000:8000 -p5900:5900 \
-v $(pwd)/vnc_password.txt:/run/secrets/vnc_password:ro \
browser-use-mcp-server
Note: The :ro flag in the volume mount (-v) makes the password file read-only inside the container for added security.
# Browser-based viewer
git clone https://github.com/novnc/noVNC
cd noVNC
./utils/novnc_proxy --vnc localhost:5900
Default password: browser-use (unless overridden using the custom password method)
Try asking your AI:
open https://news.ycombinator.com and return the top ranked article
For issues or inquiries: cobrowser.xyz
Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Official Microsoft Playwright MCP server, enabling LLMs to interact with web pages through structured accessibility snapshots
Automates browser-based workflows using LLMs and computer vision — navigate pages, fill forms, extract data, handle authentication, and automate any website via natural language
Automate your local Chrome browser
An MCP server using Playwright for browser automation and webscrapping
Automate browser interactions in the cloud (e.g. web navigation, data extraction, form filling, and more)