BeatBrowser
Integrates with the Chrome browser via an unpacked extension (not listed in the Chrome Web Store), enabling control of a signed-in Chrome profile and its website sessions.
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
Your everyday Chrome, now a workspace for AI agents.
An open-source browser toolkit by BeatAPI. Connect MCP-capable agents to the Chrome profile you already use, with its existing website sessions. Give background tasks their own windows, follow their progress and take over when needed.
Website · Comparison · Quick start · Background workspace · Tools · JavaScript SDK · Privacy · MIT
Version 1.3.2 keeps tasks in the extension workspace without creating Chrome tab groups. Install · Release notes
One browser toolkit across your agents
Use BeatBrowser from Claude Code, Codex CLI, Cursor or another client that can launch a local stdio MCP server. Your agent provides the reasoning; BeatBrowser provides the browser tools.
“Open a background task on example.com, read the title and report the result. Pause for my review, then finish after I return control.”
Keep your website sessions. Work in a selected, already signed-in Chrome profile without exporting cookies or migrating browser data.
Work in a separate task window. Keep task pages and progress in a Chinese/English sidebar. View, pause, resume or stop from one place.
Recover after updates. Task records and progress survive extension reloads. Unfinished tasks restore paused; completed tasks stay completed. Missing pages can be explicitly reassociated.
Clean up when done. Clear one ended task, clear ended tasks in a batch, or confirm clearing everything. User-associated, handed-over and moved pages are protected.
Normal browser control needs no BeatBrowser account or API key. Your agent needs its own model access. BeatBrowser is also included in BeatGEO, which adds brand monitoring, evidence and retests.
Related MCP server: huashu-chrome
Compare browser integrations
Integration | Browser and login state | Task workspace | Native access |
Codex built-in browser (desktop) | Separate profile; sign in inside the app | In-app browser panel | OpenAI desktop integration |
Codex browser extension | Existing browser profile and signed-in sites | Existing tabs; background and parallel-tab work | OpenAI desktop integration |
Claude Code built-in browser (desktop) | Clean profile; sign in and optionally keep cookies | In-app Browser panel | Claude Code desktop |
Claude Code + Claude in Chrome | Existing browser profile and signed-in sites | Session-linked tab group | Supported Claude integrations |
BeatBrowser | Existing connected Chrome profile and signed-in sites | Separate task windows; progress, pause and takeover | Local MCP clients, CLI and JavaScript SDK |
Compare the browser integrations, not their models. Official extensions also support background and multi-tab work. BeatBrowser provides one MIT-licensed browser toolkit for compatible agents; separate task windows still share their profile's website sessions. Detailed comparison and official sources.
Quick start
Prepare Node.js 20+, Chrome 116+, and a compatible local MCP client.
npm install --global @beatapi/beat-browser@1.3.2
beat-browser install --dry-run
beat-browser install
beat-browser extensionKeep the global installation in place. In the Chrome profile you want to use, open
chrome://extensionsand enable Developer mode.Choose Load unpacked and select the extension folder printed by the command. Load only one copy per profile.
Restart your Agent client. Run
beat-browser doctor --json; readiness requiresok: trueandextensionOnline: true.Ask the agent to list connected profiles, choose the intended one and start a small read-only task. Open the extension → Workspace to follow it.
The installer previews client configuration changes with --dry-run and backs up changed configurations when applied. An installed configuration adapter is not an end-to-end certification of every Agent client. Agent installation
Using BeatGEO? Follow its setup instead. It installs a fixed BeatBrowser revision and prepares the extension; you do not need another clone or global CLI.
Download the matching CLI and extension, or install from source. The extension ZIP alone is not the full installation. The Chrome extension is loaded unpacked and is not listed in the Chrome Web Store.
From installation to a finished task
BeatBrowser supplies browser tools; the Agent decides the steps. You can inspect the workspace, take over a task, and clean up completed tasks without clearing your everyday tabs. In BeatGEO, setup prepares the included extension, and the monitoring worker calls this same browser layer.
Background workspace
TaskSpaces use a separate window in your existing profile; they are not separate cookie containers. A site popup or native browser behavior can still gain focus. Focusing a running task pauses subsequent automation; this cannot undo an action already in flight. Background work is the intended experience, not a guarantee of invisible operation.
After a reload, inspect recovered pages before continuing. Live pages are recovered by their native Chrome target identity. After a full browser restart, use Reconnect pages to confirm page associations; matching URLs alone never transfer control. Tasks lost before recovery was introduced cannot be reconstructed. Agent reconnection restores routing; an explicitly authorized new session can claim a recovered task without resuming it automatically.
When updating, finish active work first, update the matching source, reload the extension and restart the local bridge and Agent connections. Do not delete local storage to update. Task lifecycle and recovery
Tools
BeatBrowser exposes 24 normal MCP tools, including spaces for background tasks.
Purpose | Tools |
Observe |
|
Navigate |
|
Act |
|
Transfer data |
|
Work with people and context |
|
Advanced |
|
Snapshot before acting, pass explicit tabId/spaceId, and check the result. A successful click receipt is not proof of the business outcome. Use ask for login, CAPTCHA, OTP or a decision requiring the user. Multiple clients can connect; ordinary writes to the same tab are not isolated.
Reviewed site notes and playbooks can be shared locally through ~/.beat-browser/learnings/. This is reusable context, not automatic model training. JavaScript SDK · Demo guide · Dated integration comparison
Optional BeatAPI execution
The optional Fast JEV executor lets a BeatAPI model choose from a bounded set of browser actions. It uses the same connection and is off by default. Live use requires a BeatAPI key and explicit task consent. Normal mode does not require it.
beat-browser run --dry-run \
--url https://example.com \
--goal 'Check that the Example Domain page is ready'Dry-run makes no model call and opens no browser connection. Fast JEV currently targets top-frame light DOM, not iframes or shadow DOM; it stops on uncertainty instead of replaying an uncertain submission. Configuration and consent
Privacy and boundaries
The local bridge listens on 127.0.0.1; Agent connections require a local token. Normal mode adds no BeatBrowser cloud service or telemetry, but tool output still reaches your chosen Agent and its provider. Task labels, progress and lifecycle metadata persist locally until cleared; URL fingerprints support page recovery.
The extension has broad browser permissions and trusts the local machine. It does not protect against malicious local software or extensions. Task focus gates and act checks are not universal authorization controls: individual tools or JavaScript can write to websites. Use trusted agents and retain action-specific approval for consequential operations. Full privacy details
Development and verification
npm ci
npm test
npm run check:syntax
npm run check:security
npm run check:package
npm run build:extensionTask recovery passed isolated real Chromium extension-reload and browser-restart checks. These do not establish macOS foreground-focus behavior or every Agent client's compatibility. See workspace acceptance, TaskSpace checks, historical results and release procedure.
Credits and license
MIT. Based on huashu-chrome by alchaincyf, with the original copyright preserved. BeatAPI maintains the distribution and adds TaskSpaces, recovery, the workspace UI and optional Fast JEV execution.
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.
Agent social posting via your logged-in Chrome. Remote MCP + OAuth. Not clawpost.dev.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
Related MCP Servers
- 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 gradedqualityAmaintenanceEnables 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.356 npm322MIT
- AlicenseNot gradedqualityBmaintenanceEnables remote AI agents to control a local, authenticated desktop browser over MCP through an outbound WebSocket bridge and Chrome extension, supporting tab management, navigation, page reading, clicking, typing, scrolling, screenshots, and JavaScript evaluation.1MIT
- AlicenseNot gradedqualityAmaintenanceProvides MCP tools to control real, logged-in Chrome or Brave browser profiles—tabs, navigation, clicks, and typing—with secure profile isolation and no network listener.1MIT