# chromium-bridge

Connects Chromium browsers with Claude Code for page inspection, clicks, and automation, avoiding tab-group hangs in browsers like Arc and Vivaldi.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Author: dashi96
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dashi96/chromium-bridge
- Updated: 2026-09-25
- HTML: https://affpapa.org/en/nevibecode/mcp/chromium-bridge

## What it does

The standard Chrome integration frequently freezes in browsers like Arc or Vivaldi because tab group APIs behave differently there. This bridge bypasses that limitation. It relies strictly on core `chrome.tabs`, `chrome.scripting`, and `chrome.debugger` capabilities.

The architecture splits tasks between a stdio MCP server and an unpacked Manifest V3 browser extension. They communicate locally via WebSocket on port 8929. The server exposes `browser_*` tools that allow the assistant to switch tabs, inspect the accessibility tree, click coordinates, enter text, and grab screenshots. An orange border and cursor highlight AI actions directly on the active tab.

Running this setup requires loading the `extension/` directory as an unpacked extension via `chrome://extensions`. The bridge rejects WebSocket connections unless they originate from the specific browser extension.

## Requirements
- Needs: Node.js (commands run via npx)
- Works with: Chrome

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add chromium-bridge -- npx -y chromium-bridge
```

### Codex

**Platform CLI**
```bash
codex mcp add chromium-bridge -- npx -y chromium-bridge
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "chromium-bridge": {
            "command": "npx",
            "args": [
                "-y",
                "chromium-bridge"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "chromium-bridge": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "chromium-bridge"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add chromium-bridge npx -y chromium-bridge
```

## When to use it
- drive browser workflows in Arc, Brave, and Vivaldi without tab group crashes
- inspect DOM text and accessibility hierarchies from the agent prompt
- trigger clicks, form inputs, and custom JavaScript execution on open pages
- capture page screenshots and monitor network logs during debugging

## Example prompts
- Check browser connection status using `browser_status`
- Open the pricing page in a new tab and read its visible text
- Fill out the sign-up form on the active page and submit it

## Similar
- [electron-chromium-upgrade](https://affpapa.org/en/nevibecode/skills/electron-chromium-upgrade.md) — skill · 618 installs
- [chromium-control-canvas](https://affpapa.org/en/nevibecode/plugins/chromium-control-canvas.md) — plugin · ★ 40451
- [ego-browser](https://affpapa.org/en/nevibecode/skills/ego-browser.md) — skill · 12200 installs
- [pinchtab](https://affpapa.org/en/nevibecode/skills/pinchtab.md) — skill · 892 installs
- [restaurant-booking](https://affpapa.org/en/nevibecode/skills/restaurant-booking.md) — skill · 488 installs
- [openbrowser-ai](https://affpapa.org/en/nevibecode/mcp/openbrowser-ai.md) — MCP server · ★ 279

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
