Loading the page.
Documentation
Journal
Frontend
Backend
Admin
CI/CD
Loading the page.
Loading card.
mcp server · mcp catalog · snapshot Jul 2
Microsoft · Playwright team; namespace verified through GitHub by the registry
Gives an AI agent control of a real browser: open a page, click, fill out a form, read the console and network. Works through the accessibility tree - the page's structural tree, without pixel recognition: fast, deterministic, no vision model needed.
installation · Claude Code
$ claude mcp add playwright npx @playwright/mcp@latest
available from Russia · no keys or card
89.8
score v0 · #16 of 14522
34,583
GitHub stars · owner verified
0.0.77
Registry version
68
tools · 23 core + 45 opt-in
numbers - official mcp registry + github · snapshot Jul 2
MCP server race · npm downloads per day · live
Playwright MCP7.6M/week
Chrome DevTools1.44M/week
Context7496K/week
Install for
Do not install for
Free. No API keys needed: the server is local (an npm package), the browser is yours.
Codex
codex mcp add playwright npx "@playwright/mcp@latest"
or in ~/.codex/config.toml: [mcp_servers.playwright] command = "npx", args = ["@playwright/mcp@latest"]
Cursor
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Settings, MCP, Add new global MCP server; or the deeplink button in the project README
VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'Docker (headless chromium)
{
"mcpServers": {
"playwright": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "--pull=always", "mcr.microsoft.com/playwright/mcp"]
}
}
}No keys or env variables needed. Just one requirement: Node.js 18+. On first launch, Playwright may ask to install a browser: npx playwright install chrome.
useful flags
--browser <b> | chrome | firefox | webkit | msedge |
--headless | without a browser window (with a window by default) |
--caps <c> | enable opt-in packages: vision, pdf, devtools |
--isolated | in-memory profile, do not save to disk |
--device <d> | device emulation, for example "iPhone 15" |
--allowed-origins | limit where the browser can go (not a security boundary!) |
--extension | connect to an ALREADY running Chrome/Edge through an extension |
availability in Russia
Works from Russia without restrictions: the server is local and sends no data out (the browser downloads from the Playwright CDN - available). No foreign card needed.
68 tools: 23 in the core by default + 45 in optional packages, to avoid bloating context.
Context cost
Tool definitions ≈ 13.7K tokens (ytyng benchmark, 03.2026); a 10-step task ≈ 114K through MCP versus 27K through Playwright CLI (Microsoft measurement); a full-page screenshot - up to 200K+. Reduce: minimum --caps, targeted snapshots, tests - through CLI. Check yours: /context.
browser_navigate / _navigate_backopen URL, go backbrowser_snapshotpage accessibility snapshot - the agent's main "eye"read-onlybrowser_click / _type / _hover / _drag / _dropclicks, text input, hover, drag-n-dropbrowser_fill_form / _select_option / _file_uploadforms, selects, file uploadsbrowser_take_screenshotpage or element screenshotread-onlybrowser_console_messagesconsole messages (by level)read-onlybrowser_network_request / _network_requestsrun a request; list page requestsbrowser_evaluate / _run_code_unsaferun JS on the page (careful: unsafe)browser_tabstabs: open/close/switchbrowser_wait_for / _press_key / _resize / _handle_dialog / _closewaits, keys, window size, dialogsNot "instead of", but a different task class: native tools cover "check in my logged-in Chrome without setup", while Playwright MCP is the only one with headless/CI and Firefox/WebKit. Facts as of 07.02.2026.
| criterion | Playwright MCP | Native (Claude in Chrome / Codex) |
|---|---|---|
| Headless / CI / server without GUI | yes: --headless, Docker image, standalone HTTP | no: Claude in Chrome and the Codex browser require a live window |
| Your logged-in profile | not out of the box; possible through --extension or --cdp-endpoint | Claude in Chrome - yes, out of the box; the Codex in-app browser - without auth/cookies at all (for logins - its Chrome extension) |
| Browsers | chrome, edge, firefox, webkit | Chrome/Edge only |
| Clean room (profile isolation) | yes: --isolated, reproducible runs | no - always your live profile |
| Device emulation, network mocks | yes: --device "iPhone 15", route interception | no |
| Access price | free, open source | Claude in Chrome - paid plans only (Pro/Max/Team), does not work through Bedrock/Vertex |
Publisher
Microsoft - Playwright team; namespace verified through GitHub by the registry. Stars counted after repository ownership verification.
Authentication
No authentication: a local stdio process launched by the client itself. No keys - nothing to leak.
Verification status
vibecoding.tech security scan: not conducted (honest v1 status). Publisher - Microsoft, code is open (Apache-2.0), 34.5K stars, releases almost daily.
what the server can do
candid caveats
what practitioners say · no links to x (blocked in Russia)
"Authentication is easy: have it show you a login page, then log in yourself". Caveat: explicitly say "playwright mcp" in the first prompt - otherwise the agent will use Bash.
Simon Willison @simonw · July 2025 · via til.simonwillison.net
Part of "agentic manual testing": the agent must check its own code rather than assume it works.
Simon Willison @simonw · March 2026 · via simonwillison.net
"Almost all MCPs really should be CLIs" - dropped Playwright MCP in favor of chrome-devtools-mcp: context tax, the agent "ran Playwright where it could simply read the code".
Peter Steinberger @steipete · October 2025 · via steipete.me
Instead of 25+ tools, created playwrightess: one playwright_eval tool that runs JS in a persistent browser session.
Armin Ronacher @mitsuhiko · October 2025 · via lucumr.pocoo.org
"Constantly blows up the context window on nearly every call"; Microsoft confirmed this and recommends a CLI workflow for writing tests (issues #889, #1040).
Ask HN news.ycombinator.com · October 2025 · via news.ycombinator.com/item?id=45764043
01“Executable doesn't exist” error / browser not found
Run npx playwright install chrome (or chromium). The Docker version downloads the browser itself.
02Client cannot see the server (0 tools)
Check in order: is the config JSON valid; is it the right config file (global vs project); fully restart the client. 90% of cases are one of these three.
03Windows: server does not start through npx
Wrap the command: "command": "cmd", "args": ["/c", "npx", "@playwright/mcp@latest"]. A classic Windows npx pitfall.
04Browser “busy”: profile is already in use
Close the running Chrome using the same profile or add --isolated (in-memory profile). Or connect to a live browser through --extension.
05Agent “goes blind”: page exists, but snapshot is empty/sparse
Wait for loading (browser_wait_for), check whether the content is in an iframe; for canvas/widget pages, enable --caps=vision and work from the screenshot.
06Consumes context: each step - tens of thousands of tokens
Request targeted element snapshots instead of the full page, do not enable unnecessary --caps, use screenshots only when visual inspection is needed. For writing tests at scale, use Playwright CLI (≈4 times cheaper in tokens, Microsoft measurement).
07Node < 18 or npx pulls an old version
Node 18+ is required. With NVM, specify the absolute path to node in command; @latest in args keeps the server current.
It is an AI agent's “hands and eyes” in the browser: an official Microsoft MCP server through which Claude Code, Cursor, or Codex open pages, click, and read content. Built on the Playwright engine for e2e testing.
Playwright MCP reads the accessibility tree - a structured page description. The agent does not need to “look at” pixels: elements are addressed precisely, it works faster and more reliably, and no vision model is needed. Screenshot mode is available as an opt-in (--caps=vision).
Tool definitions ≈ 13.7K tokens; a 10-step task ≈ 114K through MCP versus 27K through Playwright CLI (Microsoft benchmark). Reduce usage with minimal --caps, targeted snapshots, and writing tests through CLI.
Playwright is an automation library controlled by your code. Playwright MCP is a server built on top of it, controlled by an agent via the MCP protocol: the same browsers, but the “steering wheel” is held by an LLM rather than a script.
Playwright - browser driving (scenarios, forms, e2e); Chrome DevTools MCP - diagnostics (perf traces, network, console). Steve Kinney's formula: “driving vs debugging”. Both are often installed.
The server is local, requires no keys, and has open code. But Microsoft itself calls it “not a security boundary”: the agent controls a real browser with your sessions. The main risk is prompt injection from untrusted pages. Isolate the profile (--isolated) and do not mix “browsing the internet” with access to secrets.
Yes: the --extension flag connects the server to a live Chrome/Edge through the Playwright Extension, while the --cdp-endpoint flag connects to any browser via CDP.
Yes, completely: it is a local npm package, with no keys or payment required, and it does not send data externally. The only limitation comes from the client itself (Claude/Cursor), not the server.
By default - with a window (you can see what the agent does). In CI/Docker, enable --headless; the Docker image supports headless chromium only.
alternatives
Chrome DevTools MCP →
official Chrome team server: stronger for debugging (profiling, DevTools protocol), weaker as “hands” for scenarios
ByteDance Browser MCP →
alternative agent browser implementation from the ByteDance monorepo
Browserbase / stealth forks
cloud browser and anti-bot bypasses - when scale or concealment is needed; this is no longer a “developer browser”
reg · io.github.microsoft/playwright-mcp
distribution · npm
card rev · 2026-07-02
data snapshot · July 2, 2026
Sources (verified 2026-07-02): README microsoft/playwright-mcp (tools, flags, security) · Official MCP Registry: io.github.microsoft/playwright-mcp entry · npm @playwright/mcp - 5 000 572 downloads per week (22–28.06.2026)
Data: official MCP registry + GitHub API, daily snapshot. Score v0 - methodology · registry entry
Sections
14,522 servers
mcp catalog