Chrome Actuator
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., "@Chrome Actuatorcreate a new tab and navigate to github.com, then take a snapshot"
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.
Chrome Actuator
Unofficial companion: drive the Chrome window you already have open from an agent (tested with Grok Build). New work lands in a pink Actuator tab group in the current session, not a new Chrome window.
tabs_create → snapshot → press @e12 / fill @e5 "text" → settlev1 is an actuator, not a side-panel chatbot. The agent stays in the terminal.
The extension sees the page, assigns @eN refs, and clicks/types. Your cookies
and logins stay in Chrome.
Not affiliated with, endorsed by, or sponsored by xAI. "Grok" and "Grok Build" are xAI marks, used here only to describe compatibility. See NOTICE.
Status
Phases 0–3 are in. pnpm gauntlet covers unit tests, the content-script
actuator, and a live Chromium tab driven through native messaging.
Phase | What | State |
0 | Workspace, stable extension id, side panel | done |
1 | Native messaging heartbeat | done |
2 | snapshot / press / fill on a real tab | done |
3 | Agent plugin + | done |
Related MCP server: chrome-dom-mcp
Load the extension
cd /path/to/chrome-actuator
pnpm install
pnpm --filter @chrome-actuator/extension buildOpen
chrome://extensionsEnable Developer mode
Load unpacked →
packages/extension/distPin the extension and click it (or
Cmd+Shift+G)
Then register the native host (once) and fully quit Chrome:
node packages/host/dist/install.js--trust on the plugin install lets the agent operate this Chrome profile.
Only do that if you trust the agent.
grok plugin install ./packages/plugin --trustSide panel should say connected once the MCP host is running.
pnpm gauntlet # unit + L3 + live native-messaging L4Stable unpacked id (from the committed manifest key): lgkcgenkjaalkfnpmglgpfclkaokblfj
Decisions we will not reopen
Brain in the agent, body in Chrome. No in-extension LLM loop in v1.
Native messaging, not WebSocket, not Playwright, not agent-device-the-binary.
agent-device contract only (
snapshot/press/fill).No
chrome.debuggerin v1 (no yellow infobar).Independent implementation. Do not copy another vendor's brand, marks, or reverse-engineered internals into this tree.
Layout
packages/shared protocol, snapshot grammar, target parser
packages/extension MV3 side panel + service worker
packages/host MCP + native host
packages/plugin Grok Build plugin (compatibility layer)Tests
pnpm --filter @chrome-actuator/shared testLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
- TabfleetOAuthcom.tabfleet
Launch, inspect, control, and share isolated cloud browsers for your agents.
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceDrive your real, signed-in Chrome browser from any MCP client, enabling browser automation such as navigation, clicking, typing, and screenshots through standard MCP tools.1-
- AlicenseNot gradedqualityBmaintenanceEnables real-time browser control and DOM interaction through a Chrome extension bridge, supporting navigation, snapshots, clicks, screenshots, and JavaScript execution.MIT
- AlicenseNot gradedqualityAmaintenanceEnables remote agents to control a local Chrome/Edge browser via MCP, supporting navigation, snapshots, clicks, typing, screenshots, and script execution.152 npmISC
- AlicenseAqualityAmaintenanceEnables AI agents to drive the user's already-running Google Chrome through a WebSocket bridge, listing and switching tabs, navigating, clicking, typing, scrolling, extracting DOM, taking screenshots, and evaluating JavaScript. It works without restarting Chrome and preserves all existing logins, cookies, and 2FA sessions.11MIT