QA MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QA MCP ServerAnalyze requirement for user login and generate test cases"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QA MCP Server
An extensible Model Context Protocol (MCP) server designed to become a unified AI-powered QA platform.
Current Status
Phase 1 — Foundation & QA Intelligence
COMPLETED
Step | Capability | Status |
1 | Project foundation | COMPLETED |
2 | MCP server + health | COMPLETED |
3 | LLM provider abstraction | COMPLETED |
4 | Requirement Analyzer | COMPLETED |
5 | Test Case Generator | COMPLETED |
6 | Test Case Reviewer | COMPLETED |
7 | End-to-End QA Workflow | COMPLETED |
Phase 2 — Project Context, Persistence, Versioning & Portability
Step | Capability | Status |
1 | QA Project Context | COMPLETED |
2 | SQLite Persistence | COMPLETED |
3 | QA Suite Versioning | COMPLETED |
4 | Import / Export | COMPLETED |
1. Vision
The long-term goal is to build a reusable QA MCP platform exposing QA capabilities to MCP-compatible AI clients.
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 Architecture
Requirement
|
v
Requirement Analyzer
|
v
RequirementAnalysis
|
v
Test Case Generator
|
v
TestCaseResponse
|
v
Test Case Reviewer
|
v
TestCaseReview
|
v
QASuiteResultCore MCP capabilities:
analyze_requirement
generate_test_cases
review_test_cases
generate_qa_suite3. LLM Architecture
LLMProvider
|
+---- MockLLM
|
+---- BedrockLLMLLM access is provider-independent so the QA tools can be tested locally and later connected to AWS Bedrock or another provider.
AI output is validated using Pydantic models before downstream processing.
4. Phase 2 Step 1 — QA Project Context
Status: COMPLETED
A QA project contains:
QAProject
|
+-- project_id
+-- name
+-- description
+-- application
+-- environment
+-- metadataCore service:
ProjectContext
|
+-- create_project()
+-- get_project()MCP tools:
create_qa_project
get_qa_project5. Phase 2 Step 2 — SQLite Persistence
Status: COMPLETED
Projects are persisted in:
data/qa_mcp.dbSQLite table:
qa_projectsArchitecture:
ProjectContext
|
v
ProjectRepository
|
v
SQLiteProjectRepository
|
v
SQLiteThe core context does not depend directly on SQLite.
Persistence was verified across separate Python processes.
6. Phase 2 Step 3 — QA Suite Versioning
Status: COMPLETED
QA requirements and generated suites are versioned and persisted independently.
Related MCP server: QTM4J MCP Server
Requirement versions
QA Project
|
+-- Requirement v1
+-- Requirement v2
+-- Requirement v3Each requirement version contains:
version_idproject_idversionrequirementapplicationenvironmentcreated_at
Versions are maintained independently per project.
Suite versions
Each suite records the requirement version that produced it:
Requirement v1
|
v
Suite v1
Requirement v2
|
v
Suite v2Each suite version contains:
suite_idproject_idrequirement_version_idversiontest_casesreviewcreated_at
Architecture
core/
└── versioning/
└── service.py
|
v
infrastructure/
└── versioning/
├── repositories.py
└── sqlite_version_repository.py
|
v
SQLiteThe two versioning folders are intentional:
core/versioningcontains business logic.infrastructure/versioningcontains repository interfaces and SQLite implementations.
Core services
QARequirementVersioningService
QASuiteVersioningServiceRepository interfaces
RequirementVersionRepository
SuiteVersionRepositorySQLite implementations
SQLiteRequirementVersionRepository
SQLiteSuiteVersionRepositoryMCP tools
Requirement:
create_requirement_version
get_requirement_version
list_requirement_versionsSuite:
create_suite_version
get_suite_version
list_suite_versions7. Phase 2 Step 4 — Import / Export
Status: COMPLETED
The QA MCP server now supports portable project artifacts containing:
QA Project
|
+-- Requirement Versions
|
+-- Suite VersionsExport
The export flow is:
SQLite
|
+-- Project
+-- Requirement Versions
+-- Suite Versions
|
v
QAImportExportService
|
v
QAProjectExport
|
v
JSONExport is based on persisted data, not caller-assembled objects.
MCP tool:
export_qa_projectInput:
project_idOutput:
{
"project_id": "...",
"export_version": "1.0",
"payload": "..."
}Import
The import flow is:
JSON
|
v
Parse
|
v
QAProjectExport validation
|
v
Relationship validation
|
v
Duplicate project check
|
v
SQLite persistenceMCP tool:
import_qa_projectImport validates:
Export JSON
Export structure
Project identity
Requirement → project relationship
Suite → project relationship
Suite → requirement-version relationship
Duplicate project protection
Existing projects are not silently overwritten.
Round-trip verification
The complete round trip has been verified:
SQLite DB A
|
v
EXPORT
|
v
JSON
|
v
IMPORT
|
v
SQLite DB B
|
v
CompareVerified artifacts:
Project ✅
Requirements ✅
Suites ✅
Relationships ✅Test isolation
MCP import/export tests use isolated temporary SQLite databases.
This prevents test execution from polluting:
data/qa_mcp.dband allows repeated test execution without relying on previous test state.
P2-S4 verification baseline
Import/Export focused tests: 7 passed
MCP Import/Export tests: 2 passed
Full regression: 49 passed
Application-code warnings: 0
Known external warning: 1The remaining warning is the known external pydantic_settings warning concerning the lifespan field's unresolved forward reference.
8. Project Structure
Current important source structure:
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. Local Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtRun tests:
pytest -qCurrent verified baseline:
49 passedRun the MCP server:
python -m qa_mcp.serverVerify server imports:
python -c "from qa_mcp.server import mcp; print('MCP server imports OK')"10. Development Guidelines
We follow this workflow for every implementation step:
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 STEPRules:
Implement one step at a time.
Test every feature.
Existing tests must remain green.
No step is complete until locally verified.
Update README at every verified milestone.
Core business logic must remain independent of MCP transport.
Persistence and external integrations stay behind interfaces.
LLM providers remain replaceable.
AI output must be validated.
Tests must remain repeatable against persistent storage.
Do not delete persistent databases merely to make tests pass.
Use isolated databases for persistence-focused tests.
Do not manually copy assistant conversation into README.
The README is the authoritative development checkpoint.
No major feature is complete until its MCP/runtime path is verified.
11. Architectural Principles
Core business logic belongs in
core.Persistence belongs in
infrastructure.MCP transport belongs in
server.pyand MCP-facing tools.Domain/data models belong in
models.Core services must not depend directly on SQLite implementations.
External integrations must be isolated behind interfaces.
LLM providers remain replaceable.
AI-generated output must be validated before downstream use.
Persistent data must not be confused with test fixtures.
Tests must be repeatable.
Import operations must validate relationships before persistence.
Imports must not silently overwrite existing projects.
Completed milestones require regression verification.
README updates are part of milestone completion.
12. Phase 2 Roadmap
Step | Capability | Status |
1 | QA Project Context | COMPLETED |
2 | SQLite Persistence | COMPLETED |
3 | QA Suite Versioning | COMPLETED |
4 | Import / Export | COMPLETED |
5 | Jira Connector | NEXT |
6 | Jira → QA Workflow | Planned |
7 | Automation Case Generator | Planned |
8 | QA Agent | Planned |
9 | GitHub / CI Integration | Planned |
10 | Internet Deployment | Planned |
13. Planned Final Architecture
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. Current 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 COMPLETEDCurrent verification:
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 verifiedKnown warning:
pydantic_settings
IncompleteFieldDefinitionWarning
Field 'lifespan'This is an external dependency warning and is not currently blocking functionality or tests.
15. Next Development Step
Phase 2 → Step 5
|
v
Jira ConnectorThe next phase of implementation should begin only after this README checkpoint has been retained.
16. Milestone History
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 COMPLETEThis README represents the project state after successful verification of Phase 2 → Step 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