MTW E2E Runner MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add mtw-e2e-runner -- npx -y @matware/e2e-runner mcp
README.md

The AI-native E2E test runner that writes, runs, and debugs tests for you.

English · Español

@matware/e2e-runner

The AI-native E2E test runner that writes, runs, and debugs tests for you.


E2E Runner is a zero-code browser testing framework where tests are plain JSON files — no Playwright scripts, no Cypress boilerplate, no test framework to learn. Define what to click, type, and assert, and the runner executes it in parallel against a shared Chrome pool.

But what makes it truly different is its deep AI integration. With a built-in MCP server, Claude Code can create tests from a conversation, run them, read the results, capture screenshots, and even visually verify that pages look correct — all without leaving the chat. Paste a GitHub issue URL and get a runnable test back. That's the workflow.

This is a test

[
  {
    "name": "login-flow",
    "actions": [
      { "type": "goto", "value": "/login" },
      { "type": "type", "selector": "#email", "value": "user@test.com" },
      { "type": "type", "selector": "#password", "value": "secret" },
      { "type": "click", "text": "Sign In" },
      { "type": "assert_text", "text": "Welcome back" },
      { "type": "screenshot", "value": "logged-in.png" }
    ]
  }
]

No imports. No describe/it. No compilation step. Just a JSON file that describes what a user does — and the runner makes it happen.


Agent Skills

Install E2E testing skills for any coding agent (Claude Code, Cursor, Codex, Copilot, and 40+ more):

npx skills add fastslack/mtw-e2e-runner

This gives your agent the knowledge to create, run, and debug JSON-driven E2E tests — no documentation reading required.

Browse all available skills at skills.sh


Getting Started

Prerequisites: Node.js >= 20, Docker running, your app on a known port.

Quickstart

npm install --save-dev @matware/e2e-runner
npx e2e-runner init          # creates e2e/tests/ with a sample test
npx e2e-runner pool start    # starts Chrome in Docker
npx e2e-runner run --all     # runs the sample test

Or do it all in one command:

curl -fsSL https://raw.githubusercontent.com/fastslack/mtw-e2e-runner/main/scripts/quickstart.sh | bash

After setup, edit e2e.config.js to set your app's port:

export default {
  baseUrl: 'http://host.docker.internal:3000', // change 3000 to your port
};

Why host.docker.internal? Chrome runs inside Docker and can't reach localhost on your machine. This hostname bridges the gap. On Linux (Docker Engine, not Desktop), you may need --add-host=host.docker.internal:host-gateway or use your LAN IP directly.

Add Claude Code (optional)

claude plugin marketplace add fastslack/mtw-e2e-runner
claude plugin install e2e-runner@matware

This gives Claude 13 MCP tools, slash commands, and specialized agents. Just say "Run all E2E tests" or "Create a test for the login flow".

Add OpenCode (optional)

cp node_modules/@matware/e2e-runner/opencode.json ./
mkdir -p .opencode && cp -r node_modules/@matware/e2e-runner/.opencode/* .opencode/

See OPENCODE.md for details.

What's next?


What you get

🧪 Zero-code tests — JSON files that anyone on your team can read and write. No JavaScript, no compilation, no framework lock-in.

🤖 AI-powered testing — Claude Code creates, executes, and debugs tests natively through 13 MCP tools. Ask it to "test the checkout flow" and it builds the JSON, runs it, and reports back.

Tools (3)

run_testExecutes a specified JSON-defined E2E test file.
create_testGenerates a new JSON test file based on user requirements.
debug_testRuns a test and provides diagnostic information for failures.

Configuration

claude_desktop_config.json
{ "mcpServers": { "e2e-runner": { "command": "npx", "args": [ "-y", "@matware/e2e-runner", "mcp" ] } } }

Try it

Create a test for the login flow that enters my credentials and asserts the welcome message.
Run all E2E tests and report any failures.
Debug the failed login-flow test and show me the screenshot.
Create a test that navigates to the checkout page and verifies the total price.

Frequently Asked Questions

What are the key features of MTW E2E Runner?

JSON-driven test definitions without boilerplate code. Parallel execution against a shared Chrome pool. Built-in flaky test detection and visual verification. Deep integration with Claude Code for AI-assisted test creation. Network debugging and screenshot capture capabilities.

What can I use MTW E2E Runner for?

Automating regression testing for web applications using simple JSON files. Turning GitHub issue reports into executable browser tests via AI. Visual verification of UI components during CI/CD pipelines. Rapidly prototyping and debugging user flows without writing Playwright scripts.

How do I install MTW E2E Runner?

Install MTW E2E Runner by running: claude plugin install e2e-runner@matware

What MCP clients work with MTW E2E Runner?

MTW E2E Runner works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep MTW E2E Runner docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare