← Back to directory
P

Playwright MCP Server

Community
Playwright-based browser automation MCP server
Category
Browser #3 of 32
Stars
★ 5.7k Popular
Transport
stdio (local process) · SSE · Streamable HTTP
Runtime
Node.js
Credentials
No credential needed
License
MIT
Last commit
⚠
Tools
1
66FMRS · C

A mature Playwright browser automation MCP server (v1.0.10) supporting multiple clients, stdio and HTTP transports, automatic browser installation, and 143 device emulation presets. Well documented and MIT licensed, suitable for developers needing AI-driven browser automation.

Strongest · Documentation 17/20 Weakest · Reliability 9/20

Reliability
9/20
Security and permissions
11/20
Maintenance
15/20
Documentation
17/20
Setup experience
14/20
Why each score
Reliability 9/20
The README states the project uses Jest tests (in src/__tests__, runnable via npm test or run-tests.cjs with coverage) and ships an evals package for end-to-end evaluation, indicating some testing discipline. The troubleshooting section documents a real-world error encountered in HTTP mode ('No transport found for sessionId') along with remediation steps, suggesting the key paths have actually been exercised and issues surfaced. However, this is a purely static review: no CI workflow file is visible, the actual scope/pass status of the tests was not verified, and the browser auto-install/retry logic is only described in prose, not backed by inspectable code. Per the static calibration cap (no verifiable CI + committed tests covering key paths caps reliability at 12), a score of 9 is given.
Security and permissions 11/20
The server's core function is browser automation (navigate arbitrary URLs, execute arbitrary JavaScript, screenshot, scrape pages), which inherently has a large data-exposure surface — but this is the tool's declared purpose, not covert behavior. HTTP mode binds to localhost by default and the README explicitly states external access is blocked 'by design (security)', showing some least-exposure awareness; remote access requires the user to actively set up an SSH tunnel rather than being open by default. No hardcoded credentials, real secrets in examples, or covert exfiltration evidence was found, so no red line is triggered. However, the README contains no mention of confirmation prompts for potentially dangerous actions (arbitrary navigation, script execution, form submission) or explicit permission scoping, and does not disclose whether any data is sent to third-party install channels (Smithery/mcp-get). This gap in disclosed safeguards keeps the score below the midpoint baseline; 11 is given.
Maintenance 15/20
The repo has 5,633 stars, is not archived, has 32 open issues, and the README's 'What's New in v1.0.10' section shows continued active feature development (143 device emulation presets), indicating an ongoing release cadence. The license is clearly MIT. However, the README provides no verifiable commit/release dates, issue response times, or a documented security-response channel, so governance and responsiveness cannot be fully confirmed — a score of 15 is given rather than higher.
Documentation 17/20
Documentation is broad: multiple install paths (npm, mcp-get, Smithery, VS Code one-click, Claude Code CLI), automatic/manual browser binary installation instructions, configuration examples for both stdio and HTTP modes, a troubleshooting section for known errors, test-running instructions, contribution guidelines, and links to an external full documentation site and API reference. This is layered and includes actionable examples. Gaps include the lack of in-repo detail on individual tool parameters, response formats, timeouts/costs (deferred to an external docs site), and no explicit statement of known limitations (e.g., supported OS/browser boundaries, concurrency limits). A score of 17 is given.
Setup experience 14/20
Multiple installation routes are offered with concrete configuration snippets for different clients (Claude Desktop, VS Code, VS Code Insiders, Claude Code CLI), most of which are copy-paste ready, and automatic browser binary installation further reduces manual steps. However, the HTTP mode configuration has a documented common failure mode (missing the 'type: http' field breaks the connection), requiring a dedicated troubleshooting section, showing setup is not entirely frictionless in practice. Per the static-review rule, without verifiable CI/integration-test evidence confirming setup reproducibility, the score is capped at 15, and accounting for the noted friction, 14 is given.

Static review · not runListed 2026-09-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkControls a browser

Best for

  • Developers who need browser automation from Claude Desktop, VS Code, and similar clients
  • Users doing web testing and scraping

Not for

  • Environments requiring strict sandboxing that disallow AI-controlled browsers
  • Claude Desktop users needing HTTP/SSE mode (Claude Desktop currently requires stdio mode)

Required permissions

  • Runs real browsers (Chromium, Firefox, WebKit) locally
  • Automatically downloads and installs browser binaries on first use
  • Writes log files to ~/playwright-mcp-server.log
  • Binds a local port in HTTP mode (default 8931)

Risks and side effects

  • AI can execute JavaScript in a real browser, potentially accessing and manipulating sensitive web content
  • Automatic browser downloads consume disk space and bandwidth
  • HTTP mode binds to localhost only; exposing it via SSH tunnels still requires caution

Setup

Before you start

Runtime:Node.js

Install globally via npm: npm install -g @executeautomation/playwright-mcp-server; alternatively use mcp-get or Smithery (npx @smithery/cli install @executeautomation/playwright-mcp-server --client claude). For Claude Desktop, use stdio mode with {"mcpServers":{"playwright":{"command":"npx","args":["-y","@executeautomation/playwright-mcp-server"]}}}. VS Code: code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'. Browser binaries are installed automatically on first use, or manually with npx playwright install.

claude_desktop_config.json
{"mcpServers":{"playwright":{"command":"npx","args":["-y","@executeautomation/playwright-mcp-server"]}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/playwright-mcp-server"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add playwright -- npx -y @executeautomation/playwright-mcp-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Check that the playwright_resize tool appears in your client's tool list; ask it to open a page with the iPhone 13 device preset — if device emulation applies, the server is working.

Troubleshooting

  1. HTTP mode 'No transport found for sessionId' error: ensure the config includes the "type": "http" field
  2. Server fails to start: check that port 8931 is available
  3. External access blocked: the server binds to localhost only by design; use SSH tunneling for remote access
  4. In stdio mode, logs go to ~/playwright-mcp-server.log and console output is suppressed to keep JSON-RPC communication clean

Things to try

Once connected, you can ask your AI assistant things like:

  • Test on iPhone 13 and take a screenshot of the page
  • Switch the browser to iPad Pro 11 in landscape orientation
  • Resize the viewport to Desktop Chrome
  • Rotate to landscape and check the page layout

Tools 1

playwright_resize writes
Resize the browser viewport with 143 real device presets (e.g., iPhone 13, iPad Pro 11, Desktop Chrome), emulating viewport, user-agent, touch events, and device pixel ratio, with orientation switching.

Use cases

Let AI assistants drive real web pages and take screenshots
Generate Playwright test code
Web scraping
Device emulation testing with 143 real device presets
Executing JavaScript in a real browser environment

Supported clients

Claude Desktop
Claude Code
ClinePartial support
CursorPartial support
VS Code

Listed from the project's documentation, not tested by this site.

Overview

A Model Context Protocol server maintained by executeautomation that provides browser automation capabilities using Playwright. It enables LLMs to interact with web pages, take screenshots, generate test code, scrape page content, and execute JavaScript in a real browser environment. Works with Claude Desktop, Cline, Cursor IDE, VS Code and more.

Similar servers

Source revision 2349c2891e7c Data synced 2026-10-19 Read the FMRS scoring method