The fastest cloud browser for AI agents.
Open-source, self-hostable, and 100% Anchor-compatible. Any model — Claude, Codex, Grok, Kimi — over API key, OAuth, or MCP.
Latency figures are architecture targets, not measured SLAs.
Built for speed. Open by default.
Warm-pool performance
Sessions are claimed from a pre-warmed pool — not cold-launched — and the CDP gateway splices WebSocket frames instead of parsing them. Speed is the point.
Any model + native MCP
Claude, Codex, Grok, or Kimi over API key, OAuth, or ACP. A built-in MCP server turns the browser into tools any agent can call.
Open-source & drop-in
100% Anchor wire-compatible. Your existing SDK, Playwright, and Puppeteer code works by swapping one base URL. Self-host it anywhere.
Watch an agent do real work.
We pointed Claude at our built-in MCP server and asked it to research ByteDesk’s market. It browsed GitHub topic pages through our browser tools — navigate, snapshot, repeat — and compiled this Ideal Customer Profile list. Every row was read off a live page.
| Lead | Stars | Why it fits ByteDesk’s ICP |
|---|---|---|
| Chatwoot | ~34.5k | Open-source live-chat / omni-channel desk — the category leader |
| UVdesk | ~19.4k | Community helpdesk / ticketing, strong e-commerce integrations |
| Zammad | ~5.8k | Established web helpdesk; overlapping users, no AI-agent focus |
| FreeScout | ~4.4k | Self-hosted help desk & shared mailbox |
| LibreDesk | ~2.6k | Go-based omnichannel support desk, single binary |
| Tiledesk | ~311 | LLM chatbots with human handoff — closest AI positioning |
Swap the base URL. Your code just works.
The auth header, the {data:{…}} envelopes, and the root-path CDP
WebSocket are all replicated. The official Anchor SDKs and raw Playwright connect unchanged.
export ANCHORBROWSER_BASE_URL=http://localhost:8080 curl -s http://localhost:8080/v1/sessions \
-H "anchor-api-key: bdab-dev-key" \
-H "content-type: application/json" \
-d '{"browser":{"headless":{"active":true}}}' const { data } = await (await fetch(
`${BASE}/v1/sessions`, { method: 'POST',
headers: { 'anchor-api-key': KEY } }
)).json();
const browser = await chromium
.connectOverCDP(data.cdp_url); // ← drop-in
const page = browser.contexts()[0].pages()[0];
await page.goto('https://example.com'); { "mcpServers": { "bdab": {
"command": "/path/to/bdab-mcp",
"env": { "BDAB_BASE": "http://localhost:8080" }
} } } Any model. Any auth.
API key, OAuth, or ACP — drive an already-logged-in agent CLI, no raw key required.
For agent developers
A browser your agents can actually drive — CDP, OS-control REST, MCP tools, and a perform-web-task loop with live step streaming.
For teams leaving Anchor
Wire-compatible, so migration is a base-URL change. No lock-in, no per-session surprise. Compare →
For enterprises self-hosting
Run it in your own infra. Data stays with you, the source is auditable, and the architecture scales. Self-host →
Star it. Run it. Ship agents on it.
Open-source and free to self-host. Managed cloud is coming.