qa-ai-agents

qa-ai-agents

Enables automated QA testing by running a pipeline of AI agents that generate test scenarios, architect test layers, write Playwright tests, and review code, all grounded in feature requirements and API contracts.

Category
Visit Server

README

QA AI Agents

An AI-powered QA automation pipeline built with TypeScript, Claude API, and the Model Context Protocol (MCP).

Architecture

Four specialised agents run in sequence, each grounded in feature requirements, business rules, and API contracts:

  1. Agent 1 — Functional Tester: Generates test scenarios across happy path, negative, security, edge cases, UI states, and business rules
  2. Agent 2 — Test Architect: Assigns each scenario to the correct test pyramid layer (unit / API / component / E2E)
  3. Agent 3 — Test Engineer: Writes production-grade Playwright tests using Page Object Model (POM)
  4. Agent 4 — Code Reviewer: Audits generated tests for selector quality, assertion completeness, and Playwright best practices

MCP Server

Exposes the pipeline as 4 MCP tools callable from Claude Desktop or Claude Code:

  • run_qa_pipeline — full 4-agent pipeline
  • generate_test_scenarios — Agent 1 only
  • set_feature_input — write to input/feature.md
  • get_pipeline_report — read last pipeline report

Tech Stack

  • TypeScript + Node.js
  • Anthropic Claude API (Sonnet 4.6 + Haiku 4.5)
  • Ollama (local LLM support — toggle via USE_OLLAMA)
  • Playwright (generated test output)
  • Model Context Protocol (MCP) SDK

Setup

git clone https://github.com/abchahal/qa-ai-agents.git
cd qa-ai-agents
npm install
cp .env.example .env
# Add your ANTHROPIC_API_KEY to .env

Running the pipeline

# Via terminal
npm run pipeline

# Via Claude Desktop / Claude Code
# Type: "Run the full QA pipeline using input/feature.md"

Input files

File Purpose
input/feature.md Feature requirements, business rules, UI selectors
input/api-contract.json API schema (optional)
input/source.js Source code context (optional)

Output

output/
├── pages/             ← Page Object classes
├── tests/             ← Playwright spec files
└── pipeline_report.md

Model Strategy

Agent Model Reason
Agent 1 Haiku 4.5 Structured JSON output
Agent 2 Haiku 4.5 Classification task
Agent 3 Haiku 4.5 Code generation
Agent 4 Haiku 4.5 Analysis and scoring

MCP Setup via CLI

Step 1 — Create the batch file

Create start-mcp.bat in the project root:

@echo off
cd /d "C:\path\to\qa-ai-agents"
node --loader ts-node/esm src/server.ts

Replace C:\path\to\qa-ai-agents with your actual project path.

Step 2 — Register the MCP server

claude mcp add -s user qa-ai-agents "C:\path\to\qa-ai-agents\start-mcp.bat"

Step 3 — Verify connection

# List all MCP servers and their status
claude mcp list

# Check your server specifically
claude mcp get qa-ai-agents

Expected output:

qa-ai-agents:
  Scope: User config (available in all your projects)
  Status: ✔ Connected
  Type: stdio
  Command: C:\path\to\qa-ai-agents\start-mcp.bat

Step 4 — Remove the server (if needed)

claude mcp remove qa-ai-agents -s user

Switching between Ollama and Claude API

Ollama → Claude API

Step 1 — Update .env:

USE_OLLAMA=false
ANTHROPIC_API_KEY=sk-ant-your-actual-key-here

Step 2 — Restart the MCP server to pick up new env:

claude mcp remove qa-ai-agents -s user
claude mcp add -s user qa-ai-agents "C:\path\to\qa-ai-agents\start-mcp.bat"

Step 3 — Verify correct provider is loaded:

npm run agent1

You should see:

Using Claude API: claude-sonnet-4-6

Claude API → Ollama

Step 1 — Make sure Ollama is running and model is pulled:

ollama list
# Should show qwen2.5-coder:7b or your preferred model

If model is not pulled yet:

ollama pull qwen2.5-coder:7b

Step 2 — Update .env:

USE_OLLAMA=true
OLLAMA_MODEL=qwen2.5-coder:7b

Step 3 — Restart the MCP server:

claude mcp remove qa-ai-agents -s user
claude mcp add -s user qa-ai-agents "C:\path\to\qa-ai-agents\start-mcp.bat"

Step 4 — Verify correct provider is loaded:

npm run agent1

You should see:

Using Ollama local model: qwen2.5-coder:7b

Provider comparison

Ollama (local) Claude API (cloud)
Cost Free ~$0.18 per pipeline run
Speed 15–25 minutes 45–90 seconds
Quality Good Best
Internet required No Yes
Best for Development and debugging Production runs and demos

Tip: Use USE_OLLAMA=true while writing and debugging agent code to avoid burning API credits. Switch to USE_OLLAMA=false for actual pipeline runs and portfolio demos.


Environment variables

Variable Required Description
ANTHROPIC_API_KEY Yes (if USE_OLLAMA=false) Your Anthropic API key from console.anthropic.com
USE_OLLAMA Yes true for local Ollama, false for Claude API
OLLAMA_MODEL No Ollama model name. Default: qwen2.5-coder:7b

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured