| FMRS | 54 / 100 · D | 78 / 100 · B | 76 / 100 · B |
| Reliability | 10 / 20 | 13 / 20 | 13 / 20 |
|---|
| Security and permissions | 8 / 20 | 12 / 20 | 12 / 20 |
|---|
| Maintenance | 12 / 20 | 18 / 20 | 17 / 20 |
|---|
| Documentation | 13 / 20 | 18 / 20 | 17 / 20 |
|---|
| Setup experience | 11 / 20 | 17 / 20 | 17 / 20 |
| Best for | - Record-once, run-forever scheduled or repetitive tasks such as daily logins and timed scraping
- Agent setups that want lower token cost instead of step-by-step LLM reasoning on every run
- Projects needing rich browser primitives: multi-tab, iframes, file upload/download, drag and drop
- Automation flows that need element fingerprints and adaptive re-location to survive site redesigns
| - Scenarios where an AI assistant needs to actually drive a browser to complete a task
- Web automation testing and end-to-end verification
| - Frontend developers who want AI-assisted web debugging and performance analysis
- Scenarios that need browser automation and performance diagnostics in the same tool
|
| Not for | - Environments that cannot run Playwright/Chromium or install a browser
- Clients that rely only on stdio while needing browser state across calls (the README states command mode spawns a new process per tool call, destroying the browser instance)
- Production-critical systems requiring official commercial support or an SLA
- Setups that do not accept local SQLite persistence of trajectories, screenshots and sessions
| - Simple static-text scraping (a lightweight scraper is a better fit)
- Environments sensitive to browser resource usage that can't run a full browser engine
| - Cases that only need to scrape page text without performance analysis or complex interaction (a lighter scraping tool is a better fit)
|
| Required permissions | - Local filesystem read/write (SQLite database zerotoken.db, upload and download paths)
- Network access (target websites, Playwright/Chromium download)
- Launch and control a local Chromium browser process
- In OpenClaw, run a local HTTP service on a listening port (default 8000)
| - Requires installing and running a browser engine (Chromium/Firefox/WebKit) locally or on a server
- browser_navigate can visit any URL; browser_evaluate can run arbitrary JavaScript in the page context
| - Requires a local Chrome browser instance to run
- navigate_page can visit any URL; type_text/fill_form and similar tools can enter arbitrary content into the page
|
| Risks and side effects | - Scripts act as a real browser and perform clicks, typing, uploads and downloads, so mistakes can change data or submit forms unintentionally
- Trajectories store page state and screenshots (base64 images may contain sensitive data) on disk in SQLite, creating privacy and credential-leak risk
- Fingerprint masking via browser_init(stealth=true) may violate target sites' terms of service
- Depends on target page structure: selector failure remains the main instability factor (60% per the README), so scripts may break after redesigns
- HTTP mode listens on 0.0.0.0 by default and can be called by others if exposed to untrusted networks
| - browser_evaluate executing arbitrary scripts carries risk if a malicious page is visited — restrict to trusted sites or an isolated environment
- Long-running browser instances consume significant memory and CPU
| - Browser automation tools can access and manipulate the content of open pages — use only in a trusted development/test environment
- performance_start_trace and similar tracing tools continuously record browser activity — avoid leaving them running on pages containing sensitive information
|
| Supported clients | OpenClaw, Cursor | Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, JetBrains, Zed, Cline, Amp, Kiro, LM Studio, Antigravity, Goose | Claude Code, VS Code, Cursor, Windsurf, JetBrains, Cline, Amp, Kiro, Antigravity |
| Tools | 33 | 10 | 22 |