Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ATR Healer

FreeNot checked

MCP server for self-healing Selenide + Cucumber regression tests, using AI to fix failed locators and rerun tests.

GitHubEmbed

About

MCP server for self-healing Selenide + Cucumber regression tests, using AI to fix failed locators and rerun tests.

README

ATR means Automation Test Resilience.

This project is now a local self-healing runner and MCP server for Selenide + Cucumber regression tests. It is not a VS Code extension anymore.

What It Does

Copilot / Continue / Codex
  -> ATR MCP tool or ATR CLI
  -> Cucumber/Selenide test run
  -> failed locator + failed page HTML
  -> Qwen / local fallback healer
  -> safe patch under src/test/**
  -> rerun test
  -> Markdown report

ATR is designed for Java test automation projects that use Page Objects and stable data-test-id selectors.

Commands

Compile ATR:

npm run compile

NPM Package Usage

After ATR is published or packed, users can run it without cloning this repository:

npm install --save-dev atr-healer
npx atr --mode init
npx atr --mode mcp-config --optional-tools true

Global install is also possible:

npm install -g atr-healer
atr --mode init --workspace "C:\path\to\project"
atr --mode mcp-config --optional-tools true

atr --mode init copies lightweight Copilot instructions, prompts, agents, and ATR docs into the target project.

atr --mode mcp-config prints MCP configuration JSON that can be pasted into Copilot/Continue MCP settings.

Before self-healing, the target test project should have a Cucumber failure hook that writes target/failed-page.html. If it is missing, use the installed docs/atr-failure-hook.md instructions to add it under src/test/** before running ATR.

Local Coder LLM

For an internal OpenAI-compatible local coder model, use the local-coder profile. Keep private endpoints and cookies in environment variables:

$env:ATR_LOCAL_CODER_ENDPOINT = "https://<local-llm-host>/v1/chat/completions"
$env:ATR_LOCAL_CODER_COOKIE = "<cookie-name>=<cookie-value>"

atr --workspace "C:\path\to\test-project" `
  --test-command ".\mvnw.cmd test" `
  --feature "src/test/resources/features/example.feature" `
  --scenario "Scenario name" `
  --html-file "target/failed-page.html" `
  --approval-mode auto-test-files `
  --ai-profile local-coder `
  --ai-endpoint "$env:ATR_LOCAL_CODER_ENDPOINT" `
  --ai-cookie-env ATR_LOCAL_CODER_COOKIE

local-coder defaults:

  • provider: openai-compatible
  • model: ONIKS
  • temperature: 0.6
  • max output tokens: 163849
  • JSON response format parameter: disabled
  • API call logs: target/atr-healer/ai-logs

Run the CLI:

npm run atr -- --workspace "C:\path\to\test-project" --test-command ".\\mvnw.cmd test" --feature "src/test/resources/features/transfer.feature" --scenario "Successful transfer" --html-file "target/failed-page.html" --approval-mode auto-test-files --ai-provider openai-compatible --ai-profile alibaba-free --ai-model qwen3.7-plus --ai-endpoint "https://dashscope-intl.aliyuncs.com/compatible-mode/v1" --ai-api-key-env DASHSCOPE_API_KEY

Other CLI modes:

npm run atr -- --mode knowledge --workspace "C:\path\to\project"
npm run atr -- --mode analyze --workspace "C:\path\to\project"
npm run atr -- --mode audit-test-ids --workspace "C:\path\to\project" --page Transfer --project-prefix transfer --include "src/App.jsx"

Start the MCP server:

npm run mcp

Current MCP tools:

atr_knowledge_summary
atr_analyze_project
atr_self_heal_scenario

Optional MCP tools are hidden by default. Enable them when you want Copilot/Continue to access generation-prep workflows:

$env:ATR_MCP_ENABLE_OPTIONAL_TOOLS = "true"
npm run mcp

Optional tools currently include:

atr_audit_test_ids

Qwen Configuration

Keep the DashScope key in your environment:

$env:DASHSCOPE_API_KEY = "<your-key>"

For a permanent Windows user variable:

setx DASHSCOPE_API_KEY "<your-key>"

Open a new terminal after setx.

Safety

In auto-test-files mode, ATR only applies exact changes under:

src/test/**

It must not patch production React source automatically. Adding or changing data-test-id attributes in UI code should be a separate reviewed change.

Docs

  • docs/atr-self-healing.md
  • docs/atr-knowledge-architecture.md
  • docs/codex-atr-usage.md
  • docs/continue-config.example.yaml
  • docs/continue-prompts.md

Mock Project

The example project lives under:

examples/mock-banking-ui

It contains a small React page plus Selenide/Cucumber tests for demonstrating locator healing.

from github.com/stroupp/self-healing-mcp

Install ATR Healer in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install atr-healer

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add atr-healer -- npx -y github:stroupp/self-healing-mcp

FAQ

Is ATR Healer MCP free?

Yes, ATR Healer MCP is free — one-click install via Unyly at no cost.

Does ATR Healer need an API key?

No, ATR Healer runs without API keys or environment variables.

Is ATR Healer hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install ATR Healer in Claude Desktop, Claude Code or Cursor?

Open ATR Healer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare ATR Healer with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs