← Back to directory
P

Playwright MCP

Official
Microsoft's official Playwright-based browser automation MCP server
GitHub source repository ↗
★ 35.4k Stars Category · Browser Very popular
78FMRS · B
Source and config reviewed
Reliability
13/20
Security and permissions
12/20
Maintenance
18/20
Documentation
18/20
Setup experience
17/20

Officially maintained by Microsoft; using accessibility-tree snapshots instead of screenshot analysis makes this one of the best-documented browser automation MCP servers with the widest client support. This review is a static check of the source and docs, not an actual run.

Read the scoring and verification method →
Officially maintained by Microsoft, this MCP server wraps Playwright for browser automation. It uses accessibility-tree snapshots rather than pixel-based screenshot analysis to understand page structure, letting an AI assistant click, type, navigate, screenshot, and read console/network activity reliably without a vision model.

Tools

browser_click
Click an element on the page
browser_close
Close the current page
browser_console_messages
Return browser console messages
browser_navigate
Navigate to a URL
browser_snapshot
Capture an accessibility-tree snapshot for locating elements
browser_type
Type text into an input field
browser_take_screenshot
Take a screenshot of the current page
browser_fill_form
Fill multiple form fields at once
browser_evaluate
Execute JavaScript in the page context
browser_network_requests
List network requests made by the page

Setup

Run `@playwright/mcp@latest` directly via npx — the required browser engine downloads automatically on first run. Flags like `--browser` (chromium/firefox/webkit), `--headless`, and `--isolated` (isolated user profile) are also supported; see the repo README for the full list.
claude_desktop_config.json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

Fit and risk

Best for

  • Scenarios where an AI assistant needs to actually drive a browser to complete a task
  • Web automation testing and end-to-end verification

Not for

  • Simple static-text scraping (a lightweight scraper is a better fit)
  • Environments sensitive to browser resource usage that can't run a full browser engine

Required permissions

  • Requires installing and running a browser engine (Chromium/Firefox/WebKit) locally or on a server
  • browser_navigate can visit any URL; browser_evaluate can run arbitrary JavaScript in the page context

Risks and side effects

  • browser_evaluate executing arbitrary scripts carries risk if a malicious page is visited — restrict to trusted sites or an isolated environment
  • Long-running browser instances consume significant memory and CPU

Troubleshooting

  1. Missing browser engine: ensure network access to Playwright's browser download location on first run
  2. Element location fails: prefer the stable references from browser_snapshot over coordinate clicks
  3. Rendering issues in headless mode: try disabling --headless to rule out an environment-specific issue

Use cases

Automate web interaction flows for testing and generate reproducible steps
Scrape dynamic content that requires JS rendering
Have an AI assistant fill forms and click through a web task
Inspect console errors and network requests while debugging a page

Supported clients

Claude DesktopFull support
Claude CodeFull support
VS CodeFull support
CursorFull support
WindsurfFull support
JetBrainsFull support
ZedFull support
ClineFull support
AmpFull support
KiroFull support
LM StudioFull support
AntigravityFull support
GooseFull support