Bobby Browser logo

Bobby Browser

Automates Firefox and Chromium through MCP, HTTP, ACP, authenticated CDP, and TypeScript, Python, or Rust clients.

Install Bobby Browser

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "bobby-browser": {
      "command": "uvx",
      "args": [
        "bobby-browser"
      ],
      "env": {
        "AUTOMATION_RUNTIME_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings β†’ Developer β†’ Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-testedβ€” we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

bobby-browser drives Firefox and Chromium for browser workflows exposed through MCP tools, an HTTP API, ACP, authenticated CDP, and SDKs. Agents can start workflows, inspect pages and form state, interact with controls, and verify submitted results using evidence from the browser. Each call is authenticated, capability-limited, journaled, and designed to recover after crashes. Reach for it when an agent needs controlled browser automation with explicit observation and result checks.

Use cases

  • Automate controlled Firefox or Chromium workflows
  • Inspect form fields and validation evidence
  • Fill forms before reviewing their state
  • Submit forms and verify returned confirmations
  • Build browser agents with TypeScript, Python, or Rust

Key features

  • Firefox and Chromium automation
  • MCP, HTTP, ACP, and authenticated CDP access
  • Form snapshots and field evidence
  • Expected-result submission verification
  • Capability limits and authenticated calls
  • Journaling with crash recovery

Security & health

What it can reach and how reliably it runs β€” from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev Β· bobby-browser (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

GitHub stars5Stargazers on the source repository.
Last commit2d agoMost recent push to the default branch.

How Bobby Browser works

What bobby-browser does

bobby-browser provides a browser automation runtime for AI agents and applications. It controls Firefox or Chromium and exposes that control through MCP, an HTTP API, ACP, authenticated Chrome DevTools Protocol access, and client libraries for TypeScript, Python, and Rust.

The runtime supports workflows that begin with a browser profile and URL, followed by observation and interaction calls. Available examples include clicking, entering text, inspecting page content, reading form snapshots, completing fields, and submitting only after an expected result has been defined. Form completion and form submission are separate operations, which helps an agent inspect values and validation evidence before causing a side effect.

Every call requires authentication and is restricted by capabilities. Operations are journaled with evidence, and the runtime is intended to resume or recover after a crash. Credentials are not accepted in URLs.

How it works

Start a runtime session with a profile and target URL, then reuse the returned workflow handle for later observations and actions. A typical MCP sequence calls workflow_start, observes the returned handle with workflow_observe, interacts through tools such as click and type_text, and closes the session with session_close.

For structured forms, form_snapshot exposes field state and intent_complete_form can fill fields based on what was observed. If validation fails, the agent can inspect the returned evidence and use intent_fill to correct remaining values. intent_submit_and_verify handles submission as a distinct call and checks for the expected confirmation. If the outcome is uncertain, the workflow can inspect the destination before attempting another submission.

The runtime can also be used outside an MCP host. Run bobby serve, obtain a token with bobby token, and pass the resulting AUTOMATION_RUNTIME_TOKEN to the TypeScript, Python, or Rust client. Firefox use requires the companion extension to be installed and paired from its toolbar popup.

Setup and configuration

Installation is available through Homebrew, a Linux and macOS install script, or a source build. A source installation requires Rust, Node, and pnpm. The standard installation places bobby, mcp-gateway, and acp-gateway on the path, builds the Firefox companion, and runs the setup process.

Run bobby install to create a credential and configure a supported agent host, then use bobby doctor to check the setup. The installer can also add the agent skill with --skill. For Firefox, use bobby install --companion, start Firefox with bobby firefox-start, and select Pair in the Bobby Companion toolbar popup. After installation, restart the agent host before starting a workflow.

Tools and capabilities

  • Start and observe browser workflows using named profiles and workflow handles.
  • Automate Firefox and Chromium through MCP tools.
  • Click controls and enter text with direct interaction tools.
  • Inspect page text, field state, validity results, and saved form evidence.
  • Fill structured forms and submit them with expected-result verification.
  • Use capability limits, authenticated calls, journals, and crash recovery.
  • Access the runtime from HTTP, ACP, authenticated CDP, or TypeScript, Python, and Rust SDKs.

Limitations and notes

bobby-browser is described as alpha software: its interfaces are suitable for building against but may change before version 1.0. A demonstration using a synthetic local form does not establish reliability on other websites, and browser field validity alone does not prove that a remote server accepted the submission.

The runtime is intended for controlled workflows. Developers should inspect evidence before submitting, provide an expected confirmation, and avoid retrying when the submission result is uncertain until the destination has been checked. Reports about reproducible failures should exclude tokens and private form values.

Reviews

No reviews yet β€” be the first to share how it worked for you.

Frequently Asked Questions about Bobby Browser

bobby-browser is an MCP server that connects AI agents and applications to Firefox and Chromium. Its main tools start and observe workflows, click controls, enter text, inspect form state, fill structured forms, and submit with expected-result verification. It also provides HTTP, ACP, authenticated CDP, and TypeScript, Python, and Rust clients.

Install it with Homebrew, the Linux and macOS install script, or from source. Run `bobby install` to create credentials and write an MCP configuration for supported hosts, then run `bobby doctor` and restart the host.

Install and pair the Firefox companion. Use `bobby install --companion`, run `bobby firefox-start`, and click **Pair** in the Bobby Companion toolbar popup. The companion is installed automatically by the standard source installation.

Start the runtime with `bobby serve`, export the token returned by `bobby token` as `AUTOMATION_RUNTIME_TOKEN`, and create a client with the TypeScript, Python, or Rust SDK. The clients connect to the runtime HTTP endpoint.

Cursor is not named among the supported agent hosts in the setup instructions. The documented MCP configuration targets Claude Code, VS Code, and Zed, along with an ACP host or OpenShell.

Related MCP servers

Add a badge to your READMEShow it’s listed β€” live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewBobby Browser AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/bobby-browser?style=directory)](https://allmcps.com/mcp/bobby-browser)
HTML Embed
<a href="https://allmcps.com/mcp/bobby-browser"><img src="https://allmcps.com/api/badge/bobby-browser?style=directory" alt="Bobby Browser on AllMCPs" /></a>