One agent drove three local, no-API-key browser tools through the same tasks. We counted the tokens each tool fed back into the model’s context and the wall-clock seconds each took. One shared tokenizer, identical logical steps, blocked runs recorded honestly. Shorter bar wins.
One known page, a few steps. Everyone does fine, the gap is small.
10 fields, submit, confirm
Everest + Gojo, capped reads
Hacker News top 10
fresh session, memory test
Many pages, real finding-your-way. This is where the tools stop being similar.
Everest → Gojo, 6 hops, find each link
login → sort → cart → checkout
GitHub: look + pull 4 facts
All 7 tasks. Token totals include the one-time setup cost each tool preloads per chat.
💬 total tokens
⏱ total seconds
The two iframer modes bracket everything: the schema-free CLI spends the fewest total tokens, and, now that it routes to a warm shared daemon instead of a cold browser per call, runs as fast as the MCP (16.4s vs 16.6s).
We rigged the tasks so iframer would guess wrong three times and have to look twice, then gave Playwright the same job on its normal path. Even sabotaged, iframer’s worst day costs less than Playwright’s best. Tokens only.
Connecting an MCP tool preloads its instructions into the conversation. Paid once per chat, not per call, and even if you never browse. This is iframer’s one weak spot on short sessions; the CLI preloads nothing.
iframer 0.10.3 · agent-browser 0.35.1 · Playwright MCP 0.0.79 · one shared tokenizer · single runs, treat as rough · 2026