Chrome Actuator

Chrome Actuator

Enables agents to drive an existing Chrome window by creating tabs, taking snapshots, pressing keys, and filling form fields via native messaging without opening a new browser instance.

Category
Visit Server

README

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" → settle

v1 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 + /chrome + skill done

Load the extension

cd /path/to/chrome-actuator
pnpm install
pnpm --filter @chrome-actuator/extension build
  1. Open chrome://extensions
  2. Enable Developer mode
  3. Load unpacked → packages/extension/dist
  4. Pin 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 --trust

Side panel should say connected once the MCP host is running.

pnpm gauntlet   # unit + L3 + live native-messaging L4

Stable 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.debugger in 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 test

License

MIT. See LICENSE and NOTICE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured