# e2e-runner

Runs browser-based E2E checks from JSON scenarios and lets an agent help create them. Use it to test web app flows in a real browser.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Author: fastslack
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/fastslack/mtw-e2e-runner
- Updated: 2026-06-08
- HTML: https://affpapa.org/en/nevibecode/mcp/e2e-runner

## What it does

e2e-runner performs browser actions such as opening a page, filling fields, clicking controls, checking text, and saving screenshots. A test is an ordered JSON action list, so there is no test code to write. Through MCP, an agent can create a scenario, run it, and report the outcome.

Choose a browser setup: connect Chromium through its debugging port, use Obscura, or run a Docker Chrome pool for parallel tests. Install the npm package, then `npx e2e-runner init` creates an `e2e/` directory with a sample test and config. The Docker pool requires Docker; set the app URL to `host.docker.internal` so containerized Chrome can reach the host app.

Results include pass or fail status, timing, screenshots, and network errors. They appear in the terminal and in the web dashboard when it is open. For local Chrome, set `CHROME_POOL_URL` and select the `cdp` driver.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add e2e-runner -- npx -y @matware/e2e-runner
```

### Codex

**Platform CLI**
```bash
codex mcp add e2e-runner -- npx -y @matware/e2e-runner
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "e2e-runner": {
            "command": "npx",
            "args": [
                "-y",
                "@matware/e2e-runner"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "e2e-runner": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@matware/e2e-runner"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add e2e-runner npx -y @matware/e2e-runner
```

## When to use it
- Test a web app login flow in a browser
- Check that an expected message appears after an action
- Capture a screenshot at the end of a test
- Run tests in parallel with a Chrome pool

## Example prompts
- Create a browser test for login: open `/login`, fill in the form, and check the result.
- Check the home page at `/` and save a screenshot as `home.png`.
- Run every test in `e2e/` and report the results.

## Similar
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74569
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18779
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13181
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 10025
- [e2e](https://affpapa.org/en/nevibecode/mcp/e2e.md) — MCP server · ★ 11962
- [mockserver](https://affpapa.org/en/nevibecode/mcp/mockserver.md) — MCP server · ★ 4999

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
