MCP Server + Chrome Extension

Control your real browser with AI

An MCP server that bridges Claude Code to your actual Chrome browser — with your sessions, cookies, and logins intact. No headless browsers. No separate profiles. Your real browser, AI-powered.

Why Chrome Bridge?

Existing browser automation tools launch separate browser instances. Chrome Bridge works with the browser you already have open — your authenticated sessions, extensions, and state are all available.

Real Browser Sessions

Works with your existing Chrome window. Already logged into GitHub, Jira, or your company's internal tools? Claude can see and interact with them immediately.

Zero Configuration

No browser binaries to download, no Docker containers to manage. Install the extension, start the MCP server, and you're connected.

Full MCP Integration

Standard Model Context Protocol server. Works with Claude Code, Claude Desktop, and any MCP-compatible client out of the box.

Visual Feedback

Take screenshots, read page structure, evaluate JavaScript — all from your AI assistant. See exactly what the AI sees.

Lightweight & Fast

WebSocket connection between the extension and MCP server. Sub-second command execution. No browser launch overhead.

Secure by Design

Runs locally on your machine. No data leaves your computer. The WebSocket connection is localhost-only by default.

How It Works

Three components working together through standard protocols.

AI Client
Claude Code
or Claude Desktop
stdio
MCP
Bridge
MCP Server
Node.js process
WebSocket
:9229
Browser
Chrome Extension
Manifest V3

Available Tools

12 tools for complete browser control via the Model Context Protocol.

browser_navigate

Navigate the active tab to any URL

browser_read_page

Read the simplified DOM structure of the current page

browser_read_selector

Read content of elements matching a CSS selector

browser_click

Click an element by CSS selector

browser_type

Type text into input fields with framework event support

browser_screenshot

Capture a screenshot of the visible viewport

browser_evaluate

Execute arbitrary JavaScript in the page context

browser_list_tabs

List all open browser tabs with URLs and titles

browser_switch_tab

Switch to a specific tab by ID

browser_new_tab

Open a new tab with an optional URL

browser_press_key

Dispatch keyboard events with modifier support

browser_wait_for

Wait for an element to appear in the DOM

See It in Action

Real conversations showing how AI clients use Chrome Bridge to interact with your browser.

Claude Code + Chrome Bridge
You
Navigate to GitHub and show me my notifications
tool
browser_navigate({ url: "https://github.com/notifications" })
tool
browser_read_page({ maxLength: 50000 })
AI
Here are your GitHub notifications:

• **Fix CI pipeline (#234)** — review requested by @teammate
• **Update deps (#198)** — merged 2 hours ago
• **New issue: Login timeout (#301)** — assigned to you
You
Click on the CI pipeline one
tool
browser_click({ selector: "a[href*='/pull/234']" })
tool
browser_wait_for({ selector: ".pull-request-body" })
AI
Opened PR #234 "Fix CI pipeline". The author changed the Node version in the GitHub Actions workflow from 18 to 20 and updated the caching strategy.

Comparison with Alternatives

How Chrome Bridge compares to other browser automation approaches.

FeatureChrome BridgePlaywright MCPPuppeteerSelenium
Uses your real browser
Existing logins & cookies
No browser binary needed
MCP protocol nativeplugin
Works with extensions
Sub-second startup
Screenshot support
JavaScript evaluation
Multi-tab control
Headless mode
Cross-browser support
CI/CD optimized

Get Started in 3 Steps

Up and running in under 2 minutes.

1

Clone and install

# Clone the repository
$ git clone https://github.com/andrey-karasev/chrome-bridge-mcp.git
$ cd chrome-bridge
$ npm install
2

Load the Chrome extension

1. Open chrome://extensions

2. Enable "Developer mode" (top right)

3. Click "Load unpacked"

4. Select the extension/ folder

3

Add to Claude Code config

// ~/.claude/settings.json or project .claude/settings.json
{
  "mcpServers": {
    "chrome-bridge": {
      "command": "node",
      "args": ["/path/to/chrome-bridge/mcp-server/index.mjs"]
    }
  }
}

The extension badge turns green when connected. You're ready to go.