browser-use MCP Server

by co-browser
Verified

Integrations

  • Provides containerized deployment with VNC streaming capabilities, allowing clients to view the automated browser activities

  • Integrates with GitHub repositories for accessing the browser-use project and related components

  • Uses OpenAI's API to power the browser automation capabilities, requiring an API key for operation

browser-use-mcp-server

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

Prerequisites

# 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

ClientConfiguration 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:

  1. Build a distributable wheel:
    # From the project root directory uv build
  2. 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
  3. 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
  4. 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

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

An MCP server that enables AI assistants to control a web browser through natural language commands, allowing them to navigate websites and extract information via SSE transport.

  1. Prerequisites
    1. Environment
      1. Installation
        1. Usage
          1. SSE Mode
          2. stdio Mode
        2. Client Configuration
          1. SSE Mode Client Configuration
          2. stdio Mode Client Configuration
          3. Config Locations
        3. Features
          1. Local Development
            1. Docker
              1. VNC Viewer
            2. Example
              1. Support
                1. Star History
                  ID: t7jqja2k4z