How it compares
agent-browser and dev3000 (Vercel Labs) and playwright-mcp (Microsoft) live in the same neighborhood — browser tooling for coding agents — but start from a different place: by default they launch and manage a browser for the agent, while reins hands the agent the browser you already have open.
| reins | agent-browser | dev3000 | playwright-mcp | |
|---|---|---|---|---|
| Built for | driving the browser you already use | general-purpose automation for agents | debugging your local dev server | browser automation as an MCP server |
| Browser | your real, running browsers — Chrome, Brave, Edge, Arc, Dia, all at once | its own Chrome for Testing it launches | its own monitored Chrome it launches | its own Playwright-managed browser — Chromium, Firefox, WebKit |
| Logged-in sessions | always — it is your profile | opt-in: reuse a profile's login state or attach to a running Chrome | per-project profile that persists between runs | its own persistent profile; real Chrome/Edge tabs via opt-in extension or CDP |
| Attaches via | MV3 extension + chrome.debugger — no launch flags, no open debug port | CDP from the outside | CDP from the outside | Playwright launch; opt-in extension or CDP endpoint |
| Agent interface | CLI + skill; nothing to register per agent | CLI, plus an optional MCP server | CLI + MCP server + unified timeline log | MCP server (stdio/HTTP), registered per client |
| Extras | raw CDP escape hatch (reins cdp) | HAR recording, request mocking, React tree, web vitals | server+browser timeline, error replay, d3k fix | isolated contexts, device emulation, vision/PDF caps, traces |
vs agent-browser
agent-browser is a fast, general automation CLI that owns its browser: it launches Chrome for Testing by default and reaches your real login state only as an opt-in (profile reuse, or attaching to a Chrome you started for it). reins starts from the opposite end: an extension inside the browsers you already run means every session is authenticated by definition, nothing new launches, and no debug port is ever exposed — the daemon only accepts the extension's unforgeable origin on 127.0.0.1.
If you need headless fleets, request mocking, or CI runs, agent-browser is the better fit; if the task is "act as me, in my browser", that's reins.
vs dev3000
dev3000 solves a different problem: it wraps your dev server, launches a monitored browser, and merges server logs, console, network, and screenshots into one timeline an AI can debug from. It's dev-loop observability, not general browser control.
They compose: dev3000 watches the app you're building, reins drives the rest of your browser — dashboards, docs, the third-party service you're integrating.
vs playwright-mcp
The closest comparison: its extension mode can also drive existing tabs in your real browser (Chrome and Edge only). The defaults differ. playwright-mcp launches a Playwright-managed browser with its own persistent profile, and everything flows through an MCP server you register in each client; reins is a plain CLI, so any agent with a shell drives your everyday browsers with no per-agent setup, and one daemon serves them all at once.
Pick playwright-mcp for cross-engine coverage (Firefox, WebKit), device emulation, or clean-room isolated sessions; pick reins when the point is acting as you in the browser you live in.