Agent Web Interface
Browser automation was built for scripts, not agents
Most browser automation tools were built for scripts, not LLM agents.
They expose raw DOM, accessibility trees, screenshots, or brittle selectors. That works when deterministic code is driving the browser. But for agents, it creates a bad interface: too much low-signal context, too much reasoning spent filtering browser internals, and too many fragile action paths.
I built Agent Web Interface to change that boundary.
An agent-native interface, not a DOM dump
Agent Web Interface is an MCP server that gives AI agents a compact, semantic interface to the browser. Instead of dumping the full DOM or accessibility tree, it returns structured page snapshots:
- visible page regions
- readable content
- interactive elements
- form context
- stable semantic IDs
- screenshots
- canvas inspection
- network activity
- incremental diffs after actions
So an agent does not need to reason from brittle CSS selectors or repeatedly scan a massive page tree. It can see something closer to:
“Here is the main region. Here are the buttons, fields, links, rows, alerts, and their states. Use this stable eid for the next action.”
That makes browser use more predictable for coding agents, QA agents, research agents, and automation workflows.
On a representative page, that is the difference between roughly 41 KB of raw DOM and a snapshot under 1 KB — the same page, in a shape the agent can actually reason about.
The core idea: don’t mirror the browser
The core idea is simple:
Don’t mirror the browser. Expose the page in the shape an agent can reason about.
How it works
Under the hood, Agent Web Interface still uses Puppeteer and Chrome DevTools Protocol. But the agent-facing layer is smaller, more semantic, and built around state transitions:
- navigatebaseline state
- clicknew state
- typesmall diff
- saveconfirmation signal
This is especially useful for multi-step web tasks where agents need to observe, decide, act, and verify without wasting tokens on browser implementation noise.
What it is not
It is not a replacement for Puppeteer. It is not a scraping framework. It is not a CAPTCHA or anti-bot bypass tool.
It is an agent-native browser interface: compact observations, stable actions, and semantic state.
Early results
Early directional comparisons against Playwright MCP show lower token usage and faster completion on representative browser-agent tasks. The results are still task-dependent, and I’ll publish a more formal benchmark harness later.
For now, the focus is practical: make browser interaction more reliable for agents that need to operate real web apps.
$ npx agent-web-interface install