Plugins

playwright

Automates the browser and runs end-to-end tests through the Microsoft Playwright MCP.

The playwright plugin attaches Microsoft's Playwright MCP server to Claude Code, so Claude can open a browser, click, type, and check what is on screen. You can use it for pre-deploy visual checks and end-to-end checks.

From actually using it

While reworking this site, I checked pages by opening them at 1280px and 390px (phone) widths and taking full-page captures. That turned up and let me fix a security header (CSP) that was blocking the AdSense and Analytics scripts, a demo iframe that would not load because of an X-Frame-Options setting, and a missing space between links on the About page. I also read the console error messages through Playwright. The plugin ran as an MCP server, so the tool names looked like mcp__plugin_playwright_playwright__browser_navigate.

What the tool does

Playwright MCP is an MCP server that drives a browser through Playwright. The README says it works from the accessibility tree rather than pixel-based input. In the default mode, browser_snapshot reads the page as structured text, and Claude clicks or types using element references from that text. That means it works without a vision model.

There is also a screenshot tool (browser_take_screenshot), but the README states you cannot act on a screenshot. Actions are based on snapshots.

Installing it

The official marketplace has a playwright plugin, set up to run @playwright/mcp@latest through npx in its .mcp.json. You can also register just the MCP server yourself without the plugin. Node.js 18 or later is required.

# As a plugin
/plugin install playwright@claude-plugins-official

# As an MCP server, directly
claude mcp add playwright npx @playwright/mcp@latest

How to use it

  • Say what to open and what to check, such as "Open localhost:3000 and check that the login screen looks right."
  • To see different screen widths, ask it to open the page at a specific window size. The tool list includes browser_resize.
  • It can also read console errors and network requests (browser_console_messages, browser_network_requests).
  • The browser runs in headed mode (with a visible window) by default. To run without a window, pass --headless in the server options.
  • Use --browser to pick chrome, firefox, webkit, or msedge. With --isolated, the profile lives only in memory and its state disappears when the browser closes.

When not to use it, and safety

  • For high-throughput coding agents, the README recommends the Playwright CLI with skills instead. MCP uses more context because of its tool definitions and the accessibility tree.
  • The MCP approach suits exploratory automation, self-healing tests, and long tasks where the browser state needs to persist.
  • The README says plainly that this server is not a security boundary. If you run it with a logged-in profile, it acts as that account. When opening sites you do not trust, consider --isolated, --allowed-hosts, or --blocked-origins.
  • A persistent profile can only be used by one browser instance, so for parallel use you need --isolated or a separate --user-data-dir.

Real examples

Before deploying, you want to check the dev server at desktop and phone widths

Open http://localhost:3000 at 1280px wide and at 390px wide, capture the full page for each, and tell me if anything looks broken.

Claude opens the browser, views the page at both widths, and saves captures. It describes anything that overlaps or gets cut off. What problems it finds depends on the page.

The page shows up, but some features do not work

Open the /pricing page and tell me about any console errors and failed network requests.

It reads the console messages and the request list and suggests likely causes. It is useful for finding problems you cannot see by eye, such as a security header (CSP) blocking a script.

Common mistakes and when not to use it

  • The server starts through npx, so it will not start on Node older than 18 or when the network is blocked. Check the connection status in /mcp.
  • If you open a page that needs a login with a persistent profile, it acts as your account. Use a test account.
  • Everything on the open page goes into context. A very long page gets expensive, so point it at the area you want checked.
  • This tool does not judge a screen the way a person does. Whether a design looks good is something you have to see and decide yourself.

FAQ

How is the plugin different from registering the MCP server directly?

They are two install paths for the same server. A plugin is installed with /plugin and is easy to turn on and off. Registering directly with claude mcp add lets you pass any options you like.

Can it click based on a screenshot?

Not in the default mode. Coordinate-based mouse tools only appear when you turn on --caps=vision.

Checked against the official docs on 2026-10-30. Sources: microsoft/playwright-mcp README, claude-plugins-official: playwright, Claude Code docs: MCP. How we write

Usage

"로그인 플로우 테스트해줘"

When to use it

When you are verifying a UI.

More Claude Code plugins

frontend-designBuilds polished frontend UI that avoids the generic AI look.Pluginscode-reviewAutomatically reviews a PR using several specialized agents and confidence scores.Pluginspr-review-toolkitA set of PR review agents by area, such as comments, tests, error handling and type design.Pluginscode-simplifierCleans up recently changed code and simplifies it without changing behavior.Pluginscommit-commandsA set of commands for commit, push and creating a PR.Pluginsfeature-devA feature development workflow that uses exploration, design and review agents.Plugins
All Claude Code