kunchenguid/chrome-devtools-axi

The most agent-ergonomic browser automation

chrome‑devtools‑axi – Agent‑friendly Chrome automation

What it ischrome-devtools-axi is a command‑line tool that wraps the chrome‑devtools‑mcp library (a headless‑Chrome controller built on the Chrome DevTools Protocol) and presents the output in an AXI‑compliant format. AXI (the Agent eXecution Interface) is a lightweight schema designed for large‑language‑model agents, so the CLI is tuned to be token‑efficient and to give agents clear, actionable hints.

Why it matters for AI agents

  • Low token cost – The tool encodes snapshots with the TOON format, cutting the token count of raw JSON by ~40 % (≈57 % fewer input tokens compared with raw chrome‑devtools‑mcp).
  • Fewer interaction turns – A single command can navigate, capture a page, and suggest the next step, reducing the number of back‑and‑forth calls an LLM needs to make.
  • Built‑in ergonomics – Every response includes a short “help” line that tells the agent exactly what command to run next (e.g., click @g1:1).
  • Benchmark‑backed – In the public AXI benchmark (14 real‑world browsing tasks, Claude‑Sonnet‑4‑6 as the agent) it achieved the lowest average input tokens, cost, duration and turn count while maintaining 100 % success.

How it works

chrome‑devtools‑axi  (CLI) → HTTP (localhost:9224) → Bridge server (persistent MCP session) → chrome‑devtools‑mcp → Headless Chrome
  • A bridge process stays alive across CLI invocations, so Chrome isn’t relaunched each time.
  • The bridge captures the accessibility tree, extracts interactive element IDs (uid= refs) and encodes them with TOON.
  • Commands (open, click, fill, eval, screenshot, lighthouse, …) are translated into DevTools Protocol messages and the results are returned in a compact, agent‑ready JSON.

Installation & quick start

  1. Agent‑skill route (recommended) – Add the skill to a Claude/​Hermes‑style agent with a single command, no npm install needed:
    npx skills add kunchenguid/chrome-devtools-axi --skill chrome-devtools-axi -g
    
    The skill tells the agent to invoke the CLI via npx -y chrome-devtools-axi whenever a task requires a real browser.
  2. Direct CLI – Install globally or run on‑the‑fly:
    npm i -g chrome-devtools-axi   # or
    npx -y chrome-devtools-axi open https://example.com
    
  3. From source – Clone, pnpm install --frozen-lockfile, pnpm run build, then pnpm link.

Typical agent interaction

$ chrome-devtools-axi open https://example.com
page: {title:"Example Domain",url:"https://example.com",refs:1}
snapshot:
RootWebArea "Example Domain"
  heading "Example Domain"
  paragraph "This domain is for use in illustrative examples..."
  uid=g1:1 link "More information..."
help[1]: Run `chrome-devtools-axi click @g1:1` to click the "More information..." link

The agent can then issue chrome-devtools-axi click @g1:1, receive a new snapshot, and continue the workflow.

Key command groups

  • Navigationopen <url>, back, scroll, wait, eval.
  • Interactionclick @uid, fill @uid <text>, type, press, hover, drag.
  • Page managementpages, newpage, selectpage, closepage, resize.
  • DevTools dataconsole, network, lighthouse, perf‑start/stop, heap.
  • Bridge controlstart, stop, setup hooks (installs session‑start hooks for Claude Code, Codex, OpenCode).

Configuration knobs

  • CHROME_DEVTOOLS_AXI_PORT – custom bridge port.
  • CHROME_DEVTOOLS_AXI_BROWSER_URL – attach to an existing Chrome instance (HTTP or WS endpoint).
  • CHROME_DEVTOOLS_AXI_CHANNEL – choose Chrome release channel (stable, beta, canary, dev).
  • CHROME_DEVTOOLS_AXI_SESSION – run multiple isolated bridge sessions side‑by‑side.
  • Isolation flags (--use-mock-keychain, --password-store=basic) ensure launched browsers never touch the OS keychain.

Who should use it

  • Developers building LLM‑driven agents that need reliable, token‑light browser automation.
  • Teams that want a drop‑in skill for Claude, Hermes, or any AXI‑compatible agent platform.
  • Anyone needing a programmable Chrome interface that returns concise, structured data suitable for prompt injection.

All details above are taken directly from the repository’s README; no additional features have been inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project