What it is
The reference browser-automation MCP: it drives Chrome, Firefox, WebKit, or Edge
through the accessibility tree, so it clicks and types against real element roles
rather than screenshots, and needs no vision model. Screenshot, PDF, and devtools
capabilities are opt-in via --caps.
How it was vetted
Booted the published package (@playwright/mcp 0.0.78) and read the repo at commit
5f8fc00 (2026-07-09). A browser driver can reach a lot by definition, so the audit
looked at the defaults and the escape hatches.
- Safe-by-default filesystem. Access is confined to the workspace roots (or cwd)
and
file://navigation is blocked. Opening that up is an explicit, named flag (--allow-unrestricted-file-access). Good hygiene, and the reason this one earns a clean pass where a write-capable tool would need its guardrails pinned. - Candid about its non-boundaries. The origin allow and block lists carry their own warning that they do not serve as a security boundary and don’t affect redirects. Documentation that tells you where the edges aren’t is a good sign.
- No telemetry, first-party deps only. The dependency tree is Microsoft’s own
playwrightandplaywright-core. No analytics SDKs anywhere. - Profile persistence. By default a browser profile (including any logins you
perform) is saved to a temp
--user-data-dir. Use--isolatedfor an in-memory session that leaves nothing behind.