QA-MCP: Test Standardization & Orchestration Server

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.

Category
Visit Server

README

QA-MCP: Test Standardization & Orchestration Server

<div align="center">

Version Python License MCP Tests Docker

🇬🇧 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

  1. Fork the repository / Fork yapın
  2. Create feature branch / Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit your changes / Commit yapın (git commit -m 'Add amazing feature')
  4. Push to branch / Push yapın (git push origin feature/amazing-feature)
  5. Open a Pull Request / Pull Request açın

👤 Developer / Geliştirici

Atakan Emre


<div align="center">

Standardize test quality with QA-MCP! 🚀

QA-MCP ile test kalitesini standardize edin! 🚀

GitHub Stars GitHub Forks

</div>

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured