Browser Use

Local MCP server that drives a Chrome or Chromium browser step by step, with an agent fallback

Official · Browser Use Python Local · stdio Browser automationAI and ML

119 popularity score ★ 120k ↓ 8.1M/mo

Connect your client

Local (PyPI)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add browser-use -- uvx --from 'browser-use[cli]' browser-use --mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "browser-use": {
      "command": "uvx",
      "args": [
        "--from",
        "browser-use[cli]",
        "browser-use",
        "--mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "browser-use": {
      "command": "uvx",
      "args": [
        "--from",
        "browser-use[cli]",
        "browser-use",
        "--mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "browser-use": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "browser-use[cli]",
        "browser-use",
        "--mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.browser-use]
command = "uvx"
args = ["--from", "browser-use[cli]", "browser-use", "--mcp"]
Gemini CLITerminal
gemini mcp add --scope user browser-use uvx -- --from 'browser-use[cli]' browser-use --mcp

Settings 5

OPENAI_API_KEY Optional: OpenAI key used by browser_extract_content and retry_with_browser_use_agent; the server starts without it.
ANTHROPIC_API_KEY Optional: Anthropic key, named in the docs as an alternative to OPENAI_API_KEY.
BROWSER_USE_HEADLESS Optional: Set to false to show the browser window.
BROWSER_USE_DISABLE_SECURITY Optional: Set to true to turn off browser security features.
BROWSER_USE_LOGGING_LEVEL Optional: Set to DEBUG for debug logging.

What it does

Browser Use is best known as an open-source Python browser agent. Started with the --mcp flag, the same package runs as a local MCP server over stdio, so an assistant can operate a Chrome or Chromium browser on your own machine.

Most of its tools are direct, low-level controls: open a URL, read the page state with its numbered interactive elements, click or type into an element by index, scroll, go back, and manage tabs. It can also return the page HTML, take viewport or full-page screenshots, and pull structured content out of a page against a query, which uses a language model. Several browser sessions can be open at once and closed one by one or all together.

When step-by-step control keeps failing, retry_with_browser_use_agent hands the whole task to the Browser Use agent, which plans and acts on its own with an OpenAI model (or one named in its config) and can be limited to a list of allowed domains. Its makers describe that tool as a last resort.

This is the free, self-run option. Browser Use also runs a separate hosted MCP server on its cloud, with different tools and a paid API key; this page covers the local one.

What it needs

RuntimePython 3.11+

Python with the uv tool (uvx); the package needs Python 3.11 or newer. Chrome or Chromium installed locally. An OpenAI API key (OPENAI_API_KEY) for the agent tool and content extraction; the docs name ANTHROPIC_API_KEY as an alternative. Model calls are billed by the model provider.

Limits

Content extraction and the agent tool need a model key; without one they return an error, while the direct controls still work. The CLI extras must be installed (the --from 'browser-use[cli]' part of the command), or it fails with a 'CLI addon is not installed' error. The browser may fail to start if another instance is using the same profile. Clients such as Claude Desktop may need the full path to uvx. It drives a local browser only; hosted cloud browsers come from the separate cloud server.

Who it suits

Suits developers who want an assistant to browse, fill in forms and read pages in a real Chrome on their own machine, with free direct control and an optional model-driven agent when a page is hard. Because it uses a persistent local profile and can reach your file system, it fits a trusted desktop or a sandbox better than a shared host. If you would rather hand off whole tasks to cloud browsers without running anything locally, Browser Use's hosted MCP server at api.browser-use.com is the option its docs point to, at a per-use cost.

Tools 16

browser_navigate
Open a URL, optionally in a new tab
browser_click
Click a page element chosen by its index
browser_type
Enter text into an element chosen by its index
browser_get_state
Return the current page and its interactive elements, with an optional screenshot
browser_extract_content
Pull structured information from the page for a query, using a language model
browser_get_html
Return the whole page HTML or one element picked by CSS selector
browser_screenshot
Capture the visible viewport or the full scrolling page
browser_scroll
Scroll the page up or down
browser_go_back
Step back one page in the history
browser_list_tabs
List the open tabs
browser_switch_tab
Make another tab the active one
browser_close_tab
Close one tab
retry_with_browser_use_agent
Hand a whole task to the autonomous Browser Use agent as a fallback
browser_list_sessions
List the active browser sessions
browser_close_session
Close one browser session by its ID
browser_close_all
Close every active browser session

Similar servers