Playwright
Multi-browser automation via Playwright — Chrome, Firefox, WebKit; richer than Puppeteer.
36,098 stars 3,022 forks Last commit 1d ago Language TypeScript License MIT
Install
npm install -g @playwright/mcp Maintain this server? Add the badge
Show your README readers it's in a curated directory — and give them a one-click path to install docs and config.
Markdown
[](https://prismix.dev/mcp/playwright) Theme-aware version (auto dark/light on GitHub) →
<a href="https://prismix.dev/mcp/playwright"><picture><source media="(prefers-color-scheme: dark)" srcset="https://prismix.dev/api/badge/mcp/playwright.svg?theme=dark"><img alt="Listed on Prismix" src="https://prismix.dev/api/badge/mcp/playwright.svg"></picture></a> Claude Desktop / Cursor config
Drop into your claude_desktop_config.json or Cursor MCP settings. Replace the ${…} placeholders with your own values.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
} About
Microsoft's official Playwright-based MCP server. Same shape as the Puppeteer reference server but with multi-browser support (Chrome, Firefox, WebKit), proper iframe + popup handling, and built-in trace recording for debugging.
Recent releases (5)
All releases →- v0.0.79 Latest Aug 6, 2026
## What's New ### Tool Improvements - **`browser_take_screenshot` — WebP format** — New `type` option to pick the image format (`png`, `jpeg` or `webp`); when unset, the format is inferred from the filename extension ([#41152](https://github.com/microsoft/playwright/pull/41152)) - **`--codegen` — more languages** — Code generation now supports `python`, `java` and `csharp` in addition to `typescript` ([#42106](https://github.com/microsoft/playwright/pull/42106)) - **Configurable settle delay** — New `--timeout-settle` flag (and `timeouts.settle` config option) to control how long to wait after each action for triggered work (navigations, requests) to settle, defaults to 500ms ([#41924](https://github.com/microsoft/playwright/pull/41924)) ## Fixes - Aria snapshot capture is skipped when the response discards it ([#41923](https://github.com/microsoft/playwright/pull/41923)) - New `--snapshot-boxes` flag (and `snapshot.boxes` config option) to enable bounding boxes in snapshots globally — previously this was only available per command ([#42102](https://github.com/microsoft/playwright/pull/42102)) - Reconnect to the browser after a disconnect ([#41966](https://github.com/microsoft/playwright/pull/41966)) - Report malformed JSON config instead of silently falling back to INI parsing ([#41909](https://github.com/microsoft/playwright/pull/41909)) - Clear the dialog modal state when a dialog is closed out of band ([#42032](https://github.com/microsoft/playwright/pull/42032)) - Detect downloads via the download event instead of guessing from `net::ERR_ABORTED` navigation errors ([#41933](https://github.com/microsoft/playwright/pull/41933)) - Surface the missing executable path when a browser isn't installed ([#41941](https://github.com/microsoft/playwright/pull/41941)) - Escape user input in codegen output ([#41962](https://github.com/microsoft/playwright/pull/41962)) - Removed the stale `--output-mode` CLI option ([#41833](https://github.com/microsoft/playwright/pull/41833)) ### Browser Extension - Validate `Host` and `Origin` headers on CDP relay WebSocket upgrades ([#42103](https://github.com/microsoft/playwright/pull/42103)) - Launch the Chrome profile that has the extension installed ([#41939](https://github.com/microsoft/playwright/pull/41939)) - Pass `noDefaults` for extension CDP connections ([#42119](https://github.com/microsoft/playwright/pull/42119)) - Mention `PLAYWRIGHT_MCP_EXECUTABLE_PATH` in the error shown when the browser executable is not found ([#42122](https://github.com/microsoft/playwright/pull/42122)) - Removed support for extension protocol v1 ([#41857](https://github.com/microsoft/playwright/pull/41857))
View on GitHub ↗ - v0.0.78 Jul 9, 2026
## What's New ### New Tools - **`browser_find`** — Search the accessibility snapshot of the current page for text or a regular expression. Returns matching snapshot nodes with a few lines of surrounding context (like search snippets), which is cheaper than capturing the whole snapshot when you only need to locate an element and its ref ([#41605](https://github.com/microsoft/playwright/pull/41605), [#41654](https://github.com/microsoft/playwright/pull/41654)) ### Tool Improvements - **Less verbose snapshots** — Accessibility snapshots are distilled to reduce noise and token usage ([#41604](https://github.com/microsoft/playwright/pull/41604)) - **Mobile & device emulation** — New `--mobile` flag and `--device` option to emulate mobile devices from the CLI ([#41657](https://github.com/microsoft/playwright/pull/41657)) - **Navigation status** — `browser_navigate` now surfaces non-2xx navigation status codes ([#41589](https://github.com/microsoft/playwright/pull/41589)) ## Bug Fixes - `browser_navigate` no longer crashes the response when navigation closes the last tab (e.g. privileged pages like `chrome://`) ([#41675](https://github.com/microsoft/playwright/pull/41675)) - Await page initialization before taking a screenshot immediately after opening ([#41646](https://github.com/microsoft/playwright/pull/41646)) - Enable the chromium sandbox for the default browser ([#41652](https://github.com/microsoft/playwright/pull/41652)) - Preserve the configured output directory for additional tab videos ([#41680](https://github.com/microsoft/playwright/pull/41680)) - Always pass `noDefaults` for CDP connections so attaching no longer applies unwanted default context options ([#41676](https://github.com/microsoft/playwright/pull/41676)) - Close the isolated HTTP client context on disconnect ([#41560](https://github.com/microsoft/playwright/pull/41560)) - Wait for the client event stream before sending server→client requests ([#41559](https://github.com/microsoft/playwright/pull/41559))
View on GitHub ↗ - v0.0.77 Jun 29, 2026
## What's New ### Tool Improvements - **`browser_take_screenshot` — `scale` option** — Choose between CSS-pixel screenshots (smaller, device-consistent) and device-pixel screenshots (high resolution) ([#41465](https://github.com/microsoft/playwright/pull/41465)) - **Configurable heartbeat timeout** — The heartbeat ping timeout is now configurable ([#41391](https://github.com/microsoft/playwright/pull/41391)) ## Bug Fixes - Redact secrets in console log artifacts ([#41515](https://github.com/microsoft/playwright/pull/41515)) - Never include `data:` URL payloads in snapshot or network output ([#41450](https://github.com/microsoft/playwright/pull/41450)) - List a failed network request only once ([#41481](https://github.com/microsoft/playwright/pull/41481)) - Wait for the next pause or context closure in `browser_resume` ([#41293](https://github.com/microsoft/playwright/pull/41293)) - Pass the action timeout to `browser_wait_for` waitFor calls ([#41270](https://github.com/microsoft/playwright/pull/41270)) - Check the tracing state before stopping in `browser_stop_tracing` ([#41040](https://github.com/microsoft/playwright/pull/41040)) - Assign caps as an array for the legacy `--vision` flag ([#41253](https://github.com/microsoft/playwright/pull/41253)) - Use optional chaining for the nullable browser on disposal ([#41237](https://github.com/microsoft/playwright/pull/41237)) - Add a missing `.catch()` on the sessionLog write queue ([#41234](https://github.com/microsoft/playwright/pull/41234))
View on GitHub ↗ - v0.0.76 Jun 10, 2026
## What's New ### New Tools - **`browser_video_show_actions` / `browser_video_hide_actions`** — Overlay action annotations on the recorded video, or hide them again ([#40914](https://github.com/microsoft/playwright/pull/40914)) ### Tool Improvements - **Remote endpoint** — `remoteEndpoint` now accepts a `ConnectOptions` object, not just a URL string ([#40964](https://github.com/microsoft/playwright/pull/40964)) - **`--output-max-size`** — Cap the size of tool responses, with post-response disk eviction of oversized output ([#41031](https://github.com/microsoft/playwright/pull/41031)) - **`--browser`** — Support `moz-firefox` BiDi channels ([#41126](https://github.com/microsoft/playwright/pull/41126)) ## Bug Fixes - Support `remoteHeaders` for the remote browser endpoint ([#40828](https://github.com/microsoft/playwright/pull/40828), [#41156](https://github.com/microsoft/playwright/pull/41156)) - Use `waitUntil: 'commit'` when navigating back/forward ([#41153](https://github.com/microsoft/playwright/pull/41153)) - Report invalid tool arguments instead of failing opaquely ([#40979](https://github.com/microsoft/playwright/pull/40979)) - Use a writable cache directory for MCP user data instead of the browsers path ([#40961](https://github.com/microsoft/playwright/pull/40961)) - Disconnect the tracked browser when the browser tracker is disposed ([#40967](https://github.com/microsoft/playwright/pull/40967)) - Report a missing `ffmpeg` distinctly from a missing browser ([#40867](https://github.com/microsoft/playwright/pull/40867)) - Don't mark the response as closed when there are no open tabs ([#40743](https://github.com/microsoft/playwright/pull/40743)) - Validate user-provided regex patterns in MCP tools ([#40752](https://github.com/microsoft/playwright/pull/40752)) - Pass the `time` parameter to `page.evaluate` when waiting for a timeout ([#41037](https://github.com/microsoft/playwright/pull/41037)) - Add path-traversal checks to static file serving routes ([#40715](https://github.com/microsoft/playwright/pull/40715))
View on GitHub ↗ - v0.0.75 May 7, 2026
## Bug Fixes - Serialize shared browser launch in `--isolated` mode ([#40709](https://github.com/microsoft/playwright/pull/40709)) - Forward browser-level CDP commands in extension mode ([#40706](https://github.com/microsoft/playwright/pull/40706))
View on GitHub ↗
Discussion (0)
Sign in to comment →No comments yet. Sign in to start the discussion.