# bobby-browser [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/cavi-ai/bobby-browser  
**GitHub Stars:** 5  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/bobby-browser

## Description
Automate Firefox and Chromium, inspect field state and verify results through MCP or Rust, TypeScript and Python clients.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "bobby-browser": {
    "command": "uvx",
    "args": ["bobby-browser"],
    "env": {
      "AUTOMATION_RUNTIME_TOKEN": ""
    }
  }
}
```

**Requires environment variables:** `AUTOMATION_RUNTIME_TOKEN` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## 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.

_Full upstream README: https://allmcps.com/mcp/bobby-browser/readme_

