caveman-browse

Browser tools spend your context before the agent clicks anything.

The tool catalog and a full page dump ride along on every turn. Caveman Browse sends four tools and a compressed accessibility tree instead.

claude mcp add caveman-browse -- npx -y caveman-browseRead the source
one static Go binaryyour own Chrome, no bundled ChromiumBSL-1.1
01Cost

You pay for the tools twice. Once to describe them, once to look at the page.

  1. 01The tool catalogevery callEvery tool name, description and schema. Resent whether the agent uses one of them or not.
  2. 02The page dumpevery turnA full accessibility snapshot. Every node on the page, including the ones nobody asked about.
  3. 03The actual workwhat you wantedOne click. One field. One line read back. This is the part that moves the task.

the first two are billed before anything happens.

02Measured

Four tools, 297 tokens. That is the whole catalog your agent reads before it works.

tool catalog on every calltokens
  • Caveman Browse4 tools
    297
  • Playwright MCP0.0.79
    3,422
  • Chrome DevTools MCP1.7.0
    4,507
inferred, o200k_base, measured 2026-08-14

Then every read after that.

The catalog is fixed. The page is not. A focused query on a 200-row page comes back at roughly 98 tokens, because you ask for the rows, not the tree.

We never benchmarked a full ARIA dump of that page, so there is no number here to compare against. The chart says so.

one read of a 200-row pagetokens
Focused query≈98

bounded: you ask for the rows you need

Full ARIA dumpnot measured

unbounded: every node on the page, every turn

≈98 is inferred, o200k_base. the dump has no figure, so we draw none.
03How

One binary, and the Chrome you already have open. Nothing to download twice.

  1. 01
    Attaches to your Chrome
    the browser you already run
  2. 02
    Reads the real a11y tree
    not a screenshot, not the DOM
  3. 03
    Compresses it
    before it reaches the model
  4. 04
    Exposes four tools
    297 tokens of catalog
Compression is lossy

So the original accessibility tree is written to the CCR store first. The agent can pull it back byte-exact when the compressed view is not enough.

a11y tree → compress → model
a11y tree → CCR store → byte-exact
04Honesty

One pilot cost more than both alternatives. We publish that one too.

The action-heavy checkout pilot spent more tokens than Playwright MCP and Chrome DevTools MCP.

Compressed snapshots help when the agent reads a lot. On a run that is mostly actions, the win is smaller than the overhead. That result is in the repo with the others.

the checkout pilot
Action-heavy run. Caveman Browse cost more tokens than Playwright MCP and Chrome DevTools MCP. It stays in the published benchmarks.
token counts
Offline o200k_base measurements, labeled inferred. Not verified savings, and not your bill.
what was measured
Playwright MCP 0.0.79 and Chrome DevTools MCP 1.7.0, on 2026-08-14. Versions move; the numbers were true that day.
recovery
Compression is lossy on purpose. The original tree is kept byte-exact in the CCR store, so the agent can ask for it back.

Attach it to your Chrome.
Keep the rest of your context.

claude mcp add caveman-browse -- npx -y caveman-browse