browser-use-mcp-server
STDIOAn MCP server that enables AI agents to control web browsers using browser-use.
An MCP server that enables AI agents to control web browsers using browser-use.
An MCP server that enables AI agents to control web browsers using browser-use.
🔗 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