Token Economics
| Metric |
MCP (Playwright) |
Skill (Playwright CLI) |
| Tool schema overhead |
~5,000-12,500 tokens/turn |
~50 tokens/turn |
| Page state per action |
Streamed inline, always |
On disk; read on demand |
| Typical task total (Microsoft's benchmark) |
~114,000 tokens |
~27,000 tokens |
| Real-world savings |
— |
~4x (up to ~10x on long sessions) |
The mechanism (schemas every turn, accessibility trees inline) can produce much larger per-step ratios on paper — but the honest, measured number for full tasks is ~4x, because the CLI agent still reads snapshots when it needs them and still spends tokens on reasoning. The next chapter walks through the math.
State Management
| Aspect |
MCP |
Skill (CLI) |
| Browser session |
Server-managed, persistent |
Named sessions (-s=name), persistent in .playwright-cli/ |
| Page state awareness |
Accessibility tree (rich, semantic) — streamed |
YAML accessibility snapshot (rich, semantic) — on disk |
| Cross-command continuity |
Automatic (MCP server holds context) |
Automatic (session holds browser) |
| State inspection |
Structured data (roles, labels, refs) |
Same structure, as files the agent reads on demand |
Note what changed versus the 2025-generation CLI tools: the Playwright CLI did not give up semantic page understanding to get cheap. Snapshots are the same accessibility-tree data MCP streams — they just live on disk with stable element refs (e8, e21) instead of being force-fed into context.
Error Handling
| Aspect |
MCP |
Skill (CLI) |
| Error format |
Structured JSON |
Exit code + stderr text |
| Error detail |
Element state, selector info, page context |
Actionability failure reason; snapshot available on disk for diagnosis |
| Agent recovery |
Rich context for reasoning |
Re-snapshot and reason — pay for state only when recovering |
Setup & Maintenance
| Aspect |
MCP |
Skill (CLI) |
| Installation |
claude mcp add name -- command |
npm i -g @playwright/cli + playwright-cli install --skills |
| Runtime dependency |
MCP server process must be running |
Sessions managed under .playwright-cli/ workspace |
| Updates |
Update MCP server package |
Update the CLI package; SKILL.md regenerates |
| Configuration |
Server config file (ports, browser path, etc.) |
Minimal (named sessions, --headed for local watching) |