LABSCO SUMMARY
You can watch it work, which is why it is worth trusting with a real browser.
A browser agent that reports success is hard to audit. Streaming the session over VNC turns "it says it clicked the button" into something you can look at while it happens.
What it is
A server that wraps the browser-use agent framework. You describe a task in natural language, the agent drives a real Chromium browser to do it, and the result comes back through MCP.
What you get
- Browser automation driven by an AI agent rather than by a script of selectors
- Both transports: SSE for clients that speak it, and stdio through
mcp-proxyfor those that do not - VNC streaming, so the browser session can be watched in real time rather than inferred from the final answer
- Asynchronous task execution, with
PATIENT=truemaking API calls wait for completion instead of returning early - A Docker image that publishes both the server port and the VNC port, with the VNC password readable from a mounted secret file rather than baked into the image
Requirements
uv, Playwright, and mcp-proxy — required for stdio mode and installed with uv tool install mcp-proxy. Create a .env with OPENAI_API_KEY, optionally CHROME_PATH and PATIENT. Install with uv sync, uv pip install playwright and uv run playwright install --with-deps --no-shell chromium. SSE mode runs as uv run server --port 8000 and clients connect to http://localhost:8000/sse; stdio mode builds and installs the wheel as a global tool, then runs browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000. The Docker route publishes 8000 for the server and 5900 for VNC, with a default VNC password of browser-use unless you mount your own password file.
Setup effort
Follow the published steps — uv tool install mcp-proxy
USE CASES
01
Doing something on a site with no API
Describe the task in a sentence and let the agent work out the navigation, rather than writing and maintaining selectors.
02
Seeing what the agent actually did
Attach a VNC viewer — noVNC works in a browser — and watch the session live instead of reading a summary afterwards.
03
Running it somewhere clean
The Docker image carries the browser and VNC, so the environment is the same on your laptop and on the server.
04
Connecting a stdio-only client
Run with --stdio and a proxy port; mcp-proxy bridges it for clients that cannot speak SSE.
05
Making a call wait for the result
Set the patient flag so the API call returns when the task is finished rather than as soon as it starts.
BEFORE YOU INSTALL
What to know first
Requires
- uv
- mcp-proxy (uv tool install mcp-proxy), required for stdio mode
- OPENAI_API_KEY: your OpenAI API key, set in the client configuration or a .env file
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install mcp-proxy
uv tool update-shell
git clone https://github.com/kontext-security/browser-use-mcp-server.git
cd browser-use-mcp-server
uv sync
uv pip install playwright
uv run playwright install --with-deps --no-shell chromium
uv build
uv tool install dist/browser_use_mcp_server-*.whlMCP Clients
Cursor, Windsurf, Claude Desktop
JSON
{
"mcpServers": {
"browser-server": {
"command": "browser-use-mcp-server",
"args": [
"run",
"server",
"--port",
"8000",
"--stdio",
"--proxy-port",
"9000"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}