Scope
01 / 05Everything an agent needs.
Built agent-first: extraction over pixels, selectors over coordinates, failures you can catch instead of hangs. The automation surface is deliberately small.
| Command | Covers |
|---|---|
| read | Structured page reads. Prose via read_page(), or read_structure(): headings, buttons, inputs, selects, links, images — each with a viewport rect and a CSS selector that feeds the element commands. |
| act | Selector-based interaction. click_element() scrolls into view and clicks with a real pointer event; set_value() uses the native setter plus input/change events, so React and Vue controlled inputs accept it. |
| wait | SPA-aware timing. wait_for_selector() polls until an element is visible; wait_ready() gates on document.readyState. No sleeps, no flaky scripts. |
| observe | Console capture. Page console.log/warn/error arrives as events — and Servo routes network and TLS load errors through the same channel, so agents see why a page failed. |
| files | Downloads. download(url, path) fetches straight to disk with size caps and an ok/bytes/error event. Public URLs only — no page cookies involved. |
| survive | Fast failure, not hangs. EngineDeadError surfaces a dead engine in 0.07 s instead of a timeout. ping health-checks. Ephemeral profiles give every run a clean slate. |
| block | Adblock built in. EasyList-based subresource blocking at the engine's request-interception hook, auto-refreshed weekly. Never blocks main-frame documents. |
| gpu | Fast rendering. Servo renders on the GPU with a software-GL fallback (Linux runs headless on llvmpipe). Screenshots painted on demand, per tab. |
| secure | Token-gated attach. --driver-port accepts multiple concurrent drivers; --driver-token requires an auth line first. Unauthenticated sockets get nothing — not even events. |
Protocol
02 / 05The entire protocol, in full.
Newline-delimited JSON over loopback. One client, no hidden state — the opposite of CDP's 1000+ endpoints. Events: url, title, history, cursor, favicon, pwcapture, evalresult, pong, console, download.
- Commands
- 15
- MCP tools
- 19
- Binary
- ~105 MB
- CDP endpoints
- 0
- Dependencies
- 0
SDK
03 / 05Three ways in.
Same engine underneath; pick the integration you already have.
| Surface | Covers |
|---|---|
| mcp | Model Context Protocol server with 19 tools, stdlib only. Any MCP-capable agent — Claude, Kai, your own — drives Browserr with zero integration code. |
| python | driver.py wraps the raw protocol: navigation, extraction, element commands, console capture, downloads, screenshots, a PNG helper. No dependencies. |
| raw | Anything that can write JSON lines to a socket. The whole protocol fits on one screen; bindings in any language are an afternoon. |
Position
04 / 05Where it sits in 2026.
Chromium wrappers are the default; alternative engines are the bet. This is the honest comparison.
| Browserr | Lightpanda | Obscura | Chromium headless | |
|---|---|---|---|---|
| engine | Servo | own (Zig) | own (Rust) | Blink |
| js engine | SpiderMonkey | own | own | V8 |
| mcp-native | yes, 19 tools | no | partial | via wrappers |
| protocol size | 15 commands | CDP-compatible | own + CDP | 1000+ endpoints |
| footprint | one ~105 MB binary | ~16× less than Chromium | ~30 MB | ~200 MB+ |
| web compat | Servo 0.8 (text, docs, forms) | growing | growing | full |
Honest limits. No site sandbox on Windows (treat page loads as untrusted; use ephemeral profiles), web compatibility bounded by Servo 0.8. Windows rendering needs a GPU with a D3D11 driver; Linux renders with any GL including llvmpipe; macOS renders via Metal-backed GL. Text, documents, search and forms work well; heavy SPAs and DRM video may not.
Install
05 / 05Get Browserr in seconds.
One archive per platform: the engine binary, the Python SDK, and the MCP server. No account, no telemetry.
Windows x64
Download the zip, unpack anywhere, and point your agent at the MCP server - or drive the engine directly from Python. A GPU with a D3D11 driver is required for rendering.
↓ Download for WindowsLinux x64
Download the tarball, unpack anywhere, and point your agent at the MCP server. Any GL works - including Mesa llvmpipe, so headless servers without a GPU are fine (X11 via xvfb).
↓ Download for LinuxmacOS (Apple Silicon)
Download the tarball, unpack anywhere, and point your agent at the MCP server. Rendering uses the system GL (Metal-backed); works headless.
↓ Download for macOSStart
Start driving the web with your agents.
Free, open source, no account required.