MCP Directory

How to add browser-use-mcp-server to Windsurf

Let AI agents control a real web browser to browse, navigate, and extract data via browser-use + Playwright. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 822 · sse · apikey

Windsurf config for browser-use-mcp-server

uv tool install browser-use-mcp-server
{
  "mcpServers": {
    "browser-use-mcp-server": {
      "serverUrl": "http://localhost:8000/sse"
    }
  }
}

Remote server — no local install needed. Restart the client after saving the config.

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the browser-use-mcp-server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5browser-use-mcp-server's tools become available to Cascade.

Before you start

  • uv (Python package manager)
  • Playwright with a Chromium install (uv run playwright install --with-deps --no-shell chromium)
  • mcp-proxy (required for stdio mode)
  • An OpenAI API key (OPENAI_API_KEY)

What browser-use-mcp-server can do in Windsurf

browser task (natural language)

Accepts a natural-language instruction and drives a real Chromium browser to carry it out — for example, 'open https://news.ycombinator.com and return the top ranked article'. Browser operations execute asynchronously; set PATIENT=true if the API call should wait for the task to complete before returning. (The README documents the capability and example usage but does not enumerate individual tool names.)

Security

Requires an OPENAI_API_KEY supplied via a .env file or the client's env block. The Docker image exposes a VNC server (port 5900) with a default password of `browser-use`; override it by mounting a custom password file as a secret. The server drives a real browser that can visit arbitrary URLs, so treat tasks and target sites as untrusted.

browser-use-mcp-server + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the browser-use-mcp-server config there under the "mcpServers" key and restart the client.

Is browser-use-mcp-server safe to use with Windsurf?

Requires an OPENAI_API_KEY supplied via a .env file or the client's env block. The Docker image exposes a VNC server (port 5900) with a default password of `browser-use`; override it by mounting a custom password file as a secret. The server drives a real browser that can visit arbitrary URLs, so treat tasks and target sites as untrusted.

Which transports are supported?

Both SSE and stdio. SSE runs the server directly (`uv run server --port 8000`) and clients connect to `http://localhost:8000/sse`. stdio mode requires mcp-proxy and runs `browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000`.

What API key do I need?

An OPENAI_API_KEY, provided either in a .env file or via the client config's env block. Optionally set CHROME_PATH and PATIENT (true to wait for task completion).

Can I watch the browser while it works?

Yes. The server supports VNC streaming. The Docker image exposes VNC on port 5900 (default password `browser-use`), which you can view with a VNC client or noVNC.

View repo Full browser-use-mcp-server page