MCP server
Playwright MCP server
Browser automation through the accessibility tree: click, type, navigate and snapshot pages, no screenshots needed.
★ 39kpushed 2026-10-22Apache-2.0Microsoft on DevHunt
Run in a terminal. Everything after -- is the command that starts the server. docs
claude mcp add --transport stdio playwright -- npx -y @playwright/mcp@latest
Claude Desktop only: Settings > Developer > Edit Config opens claude_desktop_config.json. Add this, save and restart the app. docs
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project), or use the install button. docs
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}Add to .vscode/mcp.json (note the "servers" key and the type), or use the install button. Command Palette > "MCP: Open User Configuration" for all workspaces. docs
{
"servers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}Run codex mcp add playwright -- npx -y @playwright/mcp@latest, or add this to ~/.codex/config.toml. docs
[mcp_servers.playwright] command = "npx" args = ["-y", "@playwright/mcp@latest"]
Run in a terminal (-s user adds it for all projects; the default is this project). docs
gemini mcp add -s user playwright npx -- -y @playwright/mcp@latest
Run in a terminal; it writes ~/.copilot/mcp-config.json. docs
copilot mcp add playwright -- npx -y @playwright/mcp@latest
Add to mcp_config.json: ~/.config/devin/mcp_config.json on macOS and Linux (older installs: ~/.codeium/windsurf/mcp_config.json), %APPDATA%\devin\ on Windows. docs
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}Add to Zed's settings.json (or Settings > AI > MCP Servers > Add Server). Remote servers without an Authorization header sign in with OAuth. docs
{
"context_servers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}Add to opencode.json in the project (or ~/.config/opencode/opencode.json). docs
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"playwright": {
"type": "local",
"command": [
"npx",
"-y",
"@playwright/mcp@latest"
],
"enabled": true
}
}
}Add to ~/.kiro/settings/mcp.json (all projects) or .kiro/settings/mcp.json (this project). docs
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}MCP Servers > Configure > Configure MCP Servers opens cline_mcp_settings.json; add this entry. docs
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}Playwright browser and API testing with screenshots and code generation.
★ 5.7kpushed 2025-12-13MIT
Run in a terminal. Everything after -- is the command that starts the server. docs
claude mcp add --transport stdio playwright-executeautomation -- npx -y @executeautomation/playwright-mcp-server
Claude Desktop only: Settings > Developer > Edit Config opens claude_desktop_config.json. Add this, save and restart the app. docs
{
"mcpServers": {
"playwright-executeautomation": {
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project), or use the install button. docs
{
"mcpServers": {
"playwright-executeautomation": {
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}Add to .vscode/mcp.json (note the "servers" key and the type), or use the install button. Command Palette > "MCP: Open User Configuration" for all workspaces. docs
{
"servers": {
"playwright-executeautomation": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}Run codex mcp add playwright-executeautomation -- npx -y @executeautomation/playwright-mcp-server, or add this to ~/.codex/config.toml. docs
[mcp_servers.playwright-executeautomation] command = "npx" args = ["-y", "@executeautomation/playwright-mcp-server"]
Run in a terminal (-s user adds it for all projects; the default is this project). docs
gemini mcp add -s user playwright-executeautomation npx -- -y @executeautomation/playwright-mcp-server
Run in a terminal; it writes ~/.copilot/mcp-config.json. docs
copilot mcp add playwright-executeautomation -- npx -y @executeautomation/playwright-mcp-server
Add to mcp_config.json: ~/.config/devin/mcp_config.json on macOS and Linux (older installs: ~/.codeium/windsurf/mcp_config.json), %APPDATA%\devin\ on Windows. docs
{
"mcpServers": {
"playwright-executeautomation": {
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}Add to Zed's settings.json (or Settings > AI > MCP Servers > Add Server). Remote servers without an Authorization header sign in with OAuth. docs
{
"context_servers": {
"playwright-executeautomation": {
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}Add to opencode.json in the project (or ~/.config/opencode/opencode.json). docs
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"playwright-executeautomation": {
"type": "local",
"command": [
"npx",
"-y",
"@executeautomation/playwright-mcp-server"
],
"enabled": true
}
}
}Add to ~/.kiro/settings/mcp.json (all projects) or .kiro/settings/mcp.json (this project). docs
{
"mcpServers": {
"playwright-executeautomation": {
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}MCP Servers > Configure > Configure MCP Servers opens cline_mcp_settings.json; add this entry. docs
{
"mcpServers": {
"playwright-executeautomation": {
"command": "npx",
"args": [
"-y",
"@executeautomation/playwright-mcp-server"
]
}
}
}Agent skills for Playwright
The MCP server gives the agent Playwright's tools; a skill teaches it how to use Playwright well. Install with the skills CLI or see each skill's page for Claude Code, Codex, Copilot and Cursor.
- Web App TestingAnthropic
Uses Playwright to drive a local web app, check behavior, read console logs and take screenshots.
npx skills add anthropics/skills --skill webapp-testing - Playwright Browser AutomationOpenAI
Automates a real browser from the terminal for form filling, snapshots, scraping and UI debugging.
npx skills add openai/skills --skill playwright - Playwright CLIMicrosoft (Playwright)
Microsoft's skill for driving browsers and working with Playwright tests from the CLI.
npx skills add microsoft/playwright-cli --skill playwright-cli
Which one to pick
- Start with Playwright: it's maintained by Microsoft and follows its API.
- A local server (Playwright and Playwright (ExecuteAutomation)) runs on your machine with an API key or token, and works offline from the vendor's hosting.
FAQ
Is there an official Playwright MCP server?+
Yes: Playwright, maintained by Microsoft. There is also 1 community server: Playwright (ExecuteAutomation).
How do I connect Playwright to Claude?+
In Claude Code, run the claude mcp add command shown above. In Claude Desktop, add the server to claude_desktop_config.json (Settings > Developer > Edit Config) and restart the app.
How do I use the Playwright MCP server in Cursor or VS Code?+
Open the Cursor or VS Code tab on the server above: it has the exact mcp.json entry and a one-click install link. The same server also works in Claude Code, Claude Desktop / claude.ai, ChatGPT, Cursor, VS Code and Codex.
Is it safe to give an AI agent access to Playwright?+
Start with the official server, a read-only or test account and approval prompts on for anything that writes. Content the agent reads from Playwright (tickets, messages, pages) can carry prompt-injection instructions, so don't auto-approve actions.
All browser & web scraping MCP servers · Agent skills · How MCP setup works in each client
MCP servers for similar apps: Apify · Bright Data · Chrome · Firecrawl · Hyperbrowser · Oxylabs · ScrapeGraphAI · Selenium · Skyvern · Steel