Skip to content

feat: add AWT (AI Watch Tester) — AI-powered E2E testing MCP server#3766

Open
ksgisang wants to merge 1 commit intomodelcontextprotocol:mainfrom
ksgisang:main
Open

feat: add AWT (AI Watch Tester) — AI-powered E2E testing MCP server#3766
ksgisang wants to merge 1 commit intomodelcontextprotocol:mainfrom
ksgisang:main

Conversation

@ksgisang
Copy link
Copy Markdown

@ksgisang ksgisang commented Mar 31, 2026

Description

Adds AWT (AI Watch Tester) to the community servers list — alphabetically between AltTester and Amplitude.

What makes AWT different

Most testing MCP servers wrap Playwright for DOM-based testing. AWT goes further:

  • Works on Canvas & Flutter Web — uses OpenCV + OCR for visual matching. DOM-based tools fail completely on CanvasKit-rendered apps.
  • Self-healing DevQA Loop — test fails? AI analyzes the screenshot diff, patches the selector or scenario, retries automatically (up to 5 attempts).
  • Zero test code — point at a URL, AI writes the test scenario. No Playwright code to write or maintain.

The aat_devqa MCP tool

Single tool call that orchestrates the full loop:

scan → generate → run → [fail → AI fix → retry] → report

Installation

pip install aat-devqa
claude mcp add awt -- python mcp/server.py

Links

@ksgisang
Copy link
Copy Markdown
Author

Added a 30-second demo video to README showing the DevQA Loop in action.

Video: https://github.com/ksgisang/AI-Watch-Tester#readme

@ksgisang
Copy link
Copy Markdown
Author

Demo

Here's a 30-second demo showing install → test execution → self-healing loop:

AWT Demo

What makes AWT different from other Playwright/testing MCP servers:

  1. Works on Canvas & Flutter Web — uses OpenCV + OCR for visual matching, not just DOM selectors. Most testing tools fail completely on CanvasKit-rendered apps.

  2. Self-healing DevQA Loop — when a test fails, AI analyzes the screenshot diff, patches the failing step, and retries automatically (up to 5 attempts). No human intervention needed.

  3. Zero test code — give it a URL, it writes the test. Give it a broken test, it fixes itself.

Happy to answer any questions from reviewers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant