osfeed.dev
Projects/microsoft / playwright-mcp

Playwright MCP

Browser automation through MCP

Get it on GitHub
Unclaimed

Written by @iluxav from the project's code and releases, not by its maintainers. Last updated for v0.0.83 (2026-09-28), so it may lag behind newer releases.

Are you @microsoft?Claim it, and your coding agent keeps it current with each release
v0.0.83 · 32 things you can do 52 changes to know before upgrading
Follow GitHub

Automate web pages, inspect browser state, and capture screenshots or recordings from an MCP client.

What you can do with Playwright MCP

Navigate web pages, fill forms, click elements, manage tabs, and handle dialogs.

Present at v0.0.42
Good to know

Requires Node.js 18 or newer and an MCP client.

Inspect page structure through accessibility snapshots without a vision model.

Present at v0.0.42
Good to know

-

Read browser console messages and network requests.

Present at v0.0.42
Good to know

-

Capture viewport, full-page, or element screenshots.

Present at v0.0.42
Good to know

Clients must handle the original image dimensions.

Reuse saved logins or start isolated sessions with an initial storage state.

Present at v0.0.42
Good to know

Isolated sessions discard storage when closed unless state is supplied again.

Connect to existing browser tabs and reuse their logged-in state.

Present at v0.0.42
Good to know

Requires the Playwright extension in Chrome or Edge and a local MCP server.

Connect to an existing browser through CDP or a remote Playwright endpoint.

Present at v0.0.42
Good to know

-

Upload files through browser file choosers.

Present at v0.0.42
Good to know

Uploads are restricted to workspace roots unless unrestricted file access is explicitly enabled.

Show all 32

Save session videos and Playwright traces.

Present at v0.0.42
Good to know

Start/stop tracing tools require `--caps=devtools`.

Click, drag, or move the mouse using screen coordinates.

Present at v0.0.42
Good to know

Requires `--caps=vision`.

Save a web page as a PDF.

Present at v0.0.42
Good to know

Requires `--caps=pdf`.

Run browser automation in a container.

Present at v0.0.42
Good to know

Docker supports headless Chromium only.

Select the HTML attribute used to identify elements by test ID.

Present at v0.0.42
Good to know

Defaults to `data-testid`.

Run a batch of Playwright API calls from an MCP tool.

Since v0.0.47
Good to know

-

Set up pages with Playwright APIs before using them.

Since v0.0.47
Good to know

Provide a TypeScript file with `--init-page`.

Allow or block browser requests by origin.

Since v0.0.48
Good to know

Only trusted origins should be allowed.

Save accessibility snapshots to disk and receive a file link.

Since v0.0.52
Good to know

-

Start and stop browser video recording when needed.

Since v0.0.64
Good to know

Requires `--caps=devtools`.

Switch browser network access offline and back online.

Since v0.0.70
Good to know

Requires `--caps=network`.

Mock responses or modify headers for requests matching a URL pattern.

Since v0.0.70
Good to know

Requires `--caps=network`.

Inspect and change cookies, local storage, session storage, and saved authentication state.

Since v0.0.70
Good to know

Requires `--caps=storage`.

Target elements with CSS or text selectors as well as accessibility references.

Since v0.0.70
Good to know

-

Drop files onto a target element in a web page.

Since v0.0.75
Good to know

-

Show or hide action callouts on recorded browser videos.

Since v0.0.76
Good to know

Requires `--caps=devtools`.

Set a size threshold for evicting old browser output files.

Since v0.0.76
Good to know

Use `--output-max-size`; old output files can be deleted.

Automate a Firefox browser through a `moz-firefox` BiDi channel.

Since v0.0.76
Good to know

-

Search a page's accessibility snapshot for text or a regular expression.

Since v0.0.78
Good to know

-

Browse with a generic mobile device profile.

Since v0.0.78
Good to know

Use `--mobile`; it cannot be combined with `--device`.

Generate browser action code in TypeScript, Python, Java, or C#.

Since v0.0.79
Good to know

Select the language with `--codegen`; `none` disables generation.

Record manually performed browser actions and retrieve them as Playwright code.

Since v0.0.80
Good to know

Requires `--caps=devtools`.

Switch page color scheme, reduced motion, forced colors, contrast, or screen/print media during a session.

Since v0.0.82
Good to know

Use `browser_emulate_media`; omitted fields stay unchanged and `null` clears an override.

Call a page's WebMCP tools directly from an MCP client.

ExperimentalSince v0.0.82
Good to know

Experimental WebMCP must be enabled in the browser; schemas, descriptions, and results are supplied by the page.

Before you upgrade Playwright MCP

Newest first
Show 49 older
v0.0.64

For the CLI, replace `install` with `install-browser`; v0.0.63 renamed `--isolated` to `--in-memory`. These are CLI changes, not changes to the MCP `--isolated` flag.

Action requiredAffects: Users migrating the briefly bundled Playwright CLI to the separate CLI package.
Read the evidence
v0.0.64

CLI browser profiles are in-memory by default in v0.0.64; use `--persistent` or `--profile=<path>` to retain state.

Behavior changedAffects: Playwright CLI users migrating from the bundled CLI.
Read the evidence
v0.0.64

Replace `--session` with `-s=`; replace `session-*` management with `list`, `close-all`, `kill-all`, and per-session `close` or `delete-data`. There is no stopped session state.

Action requiredAffects: Playwright CLI scripts using the previous session flags and commands.
Read the evidence
Playwright MCP release history 19
v0.0.83

Save matching page elements to a file.

Details

`browser_find` accepts `filename`. Navigation reports page-load dialogs, and WebMCP calls work with current tabs and Chromium 155+.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Behavior changed: Search a page's accessibility snapshot for text or…Now works: Navigate web pages, fill forms, click elements, man…Now works: Call a page's WebMCP tools directly from an MCP cli…Behavior changedBehavior changed: Inspect page structure through accessibility snapsh…Now works: Run browser automation in a container.

Seeded by @iluxav with Codex

Read the evidence
v0.0.82
with v0.0.81

Call tools exposed by a web page directly through MCP.

Details

WebMCP tools appear as `webmcp_<tool>` and follow the selected tab. Media emulation, absolute result paths, and styled video recording are available.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Call a page's WebMCP tools directly from an MCP cli…Action requiredAdded: Switch page color scheme, reduced motion, forced co…Behavior changed: Reuse saved logins or start isolated sessions with…Behavior changed: Navigate web pages, fill forms, click elements, man…Behavior changed: Connect to existing browser tabs and reuse their lo…Behavior changed: Start and stop browser video recording when needed.Behavior changed: Show or hide action callouts on recorded browser vi…Now works: Record manually performed browser actions and retri…Action required: Upload files through browser file choosers.Behavior changed: Capture viewport, full-page, or element screenshots.Action required: Mock responses or modify headers for requests match…Now works: Inspect and change cookies, local storage, session…

Seeded by @iluxav with Codex

Read the evidence
v0.0.80

Turn a manually demonstrated browser flow into Playwright code.

Details

`browser_start_recording` and `browser_stop_recording` record manual actions. Screenshots retain their original bytes.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Record manually performed browser actions and retri…Behavior changed: Generate browser action code in TypeScript, Python,…Limit lifted: Capture viewport, full-page, or element screenshots.Now works: Connect to existing browser tabs and reuse their lo…Now works: Navigate web pages, fill forms, click elements, man…Now works: Reuse saved logins or start isolated sessions with…

Seeded by @iluxav with Codex

Read the evidence
v0.0.79

Capture browser screenshots in WebP format.

Details

Screenshots support WebP, generated code supports more languages, and action settle time is configurable. Obsolete output and extension protocol options are removed.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Behavior changed: Capture viewport, full-page, or element screenshots.Added: Generate browser action code in TypeScript, Python,…Behavior changed: Navigate web pages, fill forms, click elements, man…Behavior changed: Inspect page structure through accessibility snapsh…Action requiredAction required: Connect to existing browser tabs and reuse their lo…Action requiredNow works: Connect to existing browser tabs and reuse their lo…Now works: Connect to an existing browser through CDP or a rem…

Seeded by @iluxav with Codex

Read the evidence
v0.0.78

Find an element in the accessibility snapshot without retrieving the whole page.

Details

`browser_find` searches text or regexes; `--mobile` enables generic mobile emulation. The default browser now enables the Chromium sandbox.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Search a page's accessibility snapshot for text or…Added: Browse with a generic mobile device profile.Behavior changed: Navigate web pages, fill forms, click elements, man…Behavior changed: Connect to an existing browser through CDP or a rem…Now works: Start and stop browser video recording when needed.Now works: Capture viewport, full-page, or element screenshots.Behavior changed: Inspect page structure through accessibility snapsh…

Seeded by @iluxav with Codex

Read the evidence
v0.0.77

Choose CSS-pixel or device-pixel screenshots.

Details

`browser_take_screenshot` accepts `scale`; output redaction and browser wait handling are corrected.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Behavior changed: Capture viewport, full-page, or element screenshots.Now works: Read browser console messages and network requests.Behavior changed: Inspect page structure through accessibility snapsh…Now works: Navigate web pages, fill forms, click elements, man…

Seeded by @iluxav with Codex

Read the evidence
v0.0.76

Show action annotations on browser recordings.

Details

Video action overlays can be shown or hidden. Remote connections accept a `ConnectOptions` object, and output files can be evicted by size.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Show or hide action callouts on recorded browser vi…Behavior changed: Connect to an existing browser through CDP or a rem…Added / inferred: Set a size threshold for evicting old browser outpu…Added: Automate a Firefox browser through a `moz-firefox`…Now works: Navigate web pages, fill forms, click elements, man…

Seeded by @iluxav with Codex

Read the evidence
v0.0.75
with v0.0.71, v0.0.72, v0.0.73, v0.0.74

Manage multiple browser tabs through the extension.

Details

Extension mode supports multiple tabs. Network output becomes a numbered list with a separate detail tool, and the code execution tool is renamed.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Limit lifted: Connect to existing browser tabs and reuse their lo…Action required: Run a batch of Playwright API calls from an MCP too…Action required: Read browser console messages and network requests.Behavior changed: Capture viewport, full-page, or element screenshots.Added: Drop files onto a target element in a web page.Now works: Connect to an existing browser through CDP or a rem…Behavior changed: Connect to existing browser tabs and reuse their lo…Now works: Reuse saved logins or start isolated sessions with…

Seeded by @iluxav with Codex

Read the evidence
v0.0.70
with v0.0.69

Switch a browser offline to reproduce a lost internet connection.

Details

`browser_network_state_set` toggles offline mode. The tagged documentation also exposes network mocking, browser storage tools, and a changed snapshot mode.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Switch browser network access offline and back onli…Added / inferred: Mock responses or modify headers for requests match…Added / inferred: Inspect and change cookies, local storage, session…Action required / inferred: Inspect page structure through accessibility snapsh…Action required / inferred: Read browser console messages and network requests.Behavior changed / inferred: Read browser console messages and network requests.Now works: Navigate web pages, fill forms, click elements, man…Action required / inferred: Save session videos and Playwright traces.Behavior changed / inferred: Connect to an existing browser through CDP or a rem…Added: Target elements with CSS or text selectors as well…

Seeded by @iluxav with Codex

Read the evidence
v0.0.68
with v0.0.67

Install the browser bridge from the Chrome Web Store.

Details

The browser bridge is available through the Chrome Web Store; the brief sandbox flag rename is reverted.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Behavior changed: Connect to existing browser tabs and reuse their lo…Action required / inferred

Seeded by @iluxav with Codex

Read the evidence
v0.0.64
with v0.0.57, v0.0.58, v0.0.59, v0.0.60, v0.0.61, v0.0.62, v0.0.63

Start and stop video recording on demand.

Details

On-demand video recording is available with `--caps=devtools`; `--cdp-timeout` configures connection timeouts. The MCP executable is now `playwright-mcp`.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Start and stop browser video recording when needed.Action required / inferredAction required / inferredBehavior changed / inferred: Connect to an existing browser through CDP or a rem…Action requiredBehavior changedAction required

Seeded by @iluxav with Codex

Read the evidence
v0.0.56
with v0.0.55

Choose how long a CDP browser connection may take.

Details

`cdpTimeout` controls connection timeout. File access is restricted by default, and recorded videos move under `outputDir/videos`.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Behavior changed: Connect to an existing browser through CDP or a rem…Action required: Upload files through browser file choosers.Action required: Save session videos and Playwright traces.

Seeded by @iluxav with Codex

Read the evidence
v0.0.54

Connect the browser extension to a server on the same machine.

Details

Extension connections are restricted to local MCP servers.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Action required: Connect to existing browser tabs and reuse their lo…

Seeded by @iluxav with Codex

Read the evidence
v0.0.53

Upload files larger than 50 MB through the extension.

Details

The extension upload size limit is removed; saved snapshot and video configuration fixes are included.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Limit lifted: Upload files through browser file choosers.Now works: Save accessibility snapshots to disk and receive a…Now works: Save session videos and Playwright traces.

Seeded by @iluxav with Codex

Read the evidence
v0.0.52
with v0.0.49, v0.0.50, v0.0.51

Save accessibility snapshots to files instead of inlining them.

Details

`browser_snapshot` accepts `filename`; `browser_run_code` now accepts a function. Console severity and snapshot output are configurable.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Save accessibility snapshots to disk and receive a…Action required / inferred: Run a batch of Playwright API calls from an MCP too…Behavior changed: Read browser console messages and network requests.Behavior changed / inferred: Inspect page structure through accessibility snapsh…

Seeded by @iluxav with Codex

Read the evidence
v0.0.48

Filter which origins the browser may request.

Details

The tagged README restores `--allowed-origins` and `--blocked-origins`.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added / inferred: Allow or block browser requests by origin.

Seeded by @iluxav with Codex

Read the evidence
v0.0.47
with v0.0.45, v0.0.46

Run several Playwright actions in one tool call.

Details

`browser_run_code` executes Playwright snippets, and `--init-page` sets up each page. Origin-filter flags were removed.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Run a batch of Playwright API calls from an MCP too…Added: Set up pages with Playwright APIs before using them.Action requiredNow works: Navigate web pages, fill forms, click elements, man…

Seeded by @iluxav with Codex

Read the evidence
v0.0.43

Read page updates with unchanged snapshot subtrees collapsed.

Details

Incremental snapshots collapse unchanged subtrees; rendered images are size-limited.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Behavior changed: Inspect page structure through accessibility snapsh…Behavior changed: Capture viewport, full-page, or element screenshots.

Seeded by @iluxav with Codex

Read the evidence
v0.0.42
Starting point

Automate web pages from an MCP client using accessibility snapshots.

Details

This baseline records browser interaction, saved sessions, screenshots, traces, PDFs, and browser connection options available at v0.0.42.

Run `npx @playwright/[email protected]` with Node.js 18 or newer and an MCP client.

Added: Navigate web pages, fill forms, click elements, man…Added: Inspect page structure through accessibility snapsh…Added: Read browser console messages and network requests.Added: Capture viewport, full-page, or element screenshots.Added: Reuse saved logins or start isolated sessions with…Added: Connect to existing browser tabs and reuse their lo…Added: Connect to an existing browser through CDP or a rem…Added: Upload files through browser file choosers.Added: Save session videos and Playwright traces.Added: Click, drag, or move the mouse using screen coordin…Added: Save a web page as a PDF.Added: Run browser automation in a container.Added: Select the HTML attribute used to identify elements…

Seeded by @iluxav with Codex

Read the evidence