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>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。