Concepts¶
How BrowserControl works under the hood. If you want to debug a tricky case or push the limits, start here.
What's here¶
-
Why numbered boxes beat CSS selectors for AI agents.
-
The action loop, the components, and the request flow.
-
BrowserControl vs. Playwright MCP, Stagehand, Browser-Use, AgentQL.
Quick mental model¶
flowchart LR
A[AI Agent] -- "call_tool('click', 5)" --> B[MCP Server]
B -- "page.click(handle)" --> C[Chromium]
C -- "screenshot.png" --> B
B -- "screenshot + SoM overlay + element map" --> A
- The agent calls a tool.
- The MCP server resolves the element via
document.elementFromPoint(x, y)and drives Chromium. - Chromium returns a fresh screenshot.
- The MCP server annotates the screenshot with numbered red boxes and returns both the image and a textual element map.
That's the whole loop. Read Architecture for the details.