mcp server
aurora-qa
π€ Aurora QA β AI-powered autonomous quality engineering platform. Multi-agent pipelines, self-healing tests, chaos engineering, MCP server & real-time dashboard.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 21, 2026Aurora QA π€
AI-powered autonomous quality engineering platform β 13 specialized agents, chaos engineering, self-healing tests, MCP server & real-time dashboard
Aurora QA is an intelligent quality engineering platform that uses Claude to autonomously generate tests, find bugs, analyze code security, measure performance, and ensure accessibility. It features 13 specialized AI agents orchestrated through a pipeline system, backed by a vector-based knowledge memory that learns from every analysis.
The platform integrates with your development workflow via the Model Context Protocol (MCP), CI/CD adapters for GitHub Actions, GitLab CI, and Jenkins, and a real-time Next.js dashboard for monitoring.
β¨ Features
- π§ͺ AI Test Generation β Generates comprehensive test suites covering edge cases, error paths, and happy paths
- π Intelligent Bug Detection β Deep static analysis with AI-powered reasoning for complex bugs
- π OWASP Security Scanning β SQL injection, XSS, secrets detection, auth analysis
- β‘ Performance Analysis β Big O estimation, N+1 queries, memory leak detection
- βΏ Accessibility Checking β WCAG 2.1 AA compliance analysis for HTML and React
- π₯ Chaos Engineering β Network latency/failure injection, CPU stress, memory pressure, time skew
- 𧬠Mutation Testing β Measures test quality by generating code mutations
- π Contract Testing β Pact-inspired API contract verification
- π©Ή Self-Healing Tests β Automatically classifies and fixes flaky tests
- π Browser Automation β AI-powered semantic element targeting with Playwright
- π§ Knowledge Memory β TF-IDF vector store learns from every analysis session
- π‘οΈ Circuit Breaker β Auto-halts agents after consecutive failures to prevent token waste
- β±οΈ Timeout Control β AbortController-based API timeouts with graceful degradation
- π Real-time Dashboard β Next.js 15 dashboard with SSE live updates
- π MCP Integration β 12 tools available in Claude Desktop, Cursor, VS Code
- π§Ύ Evidence Grading (v1.3) β every finding graded by how it can be proven; severity is capped by evidence, so hallucinated "criticals" are auto-downgraded
- π¦ Quality Gates (v1.3) β deterministic exit code from explicit budgets; only evidence-backed findings can fail your build
- π€ SARIF / JUnit / Markdown (v1.3) β inline GitHub PR annotations, CI test tabs, PR summaries
π¦ Quality Gates (v1.3)
The hard problem with AI QA isn't generating findings β it's trusting them.
pnpm --filter @aurora-qa/cli build
node packages/cli/bin/aurora-qa.js gate examples/gate/findings.json \
--sources examples/gate --sarif aurora-qa.sarif --md pr.md
| Sev | Evidence | Conf | Finding |
|--------|------------------|-------|----------------------------------------|
| high | π static-match | 0.782 | SQL injection via string concatenation |
| medium | π citation | 0.480 | Hardcoded secret detected |
| low | π heuristic | 0.245 | Possible race condition in cache warmup|
| info | π« unverifiable | 0.044 | Unbounded recursion in parseTree() |
The last one claimed critical β but it cited code that doesn't exist in the file,
so it was capped at info and flagged as a hallucination suspect. It can never break your build.
The first one matched a deterministic rule, so it does.
π Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Aurora QA Platform β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββββ Orchestrator βββββββββββββββββββββββββ β
β β β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β β TestGen β β TestRunner β β BugAnalyzer β β β
β β β Agent β β Agent β β Agent β β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β β Coverage β β Review β β Healer β β β
β β β Agent β β Agent β β Agent β β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β β Security β β Performance β β Accessibility β β β
β β β Agent β β Agent β β Agent β β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β β Chaos β β Mutation β β Contract β β β
β β β Agent β β Agent β β Agent β β β
β β βββββββββββββββ βββββββββββββββ ββββββββββββββββββββ β β
β β βββββββββββββββ β β
β β β Playwright β Pipeline Runner β β
β β β Agent β (topological execution) β β
β β βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββ Memory Layer ββββ βββ Intelligence βββ βββ Events ββββ
β β VectorStore (TF-IDFβ β ReasoningEngine β β EventStreamββ
β β KnowledgeBase β β TestPrioritizer β β (SSE) ββ
β β EpisodicMemory β ββββββββββββββββββββ βββββββββββββββ
β β PatternLibrary β βββ Metrics βββββββββ β
β β WorkingMemory β β MetricsCollector β β
β ββββββββββββββββββββββ β (Prometheus fmt) β β
β βββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β MCP Server (12 tools) β Dashboard (Next.js 15) β CI/CD β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Quick Start
# 1. Clone the repository
git clone https://github.com/Zijian-Ni/aurora-qa.git && cd aurora-qa
# 2. Install dependencies
pnpm install
# 3. Build all packages
pnpm build
# 4. Set your API key
export ANTHROPIC_API_KEY=sk-ant-...
# 5. Run an example
node_modules/.bin/tsx examples/basic-pipeline/index.ts
π API Usage
import { Orchestrator, loadConfig } from '@aurora-qa/core';
// Initialize with config
const config = loadConfig({ anthropicApiKey: process.env.ANTHROPIC_API_KEY! });
const orchestrator = new Orchestrator({ config });
// Generate tests for a source file
const testOutput = await orchestrator.generateTests({
sourceCode: 'export function add(a: number, b: number) { return a + b; }',
filePath: 'src/math.ts',
framework: 'vitest',
});
// Run security scan
const securityReport = await orchestrator.scanSecurity(
'const query = `SELECT * FROM users WHERE id = ${userId}`;',
'src/db.ts',
);
// Analyze performance
const perfAnalysis = await orchestrator.analyzePerformance(
'for (const user of users) { await db.find(user.id); }',
'typescript',
);
// Run a full pipeline
const run = await orchestrator.runPipeline({
id: 'my-pipeline',
name: 'Full QA',
steps: [
{ id: 'gen', type: 'generate-tests', name: 'Generate', config: { sourceCode: '...', filePath: 'app.ts' } },
{ id: 'sec', type: 'scan-security', name: 'Security', config: { code: '...' } },
{ id: 'perf', type: 'analyze-performance', name: 'Performance', config: { code: '...' } },
],
triggers: [{ type: 'manual' }],
environment: {},
createdAt: new Date(),
updatedAt: new Date(),
});
// Health check
console.log(orchestrator.health());
// Shutdown
await orchestrator.shutdown();
π€ Agents (13 total)
| Agent | Role | Key Capabilities |
|---|---|---|
| TestGenerator | Test creation | Generates comprehensive test suites with edge cases |
| TestRunner | Test execution | Runs tests, parses output with AI |
| BugAnalyzer | Bug detection | Deep static analysis, severity ratings |
| CoverageAgent | Coverage analysis | Gap detection, threshold checking |
| ReviewAgent | Code review | Quality scoring, issue categorization |
| HealerAgent | Self-healing | Classifies failures, suggests automated fixes |
| PlaywrightAgent | Browser automation | AI-powered semantic element targeting |
| SecurityAgent | Security scanning | OWASP-aligned vulnerability detection |
| PerformanceAgent | Performance analysis | Big O, N+1 queries, memory leaks |
| AccessibilityAgent | a11y checking | WCAG 2.1 AA compliance |
| ChaosAgent | Chaos engineering | Resilience testing with fault injection |
| MutationAgent | Mutation testing | Measures test quality via code mutations |
| ContractAgent | Contract testing | API contract verification (Pact-inspired) |
π MCP Tools (12 tools)
| Tool | Description |
|---|---|
generate_tests | Generate comprehensive test cases for source code |
run_tests | Execute tests and return structured results |
analyze_bugs | Deep static analysis for bugs and vulnerabilities |
review_code | Thorough code review with scoring |
analyze_coverage | Coverage gap analysis |
query_knowledge | Search the knowledge base for patterns |
scan_security | OWASP security scanning |
check_dependencies | Vulnerable dependency detection |
design_chaos_experiment | Design chaos engineering scenarios |
check_accessibility | WCAG compliance checking |
analyze_performance | Performance issue detection |
run_mutation_testing | Mutation testing for test quality |
π Dashboard
The Next.js 15 dashboard provides real-time monitoring:
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Aurora QA β Live β
ββββββββββββ¬ββββββββββββββββββββββββββββββββββββ€
β β [Runs: 142] [Pass: 94.2%] β
β β Dash β [Bugs: 23] [Avg: 4.2s] β
β βΆ Runs β β
β β Agent β Agent Status (13 agents) β
β πͺ² Bugs β Recent Pipeline Runs β
β β Bug Tracker with Severity β
ββββββββββββ΄ββββββββββββββββββββββββββββββββββββ
pnpm dashboard # http://localhost:3001
π₯ Chaos Engineering
Aurora QA includes a full chaos engineering engine:
- Network Latency β Inject artificial delays into fetch calls
- Network Failure β Randomly fail network requests
- CPU Stress β Block the event loop to simulate load
- Memory Pressure β Allocate memory to test GC behavior
- Random Errors β Inject errors at configurable probability
- Time Skew β Offset
Date.now()for temporal testing
import { ChaosEngine } from '@aurora-qa/core';
const engine = new ChaosEngine();
engine.injectNetworkLatency(200, 0.5); // 200ms delay, 50% probability
engine.injectNetworkFailure(0.1); // 10% failure rate
// ... run your tests ...
engine.reset();
π§ Intelligence Layer
- EpisodicMemory β Stores and recalls past analysis sessions with time-decay scoring
- PatternLibrary β Learns successful test patterns and matches them to new contexts
- WorkingMemory β Short-term context for current pipeline run
- ReasoningEngine β Chain-of-thought reasoning for complex decisions
- TestPrioritizer β Smart test ordering based on change proximity, failure history, and criticality
βοΈ Configuration
# Environment variables
ANTHROPIC_API_KEY=sk-ant-... # Required
AURORA_MODEL=claude-opus-4-6 # AI model (default: claude-opus-4-6)
DASHBOARD_PORT=3001 # Dashboard port
DASHBOARD_HOST=0.0.0.0 # Dashboard host
CORS_ORIGINS=http://localhost:3000
π Examples
| Example | Description |
|---|---|
basic-pipeline | Full QA pipeline on utility functions |
security-scan | Security scanning on vulnerable code |
chaos-resilience | Chaos engineering experiments |
π€ Contributing
See CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch:
git checkout -b feat/amazing-feature - Commit changes:
git commit -m 'feat: add amazing feature' - Push:
git push origin feat/amazing-feature - Open a Pull Request
π License
MIT β Built with β€οΈ by Zijian Ni & Aurora Xiaoluo π