Axuse lets AI agents read the DOM accessibility tree instead of screenshots
Axuse is an open-source MCP server that lets AI agents browse through the DOM accessibility tree instead of taking screenshots. The project reports half the tokens of a screenshot agent on 28 tasks.
Image: ctoldigital
Why it mattersA screenshot every step is the single most expensive part of an agent's API cost. Reading the page as text costs less and clicks the right thing more often.
A browser agent that takes a screenshot every step pays for a picture of a page the browser already knows.
Axuse is an open-source MCP server from CTOL Digital Solutions, a consultancy. The project page says it reads the DOM and accessibility tree through the Chrome DevTools Protocol. It does not take screenshots and ask a vision model to read them. The repository has 487 stars and 24 forks, under a custom licence. It was created on 14 October.
What it does
The MCP server exposes about 25 browser tools. These include ax_open, ax_click, ax_fill, ax_observe, ax_scroll and ax_screenshot. On ax_open, the agent gets a text snapshot of the page with stable element references like [ref=e7]. The agent then calls ax_click {e7}. Each follow-up call returns a diff of what changed on the page. The server does not resend the whole snapshot. For a visual check, the agent can still ask for one picture with a byte budget. The project supports Codex, Claude Code, OpenCode and Antigravity as hosts.
Input is sent through CDP's Input.dispatch* as isTrusted events. The project page says this fixes the problem of sites rejecting events from synthetic DOM injection. Failures come back as typed codes, for example REF_NOT_FOUND or STALE_STATE. Each one carries a hint about whether to retry or re-observe.
The project's own benchmark
The README publishes a 28-task benchmark. It compares axuse to Codex's own Chrome extension, and to browser-use 0.13. Each ran in the same harness with the same model. ctoldigital says axuse passed 28 of 28 tasks. Codex-plus-Chrome passed 27 of 27. Browser-use passed 27 of 27. Accuracy was tied on the shared tasks. The project reports a median of 17 seconds per task for axuse. It reports 26 seconds for Codex-plus-Chrome and 56 seconds for browser-use. It reports 4.7 million tokens over all runs for axuse. It reports 9.8 million for Codex-plus-Chrome and 8.8 million for browser-use. Median tool calls were 5, 7 and 12.
Those are the project's own numbers on its own suite. The README links to the method and the reproduction notes. It names a harder seven-task run that has been done once. Independent reproduction is not public.
Why read the page instead of photographing it
A screenshot step costs for the raster upload. It also costs for the vision tokens on top. On a long task, that is the single most expensive part of an API bill. The axuse argument is that the browser already knows the structure of the page. The agent should read that structure. It should not ask a vision model to recover it from pixels. If the project's own numbers hold up on your own work, the saving is in tokens and in misclicks. Misclicks are the slow part of an agent run on a complex form.
Source
- ctoldigital/axuse (GitHub)
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.