Driving a browser by accessibility snapshot instead of pixels is both cheaper per step and less brittle when a layout shifts, and the vision fallback covers what the snapshot genuinely cannot see. The separate profile deserves a moment's thought before you point it at a staging login: session state persists across runs, which is convenient until it is not.
Limetest, a lightweight end-to-end testing framework with an MCP server built on Playwright. Test cases are written in natural language and executed by a model against a real browser; execution leans on Playwright's accessibility snapshot rather than pixel analysis, which is what keeps it fast and stable, and falls back to vision mode for scenarios the snapshot cannot express.
- End-to-end test runs planned and executed by the model against a real Chrome instance
- Snapshot-driven execution, with a vision fallback for the cases snapshot mode cannot handle
- A headless mode for running the same tests inside CI
- A persistent Chrome profile, so a login survives between sessions until you delete it
An OpenAI API key — the README states it is needed to run this server in end-to-end mode, and it is passed on the launch command as `--api-key`. Install `@limetest/mcp` from npm and run `npx playwright install` to fetch the browser. The server launches Chrome under its own profile, stored under `ms-limetest/mcp-chrome-profile` in the platform cache directory; anything you log into stays there until that folder is removed. Apache 2.0, and built on Microsoft's Playwright MCP.
One command plus a key — npm install @limetest/mcp, then supply credentials
