QA MCP Server
QA MCP Server
Ein erweiterbarer Model Context Protocol (MCP)-Server, der zu einer einheitlichen KI-gestützten QA-Plattform werden soll.
Aktueller Status
Phase 1 — Grundlage & QA-Intelligenz
ABGESCHLOSSEN
Schritt | Funktion | Status |
1 | Projektgrundlage | ABGESCHLOSSEN |
2 | MCP-Server + Health-Check | ABGESCHLOSSEN |
3 | LLM-Anbieter-Abstraktion | ABGESCHLOSSEN |
4 | Anforderungsanalysator | ABGESCHLOSSEN |
5 | Testfallgenerator | ABGESCHLOSSEN |
6 | Testfallprüfer | ABGESCHLOSSEN |
7 | End-to-End-QA-Workflow | ABGESCHLOSSEN |
Phase 2 — Projektkontext, Persistenz, Versionierung & Portabilität
Schritt | Funktion | Status |
1 | QA-Projektkontext | ABGESCHLOSSEN |
2 | SQLite-Persistenz | ABGESCHLOSSEN |
3 | QA-Suite-Versionierung | ABGESCHLOSSEN |
4 | Import / Export | ABGESCHLOSSEN |
1. Vision
Das langfristige Ziel ist es, eine wiederverwendbare QA-MCP-Plattform zu entwickeln, die QA-Funktionen für MCP-kompatible KI-Clients bereitstellt.
MCP Client / AI Assistant
|
v
QA MCP Server
|
+------+------+------+
| | |
v v v
QA Intelligence Connectors Automation
| | |
Analyze Jira UI
Generate GitHub API
Review Slack Mobile
Performance
|
v
QA Agent
|
v
Persistent QA Context
|
v
Project / Requirement / Suite Versions
|
v
Import / Export2. Phase-1-Architektur
Requirement
|
v
Requirement Analyzer
|
v
RequirementAnalysis
|
v
Test Case Generator
|
v
TestCaseResponse
|
v
Test Case Reviewer
|
v
TestCaseReview
|
v
QASuiteResultKern-MCP-Funktionen:
analyze_requirement
generate_test_cases
review_test_cases
generate_qa_suite3. LLM-Architektur
LLMProvider
|
+---- MockLLM
|
+---- BedrockLLMDer LLM-Zugriff ist anbieterunabhängig, sodass die QA-Tools lokal getestet und später mit AWS Bedrock oder einem anderen Anbieter verbunden werden können.
KI-Ausgaben werden vor der Weiterverarbeitung mithilfe von Pydantic-Modellen validiert.
4. Phase 2 Schritt 1 — QA-Projektkontext
Status: ABGESCHLOSSEN
Ein QA-Projekt enthält:
QAProject
|
+-- project_id
+-- name
+-- description
+-- application
+-- environment
+-- metadataKernservice:
ProjectContext
|
+-- create_project()
+-- get_project()MCP-Tools:
create_qa_project
get_qa_project5. Phase 2 Schritt 2 — SQLite-Persistenz
Status: ABGESCHLOSSEN
Projekte werden persistiert in:
data/qa_mcp.dbSQLite-Tabelle:
qa_projectsArchitektur:
ProjectContext
|
v
ProjectRepository
|
v
SQLiteProjectRepository
|
v
SQLiteDer Kernkontext hängt nicht direkt von SQLite ab.
Die Persistenz wurde über separate Python-Prozesse hinweg verifiziert.
6. Phase 2 Schritt 3 — QA-Suite-Versionierung
Status: ABGESCHLOSSEN
QA-Anforderungen und generierte Suiten werden unabhängig voneinander versioniert und persistiert.
Related MCP server: QTM4J MCP Server
Anforderungsversionen
QA Project
|
+-- Requirement v1
+-- Requirement v2
+-- Requirement v3Jede Anforderungsversion enthält:
version_idproject_idversionrequirementapplicationenvironmentcreated_at
Versionen werden pro Projekt unabhängig verwaltet.
Suite-Versionen
Jede Suite erfasst die Anforderungsversion, die sie erzeugt hat:
Requirement v1
|
v
Suite v1
Requirement v2
|
v
Suite v2Jede Suite-Version enthält:
suite_idproject_idrequirement_version_idversiontest_casesreviewcreated_at
Architektur
core/
└── versioning/
└── service.py
|
v
infrastructure/
└── versioning/
├── repositories.py
└── sqlite_version_repository.py
|
v
SQLiteDie beiden versioning-Ordner sind beabsichtigt:
core/versioningenthält die Geschäftslogik.infrastructure/versioningenthält Repository-Schnittstellen und SQLite-Implementierungen.
Kernservices
QARequirementVersioningService
QASuiteVersioningServiceRepository-Schnittstellen
RequirementVersionRepository
SuiteVersionRepositorySQLite-Implementierungen
SQLiteRequirementVersionRepository
SQLiteSuiteVersionRepositoryMCP-Tools
Anforderung:
create_requirement_version
get_requirement_version
list_requirement_versionsSuite:
create_suite_version
get_suite_version
list_suite_versions7. Phase 2 Schritt 4 — Import / Export
Status: ABGESCHLOSSEN
Der QA-MCP-Server unterstützt jetzt portable Projektartefakte, die Folgendes enthalten:
QA Project
|
+-- Requirement Versions
|
+-- Suite VersionsExport
Der Exportablauf ist:
SQLite
|
+-- Project
+-- Requirement Versions
+-- Suite Versions
|
v
QAImportExportService
|
v
QAProjectExport
|
v
JSONDer Export basiert auf persistierten Daten, nicht auf vom Aufrufer zusammengestellten Objekten.
MCP-Tool:
export_qa_projectEingabe:
project_idAusgabe:
{
"project_id": "...",
"export_version": "1.0",
"payload": "..."
}Import
Der Importablauf ist:
JSON
|
v
Parse
|
v
QAProjectExport validation
|
v
Relationship validation
|
v
Duplicate project check
|
v
SQLite persistenceMCP-Tool:
import_qa_projectDer Import validiert:
Export-JSON
Exportstruktur
Projektidentität
Beziehung Anforderung → Projekt
Beziehung Suite → Projekt
Beziehung Suite → Anforderungsversion
Schutz vor doppelten Projekten
Vorhandene Projekte werden nicht stillschweigend überschrieben.
Round-Trip-Verifizierung
Der vollständige Round-Trip wurde verifiziert:
SQLite DB A
|
v
EXPORT
|
v
JSON
|
v
IMPORT
|
v
SQLite DB B
|
v
CompareVerifizierte Artefakte:
Project ✅
Requirements ✅
Suites ✅
Relationships ✅Test-Isolation
MCP-Import-/Export-Tests verwenden isolierte temporäre SQLite-Datenbanken.
Dies verhindert, dass die Testausführung Folgendes verunreinigt:
data/qa_mcp.dbund ermöglicht die wiederholte Testausführung, ohne sich auf einen früheren Testzustand zu verlassen.
P2-S4-Verifizierungs-Baseline
Import/Export focused tests: 7 passed
MCP Import/Export tests: 2 passed
Full regression: 49 passed
Application-code warnings: 0
Known external warning: 1Die verbleibende Warnung ist die bekannte externe pydantic_settings-Warnung bezüglich der unaufgelösten Vorwärtsreferenz des lifespan-Felds.
8. Projektstruktur
Aktuelle wichtige Quellstruktur:
qa-mcp/
|
+-- src/
| +-- qa_mcp/
| |
| +-- core/
| | +-- config.py
| | +-- llm.py
| | +-- project/
| | | +-- context.py
| | |
| | +-- versioning/
| | | +-- service.py
| | |
| | +-- import_export/
| | +-- service.py
| |
| +-- infrastructure/
| | +-- project_repository.py
| | +-- sqlite_project_repository.py
| | |
| | +-- versioning/
| | +-- repositories.py
| | +-- sqlite_version_repository.py
| |
| +-- models/
| | +-- schemas.py
| |
| +-- tools/
| | +-- requirement/
| | +-- testcase/
| | +-- workflow/
| |
| +-- server.py
|
+-- tests/
+-- config/
+-- data/
| +-- qa_mcp.db
|
+-- README.md9. Lokale Einrichtung
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtTests ausführen:
pytest -qAktuell verifizierte Baseline:
49 passedDen MCP-Server ausführen:
python -m qa_mcp.serverServerimporte verifizieren:
python -c "from qa_mcp.server import mcp; print('MCP server imports OK')"10. Entwicklungsrichtlinien
Wir befolgen diesen Workflow für jeden Implementierungsschritt:
IMPLEMENT
|
v
FOCUSED TESTS
|
v
FULL REGRESSION
|
v
RUNTIME / MCP VERIFICATION
|
v
FIX / REFINE
|
v
MARK STEP COMPLETE
|
v
UPDATE README
|
v
DOWNLOAD NEW README CHECKPOINT
|
v
NEXT STEPRegeln:
Implementiere einen Schritt nach dem anderen.
Teste jede Funktion.
Bestehende Tests müssen grün bleiben.
Kein Schritt ist abgeschlossen, bis er lokal verifiziert wurde.
Aktualisiere die README bei jedem verifizierten Meilenstein.
Die Kern-Geschäftslogik muss unabhängig vom MCP-Transport bleiben.
Persistenz und externe Integrationen bleiben hinter Schnittstellen.
LLM-Anbieter bleiben austauschbar.
KI-Ausgaben müssen validiert werden.
Tests müssen gegenüber persistentem Speicher wiederholbar bleiben.
Lösche keine persistenten Datenbanken, nur um Tests bestehen zu lassen.
Verwende isolierte Datenbanken für persistenzorientierte Tests.
Kopiere keine Assistentenkonversation manuell in die README.
Die README ist der maßgebliche Entwicklungs-Checkpoint.
Keine größere Funktion ist abgeschlossen, bis ihr MCP-/Laufzeitpfad verifiziert ist.
11. Architekturprinzipien
Die Kern-Geschäftslogik gehört in
core.Die Persistenz gehört in
infrastructure.Der MCP-Transport gehört in
server.pyund in MCP-orientierte Tools.Domänen-/Datenmodelle gehören in
models.Kernservices dürfen nicht direkt von SQLite-Implementierungen abhängen.
Externe Integrationen müssen hinter Schnittstellen isoliert sein.
LLM-Anbieter bleiben austauschbar.
KI-generierte Ausgaben müssen vor der Weiterverwendung validiert werden.
Persistente Daten dürfen nicht mit Test-Fixtures verwechselt werden.
Tests müssen wiederholbar sein.
Importvorgänge müssen Beziehungen vor der Persistenz validieren.
Importe dürfen vorhandene Projekte nicht stillschweigend überschreiben.
Abgeschlossene Meilensteine erfordern eine Regressionsverifizierung.
README-Aktualisierungen sind Teil des Meilensteinabschlusses.
12. Phase-2-Roadmap
Schritt | Funktion | Status |
1 | QA-Projektkontext | ABGESCHLOSSEN |
2 | SQLite-Persistenz | ABGESCHLOSSEN |
3 | QA-Suite-Versionierung | ABGESCHLOSSEN |
4 | Import / Export | ABGESCHLOSSEN |
5 | Jira-Konnektor | ALS NÄCHSTES |
6 | Jira → QA-Workflow | GEPLANT |
7 | Automatisierungsfall-Generator | GEPLANT |
8 | QA-Agent | GEPLANT |
9 | GitHub / CI-Integration | GEPLANT |
10 | Internet-Bereitstellung | GEPLANT |
13. Geplante endgültige Architektur
MCP CLIENT / AI ASSISTANT
|
v
+-------------+
| QA MCP |
| Server |
+------+------+
|
+---------------+----------------+
| | |
v v v
QA Intelligence Connectors Automation
| | |
+-----+-----+ +---+---+ +----+----+
| | | | | | | | |
Analyze Gen Review Jira GitHub UI API Perf
Mobile
|
v
QA Agent
|
v
Persistent Context
|
v
Project / Requirement
/ Suite Versions
|
v
Import / Export14. Aktuelle Baseline
Phase 1
Steps 1–7 COMPLETED
Phase 2
Step 1 — QA Project Context COMPLETED
Step 2 — SQLite Persistence COMPLETED
Step 3 — QA Suite Versioning COMPLETED
Step 4 — Import / Export COMPLETEDAktuelle Verifizierung:
49 tests passed
SQLite persistence verified
Requirement versioning verified
Suite versioning verified
Import/export contract verified
Import validation verified
Round-trip persistence verified
MCP import/export verified
MCP server imports successfully
Test isolation verifiedBekannte Warnung:
pydantic_settings
IncompleteFieldDefinitionWarning
Field 'lifespan'Dies ist eine Warnung zu einer externen Abhängigkeit und blockiert derzeit weder Funktionalität noch Tests.
15. Nächster Entwicklungsschritt
Phase 2 → Step 5
|
v
Jira ConnectorDie nächste Implementierungsphase sollte erst beginnen, nachdem dieser README-Checkpoint festgehalten wurde.
16. Meilenstein-Historie
Phase 1
|
+-- Foundation
+-- LLM abstraction
+-- Requirement analysis
+-- Test generation
+-- Test review
+-- QA suite workflow
+-- MCP integration
|
v
Phase 1 COMPLETE
Phase 2
|
+-- QA Project Context
+-- SQLite Persistence
+-- Requirement/Suite Versioning
+-- Import / Export
|
v
Phase 2 Step 4 COMPLETEDiese README repräsentiert den Projektstand nach erfolgreicher Verifizierung von Phase 2 → Schritt 4 — Import / Export.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceQA Sphere MCP server that enables Large Language Models to interact directly with test management system test cases, supporting AI-powered development workflows and test case discovery.1510123MIT
- AlicenseAqualityBmaintenanceAn MCP server that exposes the QMetry Test Management for Jira Cloud REST API as tools for MCP-compatible clients. It enables users to manage test cases, test cycles, test executions, test plans, folders, and automation rules through natural language interactions.3057MIT
- AlicenseBqualityAmaintenanceEnables AI assistants to interact with TestOps 5.25 for managing projects, test runs, test plans, and test cases via MCP tools.3149MIT
- AlicenseNot gradedqualityAmaintenanceEnables generation of test cases, edge cases, and test matrices for software testing, integrated with MCP protocol and EU AI Act compliance.3MIT
Related MCP Connectors
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanumenon/qa-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server