BeatBrowser
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BeatBrowserUse my signed-in Chrome to check my Gmail for unread emails and summarize the top three."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

BeatBrowser
Let any MCP agent control your own Chrome — with full login state.
MCP server + Chrome extension. Normal tools for exploration. Optional Fast JEV for bounded speed. Same profile, cookies, and sessions. No clean browser. No remote desktop.
Website · Quick start · Compare · Live proof · Fast JEV guide
Why BeatBrowser
Browser control today usually splits two ways: products that reach your real login state but stay locked to one vendor, or open stacks that open a clean browser with none of your sessions.
BeatBrowser takes both:
Your daily Chrome — extension on the profile you already use
Any MCP agent — Claude Code, Cursor, OpenCode, Codex CLI, custom clients
Two modes, one browser — Normal (23 tools) and optional Fast JEV (typed decisions via BeatAPI JEV)
Fast JEV is an execution mode, not a second browser.
Related MCP server: Browser Controller
How it works
flowchart LR
A[Your MCP agent] --> B[BeatBrowser MCP]
B --> C[Local bridge]
C --> D[Chrome extension]
D --> E[Signed-in Chrome]
subgraph Fast[Fast JEV optional]
T[browser_task] --> J[BeatAPI JEV]
J --> V[Validate · act · verify]
V --> D
endNormal traffic stays local (MCP ↔ 127.0.0.1 ↔ extension). Fast JEV only sends bounded, redacted task/page state when you enable it and consent per task — never cookies, raw HTML, or screenshots. See PRIVACY.md.
Two modes, one browser
Normal | Fast JEV | |
Interface | 23 MCP tools |
|
Decides | Your outer agent | BeatAPI JEV over a finite action space |
Browser | Your signed-in Chrome | Same Chrome |
API key | Not required | Required for live JEV |
Best for | Explore, debug, odd pages | Repeatable flows with clear success checks |
On doubt | Keep using any tool | Stop; return to Normal or a human |
Learn a site once in Normal, save notes, then run the path in Fast JEV.
How it compares
Same shape as the common browser-control matrix: checkmark plus a short note when it helps. ✅ yes · ⚠️ partial / setup-dependent · ❌ no. Directional against public docs — not a sponsorship claim or speed ranking.
BeatBrowser | Claude in Chrome | ChatGPT / Codex | Playwright MCP | chrome-devtools-mcp | Browser Use | ||
Daily Chrome + real login | ✅ Extension on the profile you already use | ⚠️ Harness / CDP; profile varies | ✅ | ✅ | ⚠️ Extension / attach mode | ⚠️ Remote debugging / DevTools attach | ⚠️ Harness or remote Chromium |
Any MCP agent | ✅ MCP is the primary interface | ❌ Python harness, not MCP-first | ❌ Anthropic clients only | ❌ OpenAI product surface | ✅ | ✅ | ⚠️ Library; MCP not the default |
No debug port / launch flags | ✅ Load unpacked extension | ❌ CDP / harness launch | ✅ | ✅ | ⚠️ Extension mode can avoid it | ❌ Needs DevTools / remote debugging | ❌ Chromium or remote debugging |
Explicit Normal explore tools | ✅ 23 MCP browser tools | ⚠️ JEV-centric loop | ⚠️ Inside Claude only | ⚠️ Inside ChatGPT / Codex | ✅ Playwright APIs over MCP | ✅ Low-level CDP / DevTools | ✅ Agent tools in Python runtime |
Optional Fast JEV typed loop | ✅ Finite ops + targets; local validate / act / verify | ✅ Core product loop | ❌ | ❌ | ❌ | ❌ | ⚠️ Custom loops possible; not BeatAPI Fast JEV |
Dual mode, one signed-in browser | ✅ Normal and Fast JEV share cookies / sessions | ❌ JEV-focused | ❌ Single product loop | ❌ Single product loop | ❌ Playwright session model | ❌ DevTools session model | ⚠️ One runtime; no Normal+Fast split |
Compounding site learnings | ✅ Bundled notes + local | ⚠️ Project-specific | ❌ Product memory only | ⚠️ Product memory | ❌ | ❌ | ⚠️ Exists; often off by default |
Human handoff (captcha / pay / judgment) | ✅ Handoff tool + stop-on-uncertain Fast path | ⚠️ Depends on harness wiring | ✅ Pauses for you | ⚠️ Sensitive-action confirms | ❌ | ❌ | ⚠️ Stronger in hosted / cloud setups |
In short: Claude in Chrome and ChatGPT/Codex win inside their own products. Playwright MCP and chrome-devtools-mcp win for scripts, CI, and protocol work. jev-ultrafast is the typed-decision reference in the Browser Use stack. BeatBrowser is for when your agent needs your signed-in Chrome — with Normal tools and optional Fast JEV on the same profile.
Live proof
Same signed-in X account, three approved replies per mode, all confirmed via permanent status URLs.
Mode | Verified | Total | Mean / reply |
Normal | 3/3 | 170.4 s | 56.8 s |
Fast JEV | 3/3 | 36.2 s | 12.1 s |
Fast path was ~4.7× faster on this workload (10 JEV calls, ~68k input tokens, about $0.003 at BeatAPI JEV list pricing of $0.042 / 1M input tokens).
Narrow smoke test (n=3 per mode), not a general benchmark. Full evidence: TEST_RESULTS.md.
Quick start
Node.js 20+, Chrome, and an MCP-capable agent.
git clone https://github.com/BeatAPI/beat-browser.git
cd beat-browser
npm ci
node src/cli.js install
node src/cli.js doctor --jsonLoad the unpacked extension from node src/cli.js extension. Agent-led install: AGENT_INSTALL.md.
In a source checkout, use node src/cli.js where examples show beat-browser.
Normal mode
beat-browser mcp23 tools: tabs, snapshots, clicks, typing, forms, network, screenshots, human handoff, learnings.
Fast JEV mode
Dry-run first (no browser or model call):
beat-browser run --dry-run \
--url https://example.com \
--goal 'Check that the Example Domain page is ready'Live run (needs BEATAPI_API_KEY and explicit enable):
export BEATAPI_API_KEY='your-key-from-a-secret-manager'
beat-browser run --enable-fast-agent \
--url https://example.com \
--goal 'Check that the Example Domain heading is visible' \
--max-steps 10 \
--max-model-calls 20 \
--timeout-ms 60000Via MCP:
beat-browser mcp --enable-fast-agentbrowser_task requires cloudConsent: true per task. Read the Fast JEV guide and PRIVACY.md first. JEV product page: beatapi.io/jev-api.
Why Fast JEV moves faster
signed-in Chrome
│
▼
live DOM → legal operations + targets
│
▼
one BeatAPI JEV request
│
▼
local validate → act → verifyJEV never returns selectors, coordinates, shell, or JavaScript. The extension keeps the real DOM node, rechecks before acting, and stops on stale identity, domain drift, challenges, or uncertain side effects.
Learn once, reuse the path
Bundled:
docs/learnings/Local:
~/.beat-browser/learnings/(not overwritten by upgrades)
Call learnings({ domain: "x.com" }) before a known site. If the page disagrees, trust the page, then save the corrected path. Learnings are hints — never credentials, cookies, or private drafts.
Limits
Fast JEV supports visible, enabled controls in the top-frame light DOM: click, exact text, native select, scroll, wait, done/blocked. Challenges, iframes, shadow DOM, canvas, uploads, and many custom widgets are out of scope; uncertain actions return control and are never auto-replayed.
Development
npm test
npm run check:syntax
npm run check:security
npm run build:extension
npm run benchmark:offline -- --iterations 3License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceLets any MCP-capable coding agent drive your real, logged-in Chrome through a local MCP server and MV3 extension.5-
- AlicenseNot gradedqualityBmaintenanceGives MCP-compatible AI agents direct control of your real browser with existing sessions, logins, and cookies. Supports multiple agents concurrently with tab targeting.7 npm3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control your existing Chrome browser via MCP, using your logged-in sessions for automation on authenticated sites. Provides high-level browser tools plus raw CDP and Chrome API access.MIT
- AlicenseNot gradedqualityBmaintenanceEnables any MCP-compatible AI agent to drive your own Chrome browser with your existing login state, filling forms, clicking elements, fetching data, and handling captchas without API keys or re-authentication.710 npm205MIT