Skip to main content

Local, keyless MCP server: standards-grounded QA knowledge retrieval (ISTQB, OWASP, IEEE, ISO, EU AI Act) and deterministic QA effort estimation.

Project description

QAI Consultant

An open-source AI agent that acts as a senior QA Architect โ€” automatically generating a Test Strategy, Risk Register, and Effort Estimation Report from a simple project description.

๐ŸŒ Live demo: appi-consultant-esodgczvwpmozzybuhdhek.streamlit.app

๐Ÿค– Built with Claude Code by Anthropic.

CI License Python Version Built with Claude


Screenshots

CLI

CLI Banner CLI Dialogue

Web UI (Streamlit)

Streamlit Intro Streamlit Strategy Streamlit Risk Register Streamlit Effort


Quick Start

Option A โ€” Use the live app (no setup)

๐Ÿ‘‰ appi-consultant-esodgczvwpmozzybuhdhek.streamlit.app

Option B โ€” Run locally

# 1. Clone and install
git clone https://github.com/gvasile29/qai-consultant.git
cd qai-consultant
pip install -r requirements.txt

# 2. Set up API keys
cp .env.example .env
# Edit .env and fill in the 4 keys (see Prerequisites below)

# 3. Build the knowledge base (one-time, pushes to Pinecone)
python src/ingest.py

# 4. Run
python src/cli.py            # Terminal UI
streamlit run src/app.py     # Web UI โ†’ http://localhost:8501

๐Ÿ“– Full installation guide: INSTALL.md


The Problem

Creating a Test Strategy from scratch is time-consuming and requires deep QA expertise. Most teams either skip it, do it superficially, or spend days researching methodologies.

QAI Consultant eliminates this bottleneck by combining established QA methodologies, industry standards (ISTQB, OWASP, ISO 26262, A-SPICE), and expert knowledge into an AI agent that thinks like a seasoned QA Architect.


Who Is This For?

  • QA Engineers who need structured guidance on test strategy
  • Engineering Managers who need effort estimations and resource planning
  • Development teams without a dedicated QA Architect
  • QA Consultants who want to accelerate their delivery

What QAI Consultant Generates

From a single 11-question dialogue, QAI Consultant automatically generates four documents:

Document What it contains
โš ๏ธ Risk Register Risk matrix, likelihood/impact analysis, mitigations per risk
๐Ÿ“Š Effort Estimation Report PERT-based breakdown, team capacity analysis, confidence score
๐Ÿ“‹ Test Strategy ISTQB-aligned strategy tailored to your stack, methodology, and compliance
๐Ÿ“ Test Plan IEEE 829-aligned plan with entry/exit criteria, schedule, and AI tool oversight

All outputs are saved as Markdown files and available for PDF download.


Knowledge Base

QAI Consultant's recommendations are grounded in real QA standards and methodologies:

  • ๐Ÿ“˜ ISTQB โ€” 14 certification syllabuses (CTFL, CTAL-TA, CTAL-TM, CTAL-TAE, CT-AI, and more)
  • ๐Ÿ”’ OWASP โ€” WSTG v4.2, MASTG, Top 10 2021
  • ๐Ÿš— ISO 26262 โ€” Automotive functional safety (ASIL levels, HARA, V&V)
  • ๐Ÿญ A-SPICE โ€” Automotive SPICE process reference model (SWE.4, SWE.5, SWE.6)
  • ๐Ÿ“‹ IEEE 829 โ€” Test documentation standard
  • โš™๏ธ ISO/IEC 25010 โ€” Software product quality model
  • ๐Ÿค– AI Test Planning โ€” 17 real-world AI SDLC case studies (2024โ€“2025)
  • ๐Ÿง  Expert Knowledge โ€” Real QA scenarios and lessons learned from practitioners

Prerequisites

QAI Consultant v2.0 runs on cloud APIs โ€” no local GPU or Ollama required.

You need four API keys in a .env file (all have free tiers):

Key Where to get it
MISTRAL_API_KEY console.mistral.ai โ†’ API Keys
OPENROUTER_API_KEY openrouter.ai/keys
PINECONE_API_KEY pinecone.io โ†’ API Keys
PINECONE_INDEX_NAME Name of your Pinecone index (e.g. qai-consultant, dimensions: 384, metric: cosine)
cp .env.example .env
# Edit .env and fill in all four values

Architecture

QAI Consultant Architecture

How It Works

You describe your project (11 questions)
        โ†“
QAI retrieves relevant knowledge from Pinecone (parallel RAG, 3 threads)
        โ†“
QAI analyzes risks from your context โ†’ Risk Register (Mistral API)
        โ†“
QAI estimates effort using PERT + industry benchmarks โ†’ Effort Report
        โ†“
QAI generates a Test Strategy backed by QA standards โ†’ Test Strategy (Mistral API)
        โ†“
QAI generates an IEEE 829-aligned Test Plan โ†’ Test Plan (Mistral API)
        โ†“
Four documents ready for Markdown + PDF download

LLM calls use Mistral API as the primary provider, with OpenRouter as automatic fallback.


Interfaces

Web UI (Browser โ€” recommended)

streamlit run src/app.py

Or use the live hosted version: appi-consultant-esodgczvwpmozzybuhdhek.streamlit.app

CLI (Terminal)

python src/cli.py

MCP Server (for Claude Code, Claude Desktop, claude.ai)

QAI Consultant is also available as a local, fully keyless MCP server โ€” qai-consultant-mcp. No Pinecone, no Mistral/OpenRouter API keys: it runs a local embedding index over the same knowledge base and exposes deterministic QA effort estimation, so your own AI coding assistant can ground its QA planning directly, no separate LLM call needed.

uvx qai-consultant-mcp

Claude Code:

claude mcp add qai-consultant -- uvx qai-consultant-mcp

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "qai-consultant": {
      "command": "uvx",
      "args": ["qai-consultant-mcp"]
    }
  }
}

Tools:

Tool What it does
retrieve_qa_knowledge Grounding chunks from the KB (ISTQB, OWASP, IEEE, ISO, EU AI Act), filterable by category
list_kb_sources Every document in the KB, grouped by category
estimate_qa_effort Deterministic PERT-based effort estimate (no LLM narrative โ€” you write your own from the numbers)

Prompts: qa_project_interview (the same 11-question intake this app uses), risk_register_structure, test_strategy_structure, test_plan_structure โ€” each grounds the client's generation in retrieve_qa_knowledge with [Source N] citations.

Privacy: usage telemetry is off by default. Set QAI_TELEMETRY=1 to opt in; even then, only tool name/success/duration/category and an anonymous install ID are sent โ€” never your query text or project details.


Feedback Loop

After each generation, QAI asks: "Was this strategy useful?"

  • Yes โ†’ strategy saved to knowledge_base/generated_strategies/ and included in the next re-ingestion
  • Partially โ†’ strategy saved with your improvement notes
  • No โ†’ discarded

This creates a feedback loop where QAI learns from validated real-world outputs over time.


Roadmap

  • v0.1 โœ… Core agent + CLI + Streamlit Web UI
  • v0.2 โœ… Feedback loop โ€” validated strategies grow the knowledge base
  • v0.3 โœ… Risk Register โ€” automatic risk analysis alongside Test Strategy
  • v0.4 โœ… Effort Estimation Report โ€” PERT-based with team capacity analysis
  • v0.5 โœ… Auto re-ingest โ€” file watcher + incremental ingest + manifest tracking
  • v0.6 โœ… Confidence level algorithm โ€” score-based (0-100): PERT spread + capacity gap + data quality + multiplier magnitude
  • v1.0 โœ… MVP โ€” error handling, input validation, logging, full documentation, tests, Apache 2.0 license
  • v2.0 โœ… Cloud migration โ€” Ollama โ†’ Mistral API + OpenRouter fallback; ChromaDB โ†’ Pinecone; deployed to Streamlit Cloud
  • v2.0.1 โœ… Stability โ€” 27 bugs fixed: PERT normalization, template application, PDF caching, session state, filename sanitization, RAG fallback, per-step exception isolation
  • v2.0.2 โœ… Stability โ€” release-gate evals (estimate integrity + RAG metrics), 5 estimation/validation defects fixed, session-state crash fix, narrative duplication/truncation fixes, per-step generation isolation from LLM outages
  • v2.5.0 โœ… In-app Release Notes โ€” sidebar panel + one-time "what's new" banner
  • v2.5.1 โœ… Knowledge base โ€” new evaluation_audit/ pillar: process/test maturity models, audit methodology, security/compliance audit, real public failure case studies
  • v2.5.2 โœ… EU AI Act Article 50 transparency patch โ€” sidebar AI-interaction notice + visible "AI-generated content" label on every generated document
  • v2.6.0 โœ… EU AI Act knowledge base pillar โ€” risk tiers, provider/deployer obligations, Article 50 transparency, Articles 9-15 testing implications, conformity assessment, timeline
  • v3.0.0 โœ… MCP server MVP โ€” local, keyless qai-consultant-mcp (standards-grounded retrieval + deterministic effort estimation), in-app announcement, and machine-readable AI-generated marking (EU AI Act Article 50(2))
  • v3.1 QA maturity audit tool โ€” assess_qa_maturity, deterministic TMMi-inspired scoring
  • v3.2 Remote MCP + distribution โ€” hosted server connectable from claude.ai, registry submissions

Contributing

QAI Consultant is built by the QA community, for the QA community.

Contributions are welcome:

  • ๐Ÿ“š Add new knowledge sources to knowledge_base/
  • ๐Ÿง  Share expert knowledge using the prompts in knowledge_base/expert_knowledge/
  • ๐Ÿ› Report bugs or suggest features via GitHub Issues
  • ๐Ÿ”ง Submit pull requests

See CONTRIBUTING.md for detailed guidelines.


Troubleshooting

Problem Solution
"Missing required secret: 'MISTRAL_API_KEY'" Add your key to .env or Streamlit Cloud secrets
"Missing required secret: 'PINECONE_API_KEY'" Add your Pinecone key to .env
"Knowledge base is empty" Run python src/ingest.py to push documents to Pinecone
"Both Mistral API and OpenRouter are unavailable" Check API keys are valid and have credits

๐Ÿ“– Full troubleshooting guide: INSTALL.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qai_consultant_mcp-3.0.0.tar.gz (282.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qai_consultant_mcp-3.0.0-py3-none-any.whl (240.7 kB view details)

Uploaded Python 3

File details

Details for the file qai_consultant_mcp-3.0.0.tar.gz.

File metadata

  • Download URL: qai_consultant_mcp-3.0.0.tar.gz
  • Upload date:
  • Size: 282.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for qai_consultant_mcp-3.0.0.tar.gz
Algorithm Hash digest
SHA256 1c5e49f318513edbe01f7e78016dd7c1785bef4887163286b357363da3680850
MD5 e34306bbb1d10d9a949338178f4025c3
BLAKE2b-256 b87fffb5b776d424cd49a8fc032e5b900850c919c4f9d0d59fd264c34725b4d6

See more details on using hashes here.

File details

Details for the file qai_consultant_mcp-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qai_consultant_mcp-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 321fbc1181b4a6aed6dabd6e575009b4ceed2dcf02e1943ae36f3150a4e33392
MD5 cd3c00ed8c437226109b24bf09048c2f
BLAKE2b-256 943eaf5b36d49be988867cf1681b2ab5e5f402bacf6a0cb46c84f6a2ad77995d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page