The usual outcome of driving a browser through an agent is that it works once and the knowledge evaporates — the sequence lived in a conversation. Capturing it as a Playwright test means the thing you just figured out becomes a regression test without writing one. The iframe tools deserve their own mention because they are the most commonly missing capability in this category: payment forms, embedded widgets and consent dialogs all live in iframes, and a wrapper without iframe support fails on exactly the flows people most want automated. Console log retrieval with filtering is the debugging half — knowing the click worked is less useful than seeing what the page complained about.
A Playwright automation client with a code-generation layer on top: actions can be recorded into a session and emitted as a test file.
- Codegen sessions as objects — start one, inspect it, end it to generate the test file, or clear it without generating anything.
- Iframe interaction gets dedicated tools for click and fill, which is the case most browser wrappers omit and where most real applications break.
- The usual interaction set: navigate, click, fill, select, hover, screenshot of page or element, and file upload to a file input.
- playwright_evaluate runs JavaScript in the page, and playwright_console_logs retrieves console output with filtering.
- playwright_get performs an HTTP GET, for when the answer does not need a browser at all.
- playwright_close releases the browser and its resources explicitly.
Playwright and a browser it can drive.
One command — npx -y mcp-playwright-server
