OpenChrome is an MCP server that controls your real, already-logged-in Chrome
through the CDP. It wraps the browser API with a hint engine, circuit breaker,
auto-recovery runtime, and token-efficient page serialization.
What you can do
Navigate — navigate url=<url> opens a URL in a managed tab.
Read — read_page mode=dom returns a compact, ~5–15x token-cheaper
serialization of the page. Use ref_N handles in follow-up actions.
Interact — interact, fill_form, form_input, act for clicking,
typing, and high-level actions.
Screenshot — computer returns a screenshot of the current viewport.
Parallel lanes — open multiple tabs with oc_lane_create; work them
concurrently with the same Chrome session and existing cookies.
Outcome contracts — oc_assert checks page state against a JSON contract
(url equals, dom_count ≥ N, dom_text contains …) and returns pass / fail /
inconclusive without guessing.
Skills — oc_skill_record / oc_skill_recall store and replay procedural
memory across sessions.
1---2name: shaun0927-openchrome-openchrome3description: OpenChrome4---56# OpenChrome78OpenChrome is an MCP server that controls your real, already-logged-in Chrome9through the CDP. It wraps the browser API with a hint engine, circuit breaker,10auto-recovery runtime, and token-efficient page serialization.1112<!-- Shared skill body — used by both Claude Code (.claude-plugin) and Codex13 (.codex-plugin) manifests. Both manifests point to skills/ at the repo root,14 so this file is the single source of truth (SSOT) for skill content. -->1516## What you can do1718- **Navigate** — `navigate url=<url>` opens a URL in a managed tab.19- **Read** — `read_page mode=dom` returns a compact, ~5–15x token-cheaper20 serialization of the page. Use `ref_N` handles in follow-up actions.21- **Interact** — `interact`, `fill_form`, `form_input`, `act` for clicking,22 typing, and high-level actions.23- **Screenshot** — `computer` returns a screenshot of the current viewport.24- **Parallel lanes** — open multiple tabs with `oc_lane_create`; work them25 concurrently with the same Chrome session and existing cookies.26- **Outcome contracts** — `oc_assert` checks page state against a JSON contract27 (url equals, dom_count ≥ N, dom_text contains …) and returns pass / fail /28 inconclusive without guessing.29- **Skills** — `oc_skill_record` / `oc_skill_recall` store and replay procedural30 memory across sessions.31- **Crawling** — async `crawl_start` / `crawl_status` / `crawl_cancel` with32 cursor pagination.3334## Setup3536```bash37npm install -g openchrome-mcp38openchrome setup # Claude Code39openchrome setup --client codex # Codex CLI40```4142Restart your MCP client. Chrome auto-launches on the first tool call.4344## First tool by intent4546Use this as the short routing card. The full catalogue remains in47[`docs/agent/capability-map.md`](../../docs/agent/capability-map.md).4849| Intent | Start with | Fallback | Verify with |50|---|---|---|---|51| Open a URL | `navigate` | `tabs_create` | `read_page` |52| Read page facts | `read_page mode=dom` | `inspect` / `query_dom` | `oc_assert` |53| Find action targets | `oc_observe` | `find` / `oc_query` | `inspect` |54| Click or type | `interact` | `computer` | `oc_assert` |55| Verify success | `oc_assert` | `validate_page` | `oc_evidence_bundle` |56| Capture evidence | `oc_evidence_bundle` | `page_screenshot` | `oc_diff` |57| Debug a broken page | `validate_page` | `console_capture` | `oc_evidence_bundle` |58| Crawl or run background work | `crawl_start` | `crawl_status` / `crawl_cancel` | `oc_assert` |59| Repair runtime setup | `openchrome doctor` | `oc_doctor_report` | `openchrome check` |6061Default loop: `navigate` → `read_page` / `oc_observe` → `interact` →62`oc_assert` → `oc_evidence_bundle` if the result is uncertain.6364Use something else when:6566- You need a deterministic browser script without an MCP host agent: use67 Playwright or Puppeteer.68- The user explicitly asks for a platform API or CLI: use that external tool.69- The next step is irreversible: get the host/user confirmation gate first.7071## Key tools7273| Tool | Purpose |74|---|---|75| `navigate` | Open a URL |76| `read_page` | Read page content (dom / markdown / screenshot) |77| `interact` | Click / type on an element |78| `oc_assert` | Verify page state against a contract |79| `oc_lane_create` | Open a parallel tab lane |80| `oc_skill_record` | Store a reusable step sequence |81| `oc_skill_recall` | Retrieve steps for a domain |82| `crawl_start` | Start an async crawl job |83| `oc_evidence_bundle` | Snapshot DOM + screenshot + network + console |84| `oc_diff` | Compare two evidence bundles |8586Full catalogue: [`docs/agent/capability-map.md`](../../docs/agent/capability-map.md).8788---89> Source: [shaun0927/openchrome](https://github.com/shaun0927/openchrome) — distributed by [TomeVault](https://tomevault.io).90<!-- tomevault:4.0:skill_md:2026-07-01 -->
Run npx skillmds@latest add tomevault-io/shaun0927-openchrome-openchrome in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
OpenChrome It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: CAUTION, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.