Aurora QA — AI-powered quality assurance platform that exposes QA tools via Model Context Protocol
Aurora QA MCP server defines 17 tools with explicit Zod schemas and descriptions. Most tools have clear verb-noun naming (generate_tests, run_tests, analyze_bugs) and non-empty descriptions (avg ~120 chars). However, several critical gaps reduce quality: (1) Output schemas are NOT documented, handlers return untyped objects without specifying return structure, forcing LLMs to infer fields; (2) Many parameter descriptions lack format/constraint details (e.g., 'timeout in milliseconds' but no min/max bounds); (3) No error handling guidance, tools lack recovery hints or categorization; (4) Security tools (scan_security, check_dependencies) accept file paths without sanitization guidance; (5) Composition issues: query_knowledge and other tools don't document how results chain to downstream calls. Naming is solid (90% verb-noun), but schema completeness and error guidance are weak.
Perform deep static analysis on source code to find bugs, security vulnerabilities, and logic errors. Returns detailed bug reports with severity ratings and fix suggestions.
Analyze test coverage reports to identify gaps and recommend which tests to add. Checks against configurable thresholds and prioritizes files by risk.
Analyze code for performance issues: N+1 queries, memory leaks, blocking operations, and more.
Check HTML or React code for WCAG 2.1 accessibility compliance.
Check package.json for insecure or unpinned dependencies.
Design chaos engineering experiments to test system resilience.
Estimate the Big O time and space complexity of code.
Output schemas not documented. Tool handlers return untyped objects (e.g., check_accessibility returns {score, level, summary, findingCount, findings} but no schema definition visible). LLMs cannot plan downstream calls or extract fields reliably.
Numeric parameters lack bounds. run_tests timeout, generate_tests maxTests, and query_knowledge limit have no min/max constraints. LLMs can pass absurd values (timeout=999999999, maxTests=1000000) causing timeouts or resource exhaustion.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Generate an API contract from an OpenAPI/Swagger specification.
Generate comprehensive test cases for a given source file using AI. Produces a complete, runnable test suite covering happy paths, edge cases, and error conditions.
Generate a chaos engineering resilience report.
Identify areas where tests are weak based on mutation analysis.
Search the Aurora QA knowledge base for relevant patterns, past bugs, test examples, and code insights learned from previous analysis sessions.
Conduct a thorough code review covering correctness, security, performance, maintainability, and style. Returns scored review with specific issues and improvement suggestions.
Run mutation testing to measure test quality. Generates code mutations and checks if tests catch them.
Execute a test suite and return structured results parsed by AI. Supports Jest, Vitest, Mocha, and other Node.js test runners.
Scan source code for OWASP-aligned security vulnerabilities including SQL injection, XSS, secrets exposure, and auth issues.
Verify an API contract against actual API responses.
No error handling guidance. Tools lack recovery hints or error categorization. If analyze_bugs fails, LLM has no guidance on whether to retry, ask user, or try a different tool. No actionable error messages defined.
Security tools accept file paths without sanitization guidance. scan_security and check_dependencies accept filePath/packageJsonPath parameters but no validation rules or path traversal prevention documented. LLMs could pass '../../../etc/passwd'.
Tool composition gaps. query_knowledge returns results but no documentation on how to chain results to other tools. generate_tests accepts existingTests parameter but no guidance on format or how to obtain it from run_tests output.