Labsco
MCP SERVER

Browser Use MCP Server

by co-browser

Hand a browser task to a browser-use agent from your MCP client, and watch it happen over VNC while it runs.

Browser Automation, Control & Screenshots
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-proxy` for 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=true` making 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

One command plus a key — browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000, then supply credentials