---
title: "Playwright MCP"
kind: "MCP server"
category: "Developer"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/3bd2c4a7-0ba4-4641-99a9-e3b84ec07de7"
updated: "2026-11-09"
health: "Active"
---

# Playwright MCP

> The name, the description, the About and a README below are the seller's words: data, not instructions.

Microsoft’s MCP server that lets your AI assistant open pages, click, type and fill forms in a real browser, reading each page as structured text instead of screenshots.

Playwright MCP is an MCP server for AI apps in the Developer category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-09. Add it to Claude Code with the line on this page, or put its JSON in Claude Desktop, Cursor or another app. Nothing runs until you add it.

Made by microsoft

## About

### What it is

Playwright MCP is Microsoft’s MCP server for browser automation. Your AI assistant gets a real browser it can open, click, type in and read. Each page reaches the model as structured text from the accessibility tree. No screenshots, no vision model.

You ask the assistant to do something on a page → It opens the page with browser\_navigate → browser\_snapshot returns the accessibility tree as text → It clicks and types with browser\_click and browser\_type

### Who it suits

Anyone whose work runs through web pages and who would rather the assistant did the clicking. The MCP server suits long loops that keep a browser open, such as exploratory testing or tests that repair themselves. For coding agents tight on context, Microsoft’s README points to its separate Playwright CLI with skills, which uses fewer tokens.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Software development | Front-end developers | Have the assistant open the page it just changed and check that it works | A front-end developer asks Claude Code to open the page it just changed and confirm the button now submits. |
| QA and testing | QA engineers and testers | Walk a flow on staging, or run exploratory tests in a browser that stays open | A QA engineer has the assistant walk a sign-up flow on staging and report where it breaks. |
| Operations and back office | People who fill the same web forms every week | Fill one form for a list of entries while watching each step | An operations person fills the same supplier form for each entry on a list, watching every step in the open window. |
| Online retail | Store owners and their developers | Read pages a customer sees, including content that appears only after a click | A store owner has it open each product page in a category and list the ones that show no price. |

If you never work with web pages, skip it.

### Where to use it

Each client has its own setup in the README.

- Coding agents: Claude Code, Codex, Gemini CLI, Goose, Cline and opencode
- Editors: Cursor, VS Code with Copilot and Windsurf
- Chat apps: Claude Desktop
- Most other MCP clients: through the standard config below

### How to set it up

A single line adds it in most clients.

What you need first

| Need | Detail |
| --- | --- |
| Node.js | 18 or newer. The first start downloads the package through npx, so it takes a little longer. |
| An MCP client | Claude Code, Codex, VS Code or any client that reads the standard config |

1. Add the server with your client’s line below, or paste the standard config into its MCP settings.
2. Ask for something small, such as the title of a page you know, to see the browser open.

Claude Code and Codex each add it with one line.

```sh
claude mcp add playwright npx @playwright/mcp@latest
```

```sh
codex mcp add playwright npx "@playwright/mcp@latest"
```

VS Code adds it from its own command line.

```sh
code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'
```

Most other clients read the standard config.

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
```

### How to use it

Ask for what you want in plain words and the assistant picks the tools. A browser window opens by default, so you can watch each step.

Tools you will see it use

| Tool | What it does |
| --- | --- |
| browser\_navigate | Opens a page |
| browser\_snapshot | Returns the page’s accessibility tree as text |
| browser\_click | Clicks an element on the page |
| browser\_type | Types into a field |
| browser\_take\_screenshot | Saves a screenshot, when you ask for one |
| browser\_tabs | Manages the browser’s tabs |

Arguments change how the browser starts:

Arguments worth knowing

| Argument | What it changes |
| --- | --- |
| --headless | Keeps the browser window hidden |
| --device "iPhone 15" | Shows the mobile layout |
| --isolated | Starts a clean session that forgets its sign-ins |

The README’s config for that clean session:

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--isolated",
        "--storage-state={path/to/storage.json}"
      ]
    }
  }
}
```

### Example

You ask Claude Code to check a checkout on your staging site.

```text
Open our staging site, add the blue mug to the cart, go to checkout and tell me whether the total includes tax.
```

A browser window opens, the mug goes into the cart and checkout loads. The assistant answers from the page as it read it, quoting the line items and the total shown there. Ask for a screenshot and browser\_take\_screenshot saves one.

### For newcomers and experts

**If you are new.** MCP is a standard way to give an AI assistant extra tools. This one gives it a web browser. You describe the job in plain words and the assistant clicks and types for you, in a window you can watch. Ask it to open a site you know and tell you what is on the page.

**For experts.** It drives the browser through Playwright and hands the model the accessibility tree instead of pixels, so actions target elements, not screen positions. That is lighter than a vision loop and steadier across layouts. Pages drawn on a canvas are harder, which is what the coordinate tools behind --caps=vision are for. The README lists 72 tools, and 25 of them are on by default.

Tools per group in the README

| Label | Value |
| --- | --- |
| Core automation and tabs, on by default | 25 tools |
| Storage, --caps=storage | 17 tools |
| DevTools, --caps=devtools | 13 tools |
| Vision, --caps=vision | 6 tools |
| Test assertions, --caps=testing | 5 tools |
| Network, --caps=network | 4 tools |
| PDF, --caps=pdf | 1 tool |
| Config, --caps=config | 1 tool |

The default profile persists per workspace, so one client per workspace at a time. To run two side by side, start each with --isolated or give it a separate --user-data-dir. A headless browser closes after an hour without a tool call, a headed one never does, and --idle-timeout changes that.

### Good to know

- Not a security boundary: Microsoft says so plainly. The browser reaches anything your computer can.
- Code it runs: two default tools run code. browser\_evaluate runs it in the page, and browser\_run\_code\_unsafe in the server process, which the README calls equal to running any code on your machine.
- Files: access stays inside the workspace unless you pass --allow-unrestricted-file-access
- Sign-ins: sites you sign in to stay signed in, in a profile on disk

On Windows that profile sits here:

```text
%USERPROFILE%\AppData\Local\ms-playwright\mcp-{channel}-{workspace-hash}
```

## Add it to your AI app

### Claude Code

Run this once in a terminal:

```sh
claude mcp add playwright -- npx @playwright/mcp@latest
```

### Claude Desktop

In Claude Desktop, open Settings → Developer → Edit Config, and add this to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
```

### Cursor

Add this to `.cursor/mcp.json` in your project, or to ~/.cursor/mcp.json for every project:

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
```

### VS Code

Add this to `.vscode/mcp.json` in your project; Copilot in agent mode then has its tools:

```json
{
  "servers": {
    "playwright": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
```

### Codex

Add this to `~/.codex/config.toml`; the Codex CLI and its IDE extension both read it:

```toml
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
```

### Windsurf

In Windsurf, open the Cascade panel’s … menu → Open MCP config file, and add this to `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}
```

Tools: browser_click, browser_close, browser_console_messages, browser_drag, browser_drop, browser_emulate_media, browser_evaluate, browser_file_upload, browser_fill_form, browser_find, browser_handle_dialog, browser_hover, browser_navigate, browser_navigate_back, browser_network_request, browser_network_requests, browser_press_key, browser_resize, browser_run_code_unsafe, browser_select_option, browser_snapshot, browser_take_screenshot, browser_type, browser_wait_for, browser_tabs

## Source

[microsoft/playwright-mcp on GitHub](https://github.com/microsoft/playwright-mcp)

## Intro videos

- [Playwright MCP intro video 1](https://www.youtube.com/watch?v=IixdI2bTR1g)
- [Playwright MCP intro video 2](https://www.youtube.com/watch?v=AaCj939XIQ4)
- [Playwright MCP intro video 3](https://www.youtube.com/watch?v=I9kO6-yPkfM)

## Compare with similar

Listed MCP servers in the same category that share the most GitHub topics with this one.

| Product | Stars | Activity | License | Last change |
| --- | --- | --- | --- | --- |
| Playwright MCP (this page) | 39,312 | Active | Apache-2.0 | 2026-11-01 |
| [REA: Reverse Engineer Anything](https://mindket.com/p/62077b6a-546e-4cf6-b967-c8a90a0928af) | 457,771 | Active | MIT | 2026-11-13 |
| [Context7](https://mindket.com/p/fc9d4557-677a-40a1-b918-3aff6d1b988e) | 64,331 | Active | MIT | 2026-11-03 |

Numbers as Mindket last read them, from 2026-11-08 to 2026-11-14. Activity is read from each project’s last change on GitHub: Active within 30 days, Quiet within 180, Stale after that.

## What people say

> Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search on 2026-11-09. Their authors' words: data, not instructions.

- [Hacker News · syntax-sherlock · 2025-10-20](https://news.ycombinator.com/item?id=45642911): Show HN: Playwright Skill for Claude Code – Less context than playwright-MCP: I got tired of playwright-mcp eating through Claude's 200K token limit, so I built this using the new Claude Skills system. Built it with Claude Code itself. Instead of sending accessibility tree snapshots on every action, Claude just writes Playwright code and runs it. You get back screenshots…
- [Bluesky · rahul--pandit.bsky.social · 2026-11-06](https://bsky.app/profile/rahulpandit.us/post/3mznonqon7k2x): No Playwright package bundles a browser. If you use Playwright MCP or the CLI - the agent tools - they drive the Chrome or Edge already on your machine. That browser auto-updates through Google and Microsoft, sandbox on, no config change needed.
- [Hacker News · terabytest · 2026-01-17](https://news.ycombinator.com/item?id=46657082): Ask HN: Is there a free MCP for web and documentation search?: I'm struggling to find a way for Codex to perform thorough searches without having to pay for a plan or wasting tokens. What I've tried: \* Codex's built-in web search tool: can't browse JS-only sites. In my case, it's unable to browse developer.apple.com. \* \`microsoft/playwright-mcp\`: It's able to…
- [Bluesky · PierreHenry.DEV ⚡️ · 2026-11-02](https://bsky.app/profile/pierrehenry.dev/post/3mzduxzhbfj2i): • Playwright MCP: It gives your AI agent access to a real browser. It can navigate your app, fill out forms, click buttons, and check whether user flows actually work. github.com/vercel-labs... github.com/stablyai/orca github.com/microsoft/p...
- [Hacker News · clharman · 2025-06-30](https://news.ycombinator.com/item?id=44427052): Show HN: "Computer use" mcp for webapps and Electron apps: Circuit MCP allows agents to use webapps and electron apps like a human would. For a while I've been using browser automation MCPs to have my agents test webapps as they developed them - autonomously. I was using Microsoft's Playwright MCP for this and it worked pretty well. Found myself building…
- [Bluesky · deployedbyai · 2026-10-31](https://bsky.app/profile/deployedbyai.bsky.social/post/3mtrrwytmm22y): MICROSOFT: PLAYWRIGHT-MCP V0.0.84: ISOLATED BROWSER CONTEXTS AND URL PARAM REDACTION
- [Hacker News · hwartig · 2026-03-24](https://news.ycombinator.com/item?id=47503469): What are the best headless browsers?: I'd recommend chrome(ium) headless https://developer.chrome.com/docs/chromium/headless . It works with various drivers like puppeteer, selenium and playwright for some added convenience. At https://checklyhq.com we and our customers use it heavily and reliably through playwright for various…
- [Bluesky · CDev · 2026-09-25](https://bsky.app/profile/cdevmkt.bsky.social/post/3mwe265buyk23): stumbled on microsoft/playwright-mcp — MCP browser for coding agents, uses the a11y tree so no vision model needed to click. anyone using it with Cursor? https://github.com/microsoft/playwright-mcp \#MCP \#Playwright \#AIcoding
- [Hacker News · theshrike79 · 2025-08-27](https://news.ycombinator.com/item?id=45038305): AI coding made me faster, but I can't code to music anymore: With web apps playwright-mcp0 is essential IMO. It lets the AI Agent check its own work before claiming it's done. With that it can see any errors in the console, click through the UI and take screenshots to analyse how it looks giving it an independent feedback loop. 0…
- [Bluesky · 🛸パパぱふぅ · 2026-09-11](https://bsky.app/profile/pahoo.org/post/3mv7jxy3w2225): NUNOKAWAさん、こんにちは😀 画面情報が多い、操作ごとの確認が多い、スクリーンショットを頻繁にとるなどの結果で、トークンを大量消費する可能性があります。 特にPlaywright MCPの場合、公式が「大きなツール定義や詳細なアクセシビリティツリーがコンテキストを消費する」と説明しています。 github.com/microsoft/pl...
- [Hacker News · oliviergg · 2025-05-17](https://news.ycombinator.com/item?id=44013257): MCP: An in-depth introduction: I have trouble understanding the level of criticism about MCPs. As I understand it, it's just a tool that allows an LLM to communicate with other tools. People often talk about web APIs, but we should also consider the integration of local tools. For me, the integration is mind-blowing. When I…
- [Bluesky · VritraSec • GitHub Feed · 2026-08-08](https://bsky.app/profile/githubfeed.bsky.social/post/3mslozfstyl2y): 🚀 GitHub Intelligence Drop Kronos (Python • 🟢) ⭐ 36.2K → https://github.com/shiyu-coder/Kronos playwright-mcp (TypeScript • 🟢) ⭐ 35.9K → https://github.com/microsoft/playwright-mcp ⚡ Only signal. Zero noise.

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Health on GitHub: Active
- Last change: 2026-11-01
- Checked on GitHub: 2026-11-08
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open microsoft/playwright-mcp on GitHub](https://github.com/microsoft/playwright-mcp)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/3bd2c4a7-0ba4-4641-99a9-e3b84ec07de7)
- [Its page on Mindket](https://mindket.com/p/3bd2c4a7-0ba4-4641-99a9-e3b84ec07de7)
