MCP Hub
Back to servers

open-claude-in-chrome

Claude in Chrome, reverse-engineered and open-source. No domain blocklist. Any Chromium browser. Same 18 MCP tools, same performance.

GitHub
Stars
51
Forks
12
Updated
Apr 6, 2026
Validated
Apr 12, 2026

Open Claude in Chrome

Claude in Chrome, fully open source. No domain blocklist. Any Chromium browser.

The official Claude in Chrome extension gives Claude Code full browser automation. Open Claude in Chrome is a clean-room reimplementation that removes the restrictions while maintaining 100% feature and performance parity.

Demo

Demo: Watch Claude on Tinder, Reddit, and Robinhood | Deep dive: How I reverse-engineered it

What's Different

Claude in ChromeOpen Claude in Chrome
Domain blocklist58 blocked domains across 11 categoriesNo blocklist. Navigate anywhere.
Browser supportChrome and Edge onlyAny Chromium browser (Chrome, Edge, Brave, Arc, Opera, Vivaldi, etc.)
Source codeClosed sourceOpen source (MIT)
Tools18 MCP toolsSame 18 MCP tools
PerformanceBaselineIdentical

Blocked Domains in the Official Extension

CategoryBlocked Sites
BankingChase, BofA, Wells Fargo, Citibank
Investing/BrokerageSchwab, Fidelity, Robinhood, E-Trade, Wealthfront, Betterment
Payments/TransfersPayPal, Venmo, Cash App, Zelle, Stripe, Square, Wise, Western Union, MoneyGram, Adyen, Checkout.com
BNPLKlarna, Affirm, Afterpay
Neobanks/FintechSoFi, Chime, Mercury, Brex, Ramp
CryptoCoinbase, Binance, Kraken, MetaMask
GamblingDraftKings, FanDuel, Bet365, Bovada, PokerStars, BetMGM, Caesars
DatingTinder, Bumble, Hinge, Match, OKCupid
AdultPornhub, XVideos, XNXX
News/MediaNYT, WSJ, Barron's, MarketWatch, Bloomberg, Reuters, Economist, Wired, Vogue
Social MediaReddit

Open Claude in Chrome has none of these restrictions.

Architecture

Claude Code <--stdio MCP--> mcp-server.js <--TCP--> native-host.js <--native messaging--> Extension <--> Browser

Three components:

  1. Extension — Manifest V3 with CDP-based browser automation (all 18 tools)
  2. MCP Server — Node.js process started by Claude Code, exposes tools via MCP
  3. Native Messaging Host — Bridge between the MCP server and the extension

Installation

Prerequisites

  • Node.js v18+
  • Any Chromium browser (Chrome, Edge, Brave, Arc, Opera, Vivaldi, etc.)
  • Claude Code v2.0.73+

Step 1: Install dependencies

cd host
npm install
cd ..

Step 2: Load the extension

  1. Go to chrome://extensions (or brave://extensions / edge://extensions)
  2. Enable Developer mode
  3. Click Load unpacked and select the extension/ directory
  4. Copy the extension ID shown under the extension name

Step 3: Register native messaging

./install.sh <your-extension-id>

If you use multiple browsers, pass all IDs:

./install.sh <chrome-id> <brave-id> <arc-id>

Step 4: Restart your browser

Close all windows and reopen. The browser reads native messaging host configs on startup.

Step 5: Add to Claude Code

claude mcp add open-claude-in-chrome -- node /absolute/path/to/host/mcp-server.js

Find the absolute path with:

echo "node $(pwd)/host/mcp-server.js"

Verification

Start a new Claude Code session and test:

Navigate to reddit.com and take a screenshot

Reddit loads. No domain restriction.

Available Tools

All 18 tools, identical to Claude in Chrome:

ToolDescription
tabs_context_mcpGet tab group context
tabs_create_mcpCreate new tab
navigateNavigate to URL, back, forward
computerMouse, keyboard, screenshots (13 actions)
read_pageAccessibility tree with element refs
get_page_textExtract article/main text
findFind elements by text/attributes
form_inputSet form values by ref
javascript_toolExecute JS in page context
read_console_messagesConsole output (filtered)
read_network_requestsNetwork activity
resize_windowResize browser window
upload_imageUpload screenshot to file input
gif_creatorGIF recording (stub)
shortcuts_listList shortcuts (stub)
shortcuts_executeRun shortcut (stub)
switch_browserSwitch browser (stub)
update_planPresent plan (auto-approved)

Updating After Code Changes

No build step. All files are plain JavaScript. After pulling or editing code:

What changedWhat to do
extension/background.js or extension/content.js or extension/manifest.jsonReload the extension: brave://extensions > click the reload icon
host/mcp-server.jsKill stale servers and reconnect: pkill -f "node.*mcp-server" then /mcp in Claude Code
host/native-host.jsRestart the browser (close all windows, reopen)
install.sh or native host name changedRe-run ./install.sh <extension-id>, restart browser, re-add MCP

Quick reset (nuclear option)

If things are broken and you're not sure why:

# 1. Kill all MCP servers
pkill -f "node.*mcp-server"

# 2. Re-run install
./install.sh <your-extension-id>

# 3. Restart browser (close all windows, reopen)

# 4. Reload extension in brave://extensions

# 5. Reconnect in Claude Code
# /mcp

Multiple Sessions

Multiple Claude Code sessions can share the same browser extension. The first session becomes the "primary" (owns the TCP port), and subsequent sessions connect as clients through the primary. All sessions can use the browser simultaneously.

If a session disconnects, kill stale servers and reconnect:

pkill -f "node.*mcp-server"
# then /mcp in each Claude Code session

Troubleshooting

Extension not connecting

  1. Verify the extension is loaded and enabled
  2. Check that ./install.sh was run with the correct extension ID
  3. Restart the browser completely (all windows)
  4. Verify the native messaging host manifest exists:
    • Chrome (macOS): ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.open_claude_in_chrome.json
    • Brave (macOS): ~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.open_claude_in_chrome.json
    • Edge (macOS): ~/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.open_claude_in_chrome.json

MCP server not found

Use an absolute path:

claude mcp add open-claude-in-chrome -- node /absolute/path/to/host/mcp-server.js

"Browser extension is not connected"

The MCP server started but the native host hasn't connected. Try:

  1. Open any webpage (wakes the service worker)
  2. Check service worker logs: chrome://extensions > "Inspect views: service worker"
  3. Verify host/native-host-wrapper.sh exists

Tools fail immediately after reconnect

Stale MCP server processes from previous sessions may be holding the port. Fix:

pkill -f "node.*mcp-server"

Then /mcp in Claude Code to reconnect. The fresh server will bind the port and accept the native host connection.

Port conflict

Default port is 18765. To change:

  1. Create ~/.config/open-claude-in-chrome/config.json:
    { "port": 19000 }
    
  2. Restart browser and Claude Code

License

MIT

Built by Sebastian Sosa (Noemica)

Reviews

No reviews yet

Sign in to write a review