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
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.
Strongest · Documentation 18/20 Weakest · Security and permissions 12/20
Test out of dateListed 2026-07-24
Read the FMRS scoring method →Runtime:Node.js 18+ · Docker
PLAYWRIGHT_MCP_ALLOWED_HOSTS
List of hosts the server is allowed to serve from; mirrors --allowed-hosts.
PLAYWRIGHT_MCP_ALLOWED_ORIGINS
Semicolon-separated list of trusted origins the browser may request; mirrors --allowed-origins.
PLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESS
Allow access to files outside workspace roots and file:// URLs; mirrors --allow-unrestricted-file-access.
PLAYWRIGHT_MCP_BLOCKED_ORIGINS
Origins the browser is blocked from requesting; mirrors --blocked-origins.
PLAYWRIGHT_MCP_BLOCK_SERVICE_WORKERS
Block service workers; mirrors --block-service-workers.
PLAYWRIGHT_MCP_BROWSER
Browser or channel to use (chrome/firefox/webkit/msedge); mirrors --browser.
PLAYWRIGHT_MCP_CAPS
Additional capabilities to enable (vision/pdf/devtools); mirrors --caps.
PLAYWRIGHT_MCP_CDP_ENDPOINT
CDP endpoint to connect to; mirrors --cdp-endpoint.
PLAYWRIGHT_MCP_CDP_HEADERS
CDP headers sent with the connect request; mirrors --cdp-header.
PLAYWRIGHT_MCP_CDP_TIMEOUT
Timeout in ms for connecting to a CDP endpoint; mirrors --cdp-timeout.
PLAYWRIGHT_MCP_CODEGEN
Code generation language (typescript/python/java/csharp/none); mirrors --codegen.
PLAYWRIGHT_MCP_CONFIG
Path to a JSON configuration file; mirrors --config.
PLAYWRIGHT_MCP_CONSOLE_LEVEL
Console message level to return (error/warning/info/debug); mirrors --console-level.
PLAYWRIGHT_MCP_DEVICE
Device to emulate, e.g. "iPhone 15"; mirrors --device.
PLAYWRIGHT_MCP_MOBILE
Emulate a generic mobile device; mirrors --mobile.
PLAYWRIGHT_MCP_EXECUTABLE_PATH
Path to the browser executable; mirrors --executable-path.
PLAYWRIGHT_MCP_EXTENSION
Connect to a running browser instance (requires the Playwright Extension); mirrors --extension.
PLAYWRIGHT_MCP_ENDPOINT
Bound browser endpoint to connect to; mirrors --endpoint.
PLAYWRIGHT_MCP_GRANT_PERMISSIONS
Permissions to grant the browser context, e.g. geolocation; mirrors --grant-permissions.
PLAYWRIGHT_MCP_HEADLESS
Run the browser headless; mirrors --headless.
PLAYWRIGHT_MCP_HOST
Host to bind the server to; mirrors --host.
PLAYWRIGHT_MCP_IGNORE_HTTPS_ERRORS
Ignore HTTPS errors; mirrors --ignore-https-errors.
PLAYWRIGHT_MCP_INIT_PAGE
TypeScript file evaluated on the Playwright page object; mirrors --init-page.
PLAYWRIGHT_MCP_INIT_SCRIPT
JavaScript init script evaluated in every page; mirrors --init-script.
PLAYWRIGHT_MCP_ISOLATED
Keep the browser profile in memory; mirrors --isolated.
PLAYWRIGHT_MCP_IMAGE_RESPONSES
Whether to send image responses (allow/omit); mirrors --image-responses.
PLAYWRIGHT_MCP_NO_SANDBOX
Disable the sandbox for sandboxed process types; mirrors --no-sandbox.
PLAYWRIGHT_MCP_OUTPUT_DIR
Directory for output files; mirrors --output-dir.
PLAYWRIGHT_MCP_OUTPUT_MAX_SIZE
Threshold in bytes for evicting old output files; mirrors --output-max-size.
PLAYWRIGHT_MCP_PORT
Port for SSE/HTTP transport; mirrors --port.
PLAYWRIGHT_MCP_PROXY_BYPASS
Comma-separated domains to bypass the proxy; mirrors --proxy-bypass.
PLAYWRIGHT_MCP_PROXY_SERVER
Proxy server to use, e.g. http://myproxy:3128; mirrors --proxy-server.
PLAYWRIGHT_MCP_SANDBOX
Enable the sandbox for normally unsandboxed process types; mirrors --sandbox.
PLAYWRIGHT_MCP_SAVE_SESSION
Save the MCP session into the output directory; mirrors --save-session.
PLAYWRIGHT_MCP_SECRETS_FILE
Path to a dotenv secrets file used to redact sensitive text in tool responses; mirrors --secrets.
PLAYWRIGHT_MCP_SHARED_BROWSER_CONTEXT
Reuse one browser context across connected HTTP clients; mirrors --shared-browser-context.
PLAYWRIGHT_MCP_SNAPSHOT_BOXES
Include element bounding boxes in snapshots; mirrors --snapshot-boxes.
PLAYWRIGHT_MCP_SNAPSHOT_MODE
Snapshot mode (full/none); mirrors --snapshot-mode.
PLAYWRIGHT_MCP_STORAGE_STATE
Storage state file path for isolated sessions; mirrors --storage-state.
PLAYWRIGHT_MCP_TEST_ID_ATTRIBUTE
Test id attribute, defaults to data-testid; mirrors --test-id-attribute.
PLAYWRIGHT_MCP_TIMEOUT_ACTION
Action timeout in ms (default 5000); mirrors --timeout-action.
PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION
Navigation timeout in ms (default 60000); mirrors --timeout-navigation.
PLAYWRIGHT_MCP_TIMEOUT_SETTLE
Settle wait after each action in ms (default 500); mirrors --timeout-settle.
PLAYWRIGHT_MCP_USER_AGENT
User agent string to use; mirrors --user-agent.
PLAYWRIGHT_MCP_USER_DATA_DIR
Path to the browser user data directory; mirrors --user-data-dir.
PLAYWRIGHT_MCP_VIEWPORT_SIZE
Browser viewport size, e.g. "1280x720"; mirrors --viewport-size.
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.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.
{
"servers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).
claude mcp add playwright -- npx @playwright/mcp@latest
Run it in a terminal; replace any <…> placeholders with your own values first.
After installing, Playwright tools such as browser_navigate and browser_snapshot should appear in the client's tool list; asking the model to browser_navigate to any URL and getting back a page snapshot confirms the connection works.
Once connected, you can ask your AI assistant things like:
No matching tools
Listed from the project's documentation, not tested by this site.
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.
The Chrome team's official MCP server exposing Chrome DevTools capabilities to AI assistants
Control the FSB browser extension from any MCP client for DOM-first AI browser automation.
Playwright-based browser automation MCP server
Local browser automation MCP server powered by DrissionPage
Source revision b8b4183e099f Data synced 2026-10-19 Read the FMRS scoring method