TL;DR / What is WebBridge?
WebBridge (agent-webbridge) is an open-source (MIT), clean-room browser automation engine and stdio Model Context Protocol (MCP) server for AI agents.
Unlike traditional headless scrapers that trigger Cloudflare captchas or official extensions restricted to a single tab, WebBridge drives your real Google Chromeβwith your authentic login sessions, cookies, and 2FAβacross multiple profiles simultaneously, with true per-tab DevTools parallelism.
- π Interactive Documentation & Live Demos: jeet-dhandha.github.io/agent-webbridge
- π¦ npm Package:
agent-webbridge - π§© Chrome Web Store: Agent WebBridge
- π Community Playbooks: awb-recipes
The Problem: Why Existing Browser Bridges Choke on Real Work
If you've tried giving AI agents (Claude Code, Cursor, Windsurf) access to a browser, you've likely hit these walls:
- Headless Scrapers (Playwright / Puppeteer): Bot protection (Cloudflare Turnstile, Akamai, Google reCAPTCHA) immediately flags them. Re-logging into Google, GitHub, or LinkedIn headlessly is painful and fragile.
- Single-Tab Bottlenecks: Most browser extensions funnel every Chrome DevTools Protocol (CDP) command through a single global "active tab". If your agent needs to compare 5 documentation pages or scrape 10 search results, it has to wait serially.
-
Single Account Concurrency: You can't easily instruct an agent to inspect a deployment in your
WorkGoogle profile while drafting an issue in yourPersonalprofile without manual tab switching.
How WebBridge Solves It
caller (Claude / Cursor / curl)
β HTTP POST /command (port 10086) or stdio MCP
βΌ
awb central router
βββ Profile "Work" βββΆ daemon (port 13336) βββΆ extension βββΆ Tabs 1, 2, 3 (parallel)
βββ Profile "Personal" βββΆ daemon (port 13222) βββΆ extension βββΆ Tabs 4, 5 (parallel)
βββ Profile "Developer" βββΆ daemon (port 13431) βββΆ extension βββΆ Tabs 6, 7 (parallel)
1. True Per-Tab CDP Parallelism
WebBridge attaches chrome.debugger per tab using an internal Map keyed by tabId. N tabs in one profile run concurrently:
- Serial execution: 5 tabs evaluating sleeping payloads take ~9.3 seconds.
- WebBridge parallel execution: 5 tabs evaluate concurrently in ~3.5 seconds.
2. Multi-Profile Fleet Orchestration
Behind a lightweight loopback router on 127.0.0.1:10086, WebBridge manages isolated daemons for each Chrome profile. Pass "profile": "Work" or "profile": "Personal" in any command to drive multiple identities at once.
3. Community Recipes (awb-recipes)
Never let your agent guess fragile CSS selectors. WebBridge includes awb-recipesβstructured, community-maintained JSON playbooks with battle-tested fallback selectors and anti-bot caveats for Google Search, GitHub Gists, Hacker News, LinkedIn, and more.
4. Zero Cloud, Zero Telemetry
Everything runs locally on 127.0.0.1. No external relay, no accounts, and built-in security filters rejecting any unauthorized non-loopback Host or remote Origin requests.
Architectural Comparison
| Feature | Headless Playwright | Cloud Browser APIs | Traditional Bridges | WebBridge (agent-webbridge) |
|---|---|---|---|---|
| Real Logged-in Sessions | β Requires re-login | β Isolated remote box | β Yes | β Yes (Full 2FA & Cookies) |
| Multi-Profile Concurrency | β Complex setup | β Costly | β 1 profile | β Unlimited Profiles (NΓM) |
| Per-Tab Parallelism | β Yes | β οΈ Metered/Throttled | β 1 Tab at a time | β True Parallel CDP (Map) |
| Browser identity | β Often challenged | β οΈ Varies | β Your own Chrome profile | β Your own Chrome profile |
| MCP Integration | β οΈ Needs wrapper | β οΈ Custom REST | β οΈ Experimental | β Zero-dep stdio & HTTP MCP |
| Cost & Privacy | Free / Local | $0.05β$0.20 / min | Free / Closed | 100% Free, MIT, 127.0.0.1 |
30-Second Setup for Claude Code & Cursor
Step 1: Install CLI & Daemon
npm i -g agent-webbridge
awb setup "Work"
(Follow the interactive prompt to load the unpacked extension into Chrome Developer mode.)
Step 2: Add to your MCP Config
For Claude Code:
claude mcp add chrome -- npx -y agent-webbridge mcp
For Claude Desktop / Cursor / Windsurf (mcpServers):
{
"mcpServers": {
"chrome": {
"command": "npx",
"args": ["-y", "agent-webbridge", "mcp"]
}
}
}
The 13 Headful Browser Tools Included
-
navigateβ Open URLs, wait for network idle, or spawn new background tabs. -
find_tabβ Locate tabs across profiles by URL regex or page title. -
evaluateβ Execute sandboxed JS expressions in page context. -
snapshotβ Extract clean accessibility trees with stable@eelement references. -
click/trusted_clickβ Dispatch real CDP-level mouse events (isTrusted: true). -
fillβ Set input values with native event dispatching (supports<input>,<textarea>, andcontenteditable). -
networkβ Capture and inspect XHR/fetch request traffic. -
uploadβ Handle native file input uploads. -
screenshotβ Capture full-page or viewport PNGs directly to disk. -
save_as_pdfβ Export pages to clean PDFs. -
list_tabsβ Inspect all open tabs and tab groups across profiles. -
close_tabβ Safely release debugger attachments and close tabs. -
close_sessionβ Clean up tab groups when tasks conclude.
Links & Ecosystem
- Documentation: https://jeet-dhandha.github.io/agent-webbridge/
- GitHub Repository: https://github.com/jeet-dhandha/agent-webbridge
- Community Recipes: https://github.com/jeet-dhandha/awb-recipes
-
Official MCP Registry:
io.github.jeet-dhandha/agent-webbridge
Feedback, PRs, and community recipes are welcome! β Star the project on GitHub if you find it helpful!
Top comments (0)