Mindket

Playwright MCP

Newversion 1 · updated
Star39.3k

Overview

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 . 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.

At a glance

Runs in
  • 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
Start with
claude mcp add playwright npx @playwright/mcp@latest

Platform

Claude CodeCoding agent
CodexCoding agent
Gemini CLICoding agent
GooseCoding agent
ClineCoding agent
OpenCodeCoding agent

And 5 more in Where to use it

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.

  1. You ask the assistant to do something on a page
  2. It opens the page with browser_navigate
  3. browser_snapshot returns the accessibility tree as text
  4. 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
IndustryWho uses itHow they use itExample
Software developmentFront-end developersHave the assistant open the page it just changed and check that it worksA front-end developer asks Claude Code to open the page it just changed and confirm the button now submits.
QA and testingQA engineers and testersWalk a flow on staging, or run exploratory tests in a browser that stays openA QA engineer has the assistant walk a sign-up flow on staging and report where it breaks.
Operations and back officePeople who fill the same web forms every weekFill one form for a list of entries while watching each stepAn operations person fills the same supplier form for each entry on a list, watching every step in the open window.
Online retailStore owners and their developersRead pages a customer sees, including content that appears only after a clickA 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
NeedDetail
Node.js18 or newer. The first start downloads the package through npx, so it takes a little longer.
An MCP clientClaude 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.

claude mcp add playwright npx @playwright/mcp@latest
codex mcp add playwright npx "@playwright/mcp@latest"

VS Code adds it from its own command line.

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

Most other clients read the standard config.

{
  "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
ToolWhat it does
browser_navigateOpens a page
browser_snapshotReturns the page’s accessibility tree as text
browser_clickClicks an element on the page
browser_typeTypes into a field
browser_take_screenshotSaves a screenshot, when you ask for one
browser_tabsManages the browser’s tabs

Arguments change how the browser starts:

Arguments worth knowing
ArgumentWhat it changes
--headlessKeeps the browser window hidden
--device "iPhone 15"Shows the mobile layout
--isolatedStarts a clean session that forgets its sign-ins

The README’s config for that clean session:

{
  "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.

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
Core automation and tabs, on by default25 tools
Storage, --caps=storage17 tools
DevTools, --caps=devtools13 tools
Vision, --caps=vision6 tools
Test assertions, --caps=testing5 tools
Network, --caps=network4 tools
PDF, --caps=pdf1 tool
Config, --caps=config1 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:

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

Add it to your AI app

Runs on your computer: your app starts it.

Run this once in a terminal:

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

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

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

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

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

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

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

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

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

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

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

Toolsbrowser_clickbrowser_closebrowser_console_messagesbrowser_dragbrowser_dropbrowser_emulate_mediabrowser_evaluatebrowser_file_uploadbrowser_fill_formbrowser_findbrowser_handle_dialogbrowser_hoverbrowser_navigatebrowser_navigate_backbrowser_network_requestbrowser_network_requestsbrowser_press_keybrowser_resizebrowser_run_code_unsafebrowser_select_optionbrowser_snapshotbrowser_take_screenshotbrowser_typebrowser_wait_forbrowser_tabs

What’s new

  • Version 1 · 2026-11-03

Compare with similar

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

ProductStarsActivityLicenseLast change
Playwright MCP This page39,312ActiveApache-2.0
REA: Reverse Engineer AnythingShares mcp455,418ActiveMIT
Context7Shares mcp64,331ActiveMIT
Numbers as Mindket last read them, from 2026-11-08 to 2026-11-13. Activity is read from each project’s last change on GitHub: Active within 30 days, Quiet within 180, Stale after that.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

syntax-sherlockShow HN: Playwright Skill for Claude Code – Less context than playwright-MCPI 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…189 points · 45 repliesrahul--pandit.bsky.socialNo 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.1 like · 1 replyterabytestAsk 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…1 point · 2 repliesPierreHenry.DEV ⚡️• 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...1 likeclharmanShow HN: "Computer use" mcp for webapps and Electron appsCircuit 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…2 pointsdeployedbyaiMICROSOFT: PLAYWRIGHT-MCP V0.0.84: ISOLATED BROWSER CONTEXTS AND URL PARAM REDACTION1 replyhwartigWhat 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…CDevstumbled 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 #AIcoding1 liketheshrike79AI coding made me faster, but I can't code to music anymoreWith web apps playwright-mcp[0] 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]…🛸パパぱふぅNUNOKAWAさん、こんにちは😀 画面情報が多い、操作ごとの確認が多い、スクリーンショットを頻繁にとるなどの結果で、トークンを大量消費する可能性があります。 特にPlaywright MCPの場合、公式が「大きなツール定義や詳細なアクセシビリティツリーがコンテキストを消費する」と説明しています。 github.com/microsoft/pl...1 replyolivierggMCP: An in-depth introductionI 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…VritraSec • GitHub Feed🚀 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.1 like

Searched

More from Mindket

See all from Mindket

Nanosaur2-670M

well9472 · Kit

Makes illustrations from text prompts with a small 670M-parameter diffusion model, run through ComfyUI. Built as a low-budget research model for people who wan…

New

Reads handwritten Arabic text from images and returns it as text. A fine-tuned PaddleOCR-VL model for people digitizing Arabic handwriting.

New

Makes video clips from a text prompt or an image plus text, at up to 720P and 24 frames per second, in the Diffusers format for a single consumer GPU.

New

Similar projects

See all in Developer

Scrapling

D4Vinci · Kit

This Python web scraping framework combines fast HTTP requests, browser automation, and data parsing into one library. It includes an MCP server for AI agents…

New99.9k

Crawl4AI

unclecode · Kit

UncleCode’s open source web crawler and scraper for language models and AI agents. It loads a page in a browser and returns clean Markdown, or JSON in a shape…

New87k

Wan2.2-S2V-14B

Wan-AI · Kit

Generates cinematic video of a character driven by an audio track, and can also lip-sync existing video. For video creators, animators and researchers with a l…

New