OpenChrome
Harness-Engineered Browser Automation
The MCP server that drives and guides AI agents through a real Chrome.
English · 한국어
What it is
OpenChrome is an MCP server that controls your real, already-logged-in Chrome
through the CDP — no middleware, no separate browser, no re-authentication.
One Chrome process, many isolated tabs, ~300 MB for 20 parallel lanes.
It is harness-engineered: the server doesn't just expose browser APIs, it wraps
them with a hint engine, a circuit breaker, an automatic-recovery runtime, and
token-efficient page serialization — so the agent makes fewer mistakes, recovers
without "thinking", and burns far fewer tokens.
You: compare "AirPods Pro" prices across Amazon, eBay, Walmart, Best Buy
AI: [4 parallel lanes, already authenticated everywhere]
Best Buy $179 · Amazon $189 · Walmart $185 · eBay $172
live pages · already authenticated · past bot detection
| Traditional (Playwright et al.) | OpenChrome |
|---|
| 5-site task* | ~250s (login each) | ~3s (parallel) |
| Memory* | ~2.5 GB (5 browsers) | ~300 MB (1 Chrome) |
| Re-auth | every run | never |
| Bot detection | flagged | invisible (real Chrome) |
* Illustrative of the architectural difference (one authenticated Chrome vs. N cold
browsers), not benchmarked competitive results. Quantitative speed/cost figures become
headline claims only as live or recorded-real benchmark rows — see
docs/benchmarks/benchmark-direction.md.
Quick start
Install and point your MCP client at it — one command:
npm install -g openchrome-mcp
openchrome setup # Claude Code
openchrome setup --client codex # Codex CLI
npx openchrome-mcp setup --client opencode # OpenCode
Restart your MCP client. That's it — Chrome auto-launches on first tool call.
Updating is not configuration migration. npm install -g openchrome-mcp@latest
updates the OpenChrome binary, but it does not rewrite existing Claude Code,
Codex CLI, OpenCode, or other MCP host registrations. If a release note asks you
to move to a new topology (for example isolated profiles, broker mode, or a
future auto-elect mode), rerun openchrome setup --client <host> ... or update
the host config manually, then restart that host session so the MCP namespace is
loaded from the new config.
For manual Codex CLI configuration, run openchrome config --client codex
and add the printed [mcp_servers.openchrome] block to ~/.codex/config.toml.
Manual MCP config (Cursor / VS Code / Windsurf / others)
{
"mcpServers": {
"openchrome": {
"command": "openchrome",
"args": ["serve", "--auto-launch"]
}
}
}
Run openchrome update later to refresh the CLI and client config.
Prefer no terminal? A one-click desktop app
(macOS / Windows / Linux, beta) runs the server with no Node.js setup.
What you can do with it
Ask your agent in plain language — these all map to OpenChrome tools:
- Parallel research — "screenshot AWS billing, GCP, Stripe, Datadog at once" → 4 lanes, one Chrome, already authenticated.
- Authenticated scraping — crawl dashboards and member-only pages using your existing login. No credentials in config.
- Form & flow automation — fill, click, navigate multi-step flows; the agent gets corrective hints when a step drifts.
- Production UI debugging —
oc_performance_insights / oc_vitals for LCP/CLS, console_capture, oc_devtools_url to attach live DevTools.
- Site monitoring & diffing —
oc_evidence_bundle snapshots + oc_diff for deterministic before/after (DOM, screenshot pHash, network, console).
- Crawling — async
crawl_start / crawl_status / crawl_cancel jobs with cursor pagination.
- Verifiable runs —
oc_assert checks page state against an Outcome Contract (pass / fail / inconclusive) instead of guessing.
The default surface is 118 tools across navigation, interaction, reading,
extraction, parallel workflows, contracts, skills, recovery, and diagnostics.
Full catalogue: docs/agent/capability-map.md.