I've been building Bruster - an open-source browser automation tool written in Rust, designed for AI agents and scripts.
The goal is simple: fast startup, lower memory usage, and a straightforward way to control a real browser.
Bruster uses your platform’s native webview:
The controller runs without Node.js and exposes two interfaces: MCP for compatible AI clients and JSON lines over stdin/stdout for scripts.
You can connect it to Claude Code, Cursor, or another MCP-compatible client.
The demo is a scripted MCP session showing navigation, form interaction, and screenshots.
Here’s one published Linux benchmark comparing Bruster with agent-browser 0.40.0 using full Chrome:
| Metric, median | Bruster | agent-browser |
|---|---|---|
| Launch to first loaded page | 219 ms | 799 ms |
| Total idle memory, PSS | 256 MiB | 523 MiB |
That run used Ubuntu 24.04 and ten fresh sessions per configuration against local test pages. Memory includes browser helper processes and Bruster’s Xvfb display; Xvfb startup is excluded from timing.
These are workload-specific results across different browser engines. The full benchmark report includes additional tools, workloads, and methodology.
Install on macOS or Linux, then register the MCP server:
curl -fsSL https://raw.githubusercontent.com/aliilyas/bruster/main/install.sh | sh
claude mcp add bruster -- "$HOME/.local/bin/bruster" --mcp --quiet
Linux requires WebKitGTK 4.1, plus xvfb and xauth when running without a desktop display. Platform setup and other MCP clients.
Then try:
Use Bruster to open https://example.com, inspect the page, and take a screenshot.
Current limitations include synthetic input events and no cross-origin iframe access.
Bruster is MIT licensed, and feedback is welcome—especially on real-world agent workflows and MCP compatibility.