Playwright MCP Integration¶
STATUS: active OWNER: felice (screenshots/recording), marije (E2E), judith (E2E) CATEGORY: integration ADDED: 2026-03-27
WHAT¶
Official Microsoft Playwright MCP server for headless browser automation. Used by three agents for different purposes: - Felice: Web screenshots, screen recording for visual assets - Marije/Judith: E2E testing, visual regression testing
MCP SERVER¶
- Package:
@playwright/mcp(npm) - Author: Microsoft (official)
- GitHub: github.com/microsoft/playwright-mcp
- License: Apache-2.0
Modes¶
- Snapshot mode (default): Uses accessibility tree — low token cost (~27K tokens per interaction). Best for E2E testing.
- Vision mode: Uses screenshots for coordinate-based interaction — higher token cost (~114K tokens). Best for visual QA.
Configuration¶
MCP configs at:
- /ge-ops/master/mcp-configs/felice.json
- /ge-ops/master/mcp-configs/marije.json
- /ge-ops/master/mcp-configs/judith.json
All run with --headless flag (no display server needed).
Auth¶
No API key required. Runs locally.
TOOLS AVAILABLE¶
browser_navigate— Navigate to URLbrowser_snapshot— Get accessibility tree snapshotbrowser_screenshot— Take screenshot (saves to file)browser_click— Click elementbrowser_type— Type textbrowser_select_option— Select from dropdownbrowser_wait— Wait for conditionbrowser_evaluate— Execute JavaScript- Plus 15+ more interaction tools
HEADLESS EXECUTION¶
The executor runs in k8s pods without a display server. Playwright MCP's --headless
flag handles this. Chromium is bundled with the npm package.
CRITICAL: First run downloads Chromium (~130MB). The executor Dockerfile should pre-install browsers during build to avoid download during execution.
CHANGELOG MONITORING¶
Joshua monitors @playwright/mcp for updates.
RELATED¶
- Visual production:
domains/visual-production/ - E2E testing:
domains/testing/ - MCP framework:
ge_agent/execution/mcp_integration.py