Why this exists

Chrome DevTools MCP opens a sandboxed browser. No saved cookies, no logged-in sessions. Every Cloudflare-protected site throws a captcha. You're in a clean room when you need a workshop.

BraveBridge runs as a real extension in your real browser. Same cookies, same sessions, same fingerprint that 1Password and Grammarly use. 29 tools including accessibility tree snapshots with UID targeting. No automation detection.

BraveBridge vs Chrome DevTools MCP

BraveBridge Chrome DevTools MCP
Browser context Real browser (cookies, sessions) Sandboxed (no saved state)
Cloudflare / captchas Rarely triggered Frequently triggered
Authentication Already logged in everywhere Must re-auth every session
Element targeting A11y tree + UIDs + CSS A11y tree + UIDs
Tools 29 tools 25 tools
Detection None (real extension) Detectable as automated

At a glance

29 MCP tools. Zero captchas in normal use. Manifest V3. MIT licensed.

How it works

BraveBridge is a bidirectional bridge: your browser extension talks to an MCP server over WebSocket on localhost:7225, and the MCP server talks to AI agents over stdio.

The flow looks like this: AI agent (Claude Code) ↔ MCP stdio ↔ MCP server ↔ WebSocket ↔ BraveBridge extension ↔ your browser.

The extension uses standard Chrome APIs (chrome.scripting, chrome.tabs). No puppeteer. No headless mode. No navigator.webdriver flag. The same APIs that 1Password and Grammarly use every day.

The full toolkit

Every tool from Chrome DevTools MCP that's possible without the debugger permission, plus a few unique to BraveBridge.

Page reading and snapshots

Interaction

Navigation and tabs

JS, network, and console

Get started in three steps

1. Load the extension

# Open brave://extensions
# Enable Developer mode (top right)
# Click "Load unpacked" → select extension/ folder

2. Build the MCP server

cd server && npm install && npm run build

3. Add to Claude Code

# In ~/.claude/settings.json:
{
  "mcpServers": {
    "bravebridge": {
      "command": "node",
      "args": ["/path/to/bravebridge/server/dist/index.js"]
    }
  }
}

Tech stack

Built it. Killed it. Brought it back.

I originally built BraveBridge in April 2026 to let Claude control Brave. Then I discovered Claude's official Chrome extension already worked on Brave — and it had accessibility tree snapshots, a better approach than my CSS selectors.

So I killed the project and wrote about it.

Two weeks later, I actually tried using Chrome DevTools MCP for real work. The sandboxed browser was the dealbreaker — no cookies, constant Cloudflare captchas, losing auth state every session. BraveBridge's core advantage was always real: it connects to your actual browser.

So I brought it back, implemented every Chrome DevTools MCP feature I could (including accessibility tree snapshots with UIDs), and shipped v0.3.0 with 29 tools. The feature that killed BraveBridge is now built into it.

← All projects Get in touch →