Microsoft Vendor Web

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
Sign in to like, install, or save to a bundle → View on GitHub →

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.

Listed on Prismix ← links back here

Markdown

[![Listed on Prismix](https://prismix.dev/api/badge/mcp/playwright.svg)](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.

More Web servers