QA-MCP: Test Standardization & Orchestration Server
Enables LLM clients to generate standardized test cases, perform quality control with lint scoring, convert to Xray/Jira format, and compose test suites (Smoke/Regression/E2E) with coverage analysis.
README
QA-MCP: Test Standardization & Orchestration Server
<div align="center">
🇬🇧 English | 🇹🇷 Türkçe
</div>
🇬🇧 English
An MCP server that enables LLM clients to perform standardized test case generation, quality control, Xray format conversion, and test suite composition.
🎯 Problem
Common issues in enterprise QA:
- Inconsistent test case formats: Different people write in different formats → not reusable
- No standard in Xray/Jira: Missing fields, unclear datasets, ambiguous steps
- Smoke/Regression distinction depends on individuals: Sprint-based planning is difficult
- When writing tests with LLM, same suggestions return or critical negative scenarios are missed
✨ Solution
QA-MCP provides:
- ✅ Single test standard: Everyone produces/improves with the same template
- ✅ Quality gate: Lint score + missing field detection
- ✅ Xray compatible output: Importable JSON
- ✅ Test suite/plan composition: Smoke/Regression/E2E suggestions + tagging
- ✅ Secure container deployment: Runnable from Docker Hub
📦 Installation
With pip
pip install qa-mcp
From source
git clone https://github.com/Atakan-Emre/McpTestGenerator.git
cd McpTestGenerator
pip install -e .
With Docker
docker pull atakanemree/qa-mcp:latest
docker run -i atakanemree/qa-mcp:latest
🚀 Usage
MCP Client Connection
Cursor / Claude Desktop
Add to your mcp.json or claude_desktop_config.json:
{
"mcpServers": {
"qa-mcp": {
"command": "qa-mcp",
"args": []
}
}
}
With Docker
{
"mcpServers": {
"qa-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "atakanemree/qa-mcp:1.0.0"]
}
}
}
🔧 Tools
| Tool | Description |
|---|---|
testcase.generate |
Generate standardized test cases from feature & acceptance criteria |
testcase.lint |
Analyze test case quality, return score and improvement suggestions |
testcase.normalize |
Convert Gherkin/Markdown → Standard format |
testcase.to_xray |
Export to Xray/Jira import format |
suite.compose |
Create Smoke/Regression/E2E test suites |
suite.coverage_report |
Generate test coverage analysis |
📚 Resources
| URI | Description |
|---|---|
qa://standards/testcase/v1 |
Test case standard |
qa://checklists/lint-rules/v1 |
Lint rules |
qa://mappings/xray/v1 |
Xray field mapping |
qa://examples/good/* |
Good test case examples |
qa://examples/bad/* |
Bad test case examples |
💬 Prompts
| Prompt | Description |
|---|---|
create-manual-test |
Create Xray Manual Test |
select-smoke-tests |
Smoke test selection |
generate-negative-scenarios |
Generate negative scenarios |
review-test-coverage |
Test coverage analysis |
🐳 Docker
# Pull image
docker pull atakanemree/qa-mcp:latest
# Run (stdio mode - default, most secure)
docker run -i --rm atakanemree/qa-mcp:1.0.0
# With environment variables
docker run -i --rm \
-e LOG_LEVEL=debug \
-e ENABLE_WRITE_TOOLS=false \
atakanemree/qa-mcp:1.0.0
🔒 Security
| Variable | Default | Description |
|---|---|---|
ENABLE_WRITE_TOOLS |
false |
Enables Jira/Xray write tools |
LOG_LEVEL |
info |
Log level (debug, info, warning, error) |
AUDIT_LOG_ENABLED |
true |
Enables audit logging |
HTTP_ENABLED |
false |
Enables HTTP transport |
HTTP_PORT |
8080 |
HTTP port |
🗺️ Roadmap
- [x] v1.0 - MVP: generate, lint, to_xray, compose
- [ ] v1.1 - Policy/guardrails, audit logs
- [ ] v1.2 - Jira/Xray sync (read-only)
- [ ] v2.0 - HTTP transport, OAuth
🇹🇷 Türkçe
LLM istemcilerinin bağlanıp standart test case üretme, kalite kontrol, Xray formatına çevirme ve test set kompozisyonu yapabildiği bir MCP sunucusu.
🎯 Problem
Kurumsal QA'da tipik sorunlar:
- Test case formatı dağınık: Farklı kişiler farklı biçimde yazar → tekrar kullanılamaz
- Xray/Jira'da standard yok: Alanlar eksik, dataset belirsiz, adımlar muğlak
- Smoke/Regression ayrımı kişiye bağlı: Sprint bazlı planlama zor
- LLM ile test yazdırınca aynı öneriler dönüyor veya kritik negatif senaryolar kaçıyor
✨ Çözüm
QA-MCP şunları sağlar:
- ✅ Tek test standardı: Herkes aynı şablonla üretir/iyileştirir
- ✅ Kalite kapısı (quality gate): Lint skoru + eksik alan tespiti
- ✅ Xray uyumlu çıktı: Import edilebilir JSON
- ✅ Test set/plan kompozisyonu: Smoke/Regression/E2E önerisi + etiketleme
- ✅ Güvenli container dağıtımı: Docker Hub'dan çalıştırılabilir
📦 Kurulum
pip ile
pip install qa-mcp
Kaynak koddan
git clone https://github.com/Atakan-Emre/McpTestGenerator.git
cd McpTestGenerator
pip install -e .
Docker ile
docker pull atakanemree/qa-mcp:latest
docker run -i atakanemree/qa-mcp:latest
🚀 Kullanım
MCP İstemcisi ile Bağlantı
Cursor / Claude Desktop
mcp.json veya claude_desktop_config.json dosyasına ekleyin:
{
"mcpServers": {
"qa-mcp": {
"command": "qa-mcp",
"args": []
}
}
}
Docker ile
{
"mcpServers": {
"qa-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "atakanemree/qa-mcp:1.0.0"]
}
}
}
🔧 Tools
| Tool | Açıklama |
|---|---|
testcase.generate |
Feature ve acceptance criteria'dan standart test case üretir |
testcase.lint |
Test case kalitesini analiz eder, skor ve öneriler döner |
testcase.normalize |
Gherkin/Markdown → Standart format dönüşümü |
testcase.to_xray |
Xray/Jira import formatına çevirir |
suite.compose |
Smoke/Regression/E2E test suite oluşturur |
suite.coverage_report |
Test kapsam analizi raporu üretir |
📚 Resources
| URI | Açıklama |
|---|---|
qa://standards/testcase/v1 |
Test case standardı |
qa://checklists/lint-rules/v1 |
Lint kuralları |
qa://mappings/xray/v1 |
Xray alan eşlemesi |
qa://examples/good/* |
İyi test case örnekleri |
qa://examples/bad/* |
Kötü test case örnekleri |
💬 Prompts
| Prompt | Açıklama |
|---|---|
create-manual-test |
Xray Manual Test oluşturma |
select-smoke-tests |
Smoke test seçimi |
generate-negative-scenarios |
Negatif senaryo üretimi |
review-test-coverage |
Test kapsam analizi |
🐳 Docker
# Image çekme
docker pull atakanemree/qa-mcp:latest
# Çalıştırma (stdio mode - varsayılan, en güvenli)
docker run -i --rm atakanemree/qa-mcp:1.0.0
# Environment variables ile
docker run -i --rm \
-e LOG_LEVEL=debug \
-e ENABLE_WRITE_TOOLS=false \
atakanemree/qa-mcp:1.0.0
🔒 Güvenlik
| Değişken | Varsayılan | Açıklama |
|---|---|---|
ENABLE_WRITE_TOOLS |
false |
Jira/Xray yazma tool'larını etkinleştirir |
LOG_LEVEL |
info |
Log seviyesi (debug, info, warning, error) |
AUDIT_LOG_ENABLED |
true |
Audit log'u etkinleştirir |
HTTP_ENABLED |
false |
HTTP transport'u etkinleştirir |
HTTP_PORT |
8080 |
HTTP port |
🗺️ Yol Haritası
- [x] v1.0 - MVP: generate, lint, to_xray, compose
- [ ] v1.1 - Policy/guardrails, audit logs
- [ ] v1.2 - Jira/Xray sync (read-only)
- [ ] v2.0 - HTTP transport, OAuth
📄 License / Lisans
MIT License - Copyright (c) 2024-2026 Atakan Emre
🤝 Contributing / Katkıda Bulunma
- Fork the repository / Fork yapın
- Create feature branch / Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit your changes / Commit yapın (
git commit -m 'Add amazing feature') - Push to branch / Push yapın (
git push origin feature/amazing-feature) - Open a Pull Request / Pull Request açın
👤 Developer / Geliştirici
Atakan Emre
- GitHub: @Atakan-Emre
- Repository: McpTestGenerator
<div align="center">
Standardize test quality with QA-MCP! 🚀
QA-MCP ile test kalitesini standardize edin! 🚀
</div>
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.