qai-consultant-mcp
Listed on the official MCP registry (io.github.gvasile29/qai-consultant-mcp), Glama, and Awesome MCP Servers.
A local, fully keyless MCP server: standards-grounded QA knowledge retrieval (OWASP, IEEE, ISO, A-SPICE, EU AI Act, plus testing methodologies and audit frameworks), deterministic QA effort estimation, QA document quality review, test-results health analysis, and QA process maturity assessment — callable from Claude Code, Claude Desktop, or any other MCP client that runs local stdio servers.
No API keys, no Pinecone, no cloud LLM calls. It runs a local embedding index over a self-authored QA knowledge base (Markdown only — the ISTQB syllabus and OWASP guide PDFs used by the web app are not bundled, for licensing reasons) and does the estimation math itself; the client LLM writes the narrative, this server just supplies grounding and numbers.
This package is the MCP companion to QAI Consultant, an AI QA Architect web app / CLI. If you're looking for the full app (Risk Register / Effort Estimation / Test Strategy / Test Plan generation with a browser UI), see the main project instead — this package is just the MCP server piece of it.
Install
Requires uv (for uvx).
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"]
}
}
}
First run downloads the embedding model (sentence-transformers/all-MiniLM-L6-v2, served via fastembed's ONNX Runtime) and builds a local index — a few seconds to a minute the first time, then it's cached.
Optional agent skill (Claude Code): copy the skills/qai-consultant/ folder into ~/.claude/skills/ (or your project's .claude/skills/). It tells the agent which tool fits a request and how to read the results, for example that an empty flaky-test list after only 1-2 runs means "not enough data", not "no flaky tests". Other agents that read SKILL.md files can use the same folder.
Tools
| Tool | What it does |
|---|---|
retrieve_qa_knowledge |
Grounding chunks from the knowledge base (standards summaries — OWASP Top 10, IEEE 829, ISO/IEC 25010, ISO 26262, A-SPICE, EU AI Act; testing methodologies; audit/evaluation frameworks; AI SDLC case studies), filterable by category |
list_kb_sources |
Every document in the knowledge base, grouped by category |
estimate_qa_effort |
Deterministic PERT-based effort estimate (baseline + complexity multipliers + team capacity + confidence score) — no LLM narrative, you write your own from the numbers |
review_qa_document |
Deterministic 0–100 quality score for an existing Test Plan/Strategy/test case list across six ISTQB/IEEE-829-grounded dimensions, with findings and resolved KB citations — no LLM scoring, you write the narrative from the findings |
analyze_test_results |
Deterministic health metrics from JUnit XML or CSV test execution data — flaky tests, ever-failing tests, slowest tests, and failure clustering — no LLM anywhere in this tool |
assess_qa_maturity |
Deterministic indicative TMMi process-maturity level (1-3, never a certified 4-5) from a free-text description or pasted document, plus a conditional 7-check EU AI Act Articles 9-15 readiness score when the input signals an AI/ML system — no LLM anywhere in this tool |
Try It — Example Prompts
Type these directly in Claude Code or Claude Desktop once the server is attached:
- "Using qai-consultant, what does the knowledge base say about risk-based testing?" →
retrieve_qa_knowledge - "List every document in the qai-consultant knowledge base, grouped by category." →
list_kb_sources - "Using qai-consultant's estimate_qa_effort, estimate the effort for a B2B SaaS project called 'Test Migration', React + Node.js + PostgreSQL, 2 QA / 5 dev engineers, 3-month timeline, Agile/Scrum, no notable known risks, minimal existing test automation, no special compliance requirements." →
estimate_qa_effort - "Here's a Test Plan [paste it] — use qai-consultant to review it with review_qa_document and give me the score and findings." →
review_qa_document - "Here's a JUnit XML report from my last 3 CI runs [paste them] — use qai-consultant's analyze_test_results to find flaky tests." →
analyze_test_results - "Here's how our team tests today [describe it] — use qai-consultant's assess_qa_maturity to estimate our TMMi level and the gaps to close." →
assess_qa_maturity
The first one (retrieve_qa_knowledge) is the fastest way to confirm the server actually attached.
Prompts
qa_project_interview— the project-intake interview (11 questions covering scope, tech stack, team, timeline, risks, compliance)risk_register_structure— Risk Register document structure + grounding instructionstest_strategy_structure— Test Strategy document structure + grounding instructionstest_plan_structure— IEEE 829-aligned Test Plan structure + grounding instructions
Each *_structure prompt instructs the client to ground its generation in retrieve_qa_knowledge results with [Source N] citations, and to label the output as AI-generated.
Privacy
Anonymous usage telemetry is on by default (since v3.7.0). Turn it off with QAI_TELEMETRY=0 or DO_NOT_TRACK=1; the server prints a one-line notice to stderr at startup whenever it's on. Only the tool name, a success flag, duration, retrieval k and category (only when it is one of the five known categories), package/Python version and OS family are sent, under a random ID that is new for every server run and never written to disk — never your query text, project details, or knowledge-base content.
Source
github.com/gvasile29/qai-consultant — Apache 2.0 licensed.
Metadata
Release files for qai-consultant-mcp 3.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| qai_consultant_mcp-3.7.2.tar.gz | 379.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qai_consultant_mcp-3.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 642.6 kB
Release files / qai_consultant_mcp-3.7.2.tar.gz
| Download URL | qai_consultant_mcp-3.7.2.tar.gz |
|---|---|
| Size | 379.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c4cacaaeea1fa6a8f9e091b685721fc812dea8717342d6493b580cbec4fe484
|
|
BLAKE2b-256 checksum How to use checksums |
f26190134a4edf2d0f597b8ebbf55b70b7026b8aa528317c6b4de0885e951bd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Release files / qai_consultant_mcp-3.7.2-py3-none-any.whl
| Download URL | qai_consultant_mcp-3.7.2-py3-none-any.whl |
|---|---|
| Size | 263.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb5421db6c435c857b85d805560620bf1dffd116e806ef35b0c538a198fa8154
|
|
BLAKE2b-256 checksum How to use checksums |
ed26df5e45dd4c6e13d160bea11fbced3878d710a57ca5cda4f1629da7a07ba1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Security for qai-consultant-mcp 3.7.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.