Browser Use MCP Server
An MCP server that allows AI agents to control a web browser using the browser-use library.
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
Prerequisites
- uv - Fast Python package manager
- Playwright - Browser automation
- mcp-proxy - Required for stdio mode
# Install prerequisites
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install mcp-proxy
uv tool update-shell
Environment
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
Installation
# Install dependencies
uv sync
uv pip install playwright
uv run playwright install --with-deps --no-shell chromium
Usage
SSE Mode
# Run directly from source
uv run server --port 8000
stdio Mode
# 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
Client Configuration
SSE Mode Client Configuration
{
"mcpServers": {
"browser-use-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
stdio Mode Client Configuration
{
"mcpServers": {
"browser-server": {
"command": "browser-use-mcp-server",
"args": [
"run",
"server",
"--port",
"8000",
"--stdio",
"--proxy-port",
"9000"
],
"env": {
"OPENAI_API_KEY": "your-api-key"
}
}
}
}
Config Locations
| 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 |
Features
- Browser Automation: Control browsers through AI agents
- Dual Transport: Support for both SSE and stdio protocols
- VNC Streaming: Watch browser automation in real-time
- Async Tasks: Execute browser operations asynchronously
Local Development
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
Docker
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.
VNC Viewer
# 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)
Example
Try asking your AI:
open https://news.ycombinator.com and return the top ranked article
Support
For issues or inquiries: cobrowser.xyz
Star History
関連サーバー
Bright Data
スポンサーDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
MeteoSwiss Data
Provides weather reports, search, and content from the MeteoSwiss website with multi-language support.
Notte
Leverage Notte Web AI agents & cloud browser sessions for scalable browser automation & scraping workflows
Mention MCP Server
Monitor web and social media using the Mention API.
Outscraper
Extract data from Google Maps, including places and reviews, using the Outscraper API.
Leapfrog
Multi-session browser MCP for AI agents — stealth mode, session pooling, humanization, 10x fewer tokens than Playwright
Firecrawl
Scrape, crawl, and extract data from any website using the Firecrawl API.
WebSearch
An advanced web search and content extraction tool powered by the Firecrawl API for web scraping and analysis.
Scrapezy
Turn websites into datasets with Scrapezy
Unchained Sky
Browser automation MCP server that connects AI agents to your real Chrome browser with structured page understanding in ~500 tokens
getsonar-mcp
KYB due diligence, competitive intelligence, and strategic accounts research for AI agents. KYB covers corporate registries, sanctions screening (OFAC/UN/EU/UK), FCA Register lookup, directors, UBOs, and adverse media. CI covers pricing, hiring, product, sentiment, and corporate events. New accounts get 3 free trial calls. Pay-per-call after: $0.40 per /findings, $2.00 per /run with Claude analysis. Top up from $20 at getsonar.report.