Playwright CLI
Browser automation via Playwright. Token-efficient CLI for coding agents.
Installation
npm install -g @playwright/mcp@latest
playwright-cli --help
Core Commands
| Command | Description |
|---|---|
playwright-cli open <url> |
Open URL in browser |
playwright-cli close |
Close the page |
playwright-cli type <text> |
Type text into editable element |
playwright-cli click <ref> [button] |
Click on element |
playwright-cli dblclick <ref> [button] |
Double click |
playwright-cli fill <ref> <text> |
Fill text into field |
playwright-cli drag <startRef> <endRef> |
Drag and drop |
playwright-cli hover <ref> |
Hover over element |
playwright-cli check <ref> |
Check checkbox/radio |
playwright-cli uncheck <ref> |
Uncheck checkbox |
playwright-cli select <ref> <val> |
Select dropdown option |
playwright-cli snapshot |
Capture page snapshot for refs |
Navigation
playwright-cli go-back # Go back
playwright-cli go-forward # Go forward
playwright-cli reload # Reload page
Keyboard & Mouse
playwright-cli press <key> # Press key (a, arrowleft, enter...)
playwright-cli keydown <key> # Key down
playwright-cli keyup <key> # Key up
playwright-cli mousemove <x> <y> # Move mouse
playwright-cli mousedown [button] # Mouse down
playwright-cli mouseup [button] # Mouse up
playwright-cli mousewheel <dx> <dy> # Scroll
Save & Export
playwright-cli screenshot [ref] # Screenshot page or element
playwright-cli pdf # Save as PDF
Tabs
playwright-cli tab-list # List all tabs
playwright-cli tab-new [url] # Open new tab
playwright-cli tab-close [index] # Close tab
playwright-cli tab-select <index> # Switch tab
DevTools
playwright-cli console [min-level] # View console messages
playwright-cli network # View network requests
playwright-cli run-code <code> # Run JS snippet
playwright-cli tracing-start # Start trace
playwright-cli tracing-stop # Stop trace
Sessions
playwright-cli session-list # List sessions
playwright-cli session-stop [name] # Stop session
playwright-cli session-stop-all # Stop all
playwright-cli session-delete [name] # Delete session data
Headed Mode
playwright-cli open https://example.com --headed
Examples
# Open and interact
playwright-cli open https://example.com
playwright-cli type "search query"
playwright-cli press Enter
playwright-cli screenshot
# Use sessions
playwright-cli open https://site1.com
playwright-cli --session=project-a open https://site2.com
Environment Variables
| Variable | Description |
|---|---|
PLAYWRIGHT_MCP_BROWSER |
Browser: chrome, firefox, webkit, msedge |
PLAYWRIGHT_MCP_HEADLESS |
Run headless (default: headed) |
PLAYWRIGHT_MCP_ALLOWED_HOSTS |
Comma-separated allowed hosts |
PLAYWRIGHT_MCP_CONFIG |
Path to config file |
Configuration
Create playwright-cli.json for persistent settings:
{
"browser": {
"browserName": "chromium",
"headless": false
},
"outputDir": "./playwright-output",
"console": {
"level": "info"
}
}
Notes
- Cross-platform — requires Node.js 18+ (Linux, macOS, Windows)
- Sessions persist cookies/storage by default
- Use
--sessionflag for isolated browser instances - Snapshots return element refs for subsequent commands