Skip to main content
Glama
Atakan-Emre

QA-MCP: Test Standardization & Orchestration Server

by Atakan-Emre

QA-MCP

CI PyPI version Python License Docker

The Model Context Protocol (MCP) server for deterministic, structured, and scalable Quality Assurance.

🇬🇧 English | 🇹🇷 Türkçe


🇬🇧 English

📖 Overview

QA-MCP bridges the gap between ad-hoc LLM prompts and structured software testing. It provides AI agents and MCP clients with a shared test case model, rigorous quality analysis, and powerful normalization utilities.

Say goodbye to inconsistent manual QA documents. QA-MCP ensures that whether you are generating test cases from raw feature descriptions, converting Gherkin syntax, or composing complete regression suites, your test artifacts remain standardized, reusable, and perfectly aligned across your engineering teams.

✨ Key Features

  • 🚀 Standardized Generation: Automatically generate high-quality, structured test cases from feature descriptions and acceptance criteria.

  • 🛠️ Smart Normalization: Seamlessly convert Gherkin, Markdown, JSON, and plain text into the canonical QA-MCP schema.

  • 📈 Advanced Linting & Scoring: Evaluate test cases against a shared QA schema with detailed scores, issue tracking, and improvement guidance.

  • 🔗 Xray Ready: Instantly convert standardized test cases into Xray-compatible JSON payloads for Jira integration.

  • 📦 Suite Composition: Dynamically compose and manage Smoke, Sanity, Regression, and E2E test suites.

  • 📊 Coverage Reporting: Track and report coverage metrics across requirements, modules, and risk areas.

Related MCP server: qa-ai-agents

🚀 Quick Start

Install via PyPI

pip install qa-mcp
qa-mcp --version

Install via uv

pip install uv
uv pip install qa-mcp
qa-mcp --version

Run via Docker

docker pull atakanemree/qa-mcp:latest
docker run -i --rm atakanemree/qa-mcp:latest

🔌 Connecting an MCP Client

Configure your preferred MCP client (e.g., Claude Desktop) to use QA-MCP.

Standard Configuration:

{
  "mcpServers": {
    "qa-mcp": {
      "command": "qa-mcp",
      "args": []
    }
  }
}

Docker Configuration:

{
  "mcpServers": {
    "qa-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "atakanemree/qa-mcp:latest"]
    }
  }
}

🛠️ Public MCP Surface

Tools

Tool names intentionally use underscores so Claude Desktop and other strict MCP clients accept them.

Tool

Purpose

testcase_generate

Generate standardized test cases from feature text and acceptance criteria.

testcase_lint

Analyze a single test case, returning a quality score, issues, and improvement steps.

testcase_lint_batch

Analyze a collection of test cases and return aggregate findings.

testcase_normalize

Normalize Gherkin, Markdown, JSON, or plain text into the QA-MCP schema.

testcase_to_xray

Convert a single test case into an Xray-compatible JSON payload.

testcase_to_xray_batch

Convert multiple test cases into Xray-compatible bulk payloads.

suite_compose

Select and compose Smoke, Sanity, Regression, or E2E suites.

suite_coverage_report

Generate requirement, module, risk, and scenario coverage reports.

xray_get_mapping_template

Get the suggested QA-MCP to Xray field mapping template.

Resources

URI

Purpose

qa://standards/testcase/v1

Canonical QA-MCP test case standard.

qa://checklists/lint-rules/v1

Lint rules, penalties, and scoring logic.

qa://mappings/xray/v1

Xray mapping reference documentation.

qa://examples/good

Best-practice test case examples.

qa://examples/bad

Anti-pattern test case examples.

Prompts

Prompt

Purpose

create-manual-test

Guide the LLM toward structured manual test creation.

select-smoke-tests

Assist in selecting an optimal smoke suite from an existing pool.

generate-negative-scenarios

Guide the generation of robust negative/edge-case scenarios.

review-test-coverage

Analyze existing test assets for coverage gaps.

⚙️ Architecture & Configuration

QA-MCP is designed for secure, localized execution:

  • Transport: Currently operates exclusively via standard input/output (stdio).

  • Integrations: Direct write-capable synchronization (e.g., Jira/Xray APIs) and network listeners are planned for future roadmap milestones. Current Xray functionality focuses on robust payload generation.

Environment Variables:

Variable

Default

Description

LOG_LEVEL

info

Standard application log level.

AUDIT_LOG_ENABLED

true

Enables tool invocation audit logging for traceability.

🐳 Docker Deployment

The official image is available on Docker Hub: atakanemree/qa-mcp

# Verify the packaged CLI
docker run --rm atakanemree/qa-mcp:latest --version

# Run the MCP server in stdio mode
docker run -i --rm atakanemree/qa-mcp:latest

# Docker Compose usage
docker compose up qa-mcp
docker compose --profile dev up qa-mcp-dev

📚 Documentation

For deep dives into QA-MCP's architecture and contribution guidelines, explore the docs:

🗺️ Roadmap

  • Phase 1 (Current): Standard schema, generation, linting, normalization, Xray payload export, and suite composition via stdio.

  • Phase 2 (Near-Term): Enhanced normalization logic for messy real-world inputs, expanded example libraries, and richer coverage reporting ergonomics.

  • Phase 3 (Planned): Read-only integrations for external QA systems and strictly gated, safe write-capable endpoints.

📄 License

Released under the MIT License. See LICENSE for details.


🇹🇷 Türkçe

📖 Genel Bakış

QA-MCP, LLM istemleri (prompt) ile yapılandırılmış yazılım test süreçleri arasındaki köprüyü kurar. Yapay zeka ajanlarına ve MCP istemcilerine ortak bir test senaryosu modeli, titiz bir kalite analizi ve güçlü normalizasyon araçları sunar.

Tutarsız ve manuel hazırlanan QA dokümanlarına veda edin. QA-MCP; ham özellik tanımlarından test case üretirken, Gherkin sözdizimini dönüştürürken veya kapsamlı regresyon suitleri oluştururken test varlıklarınızın standart, yeniden kullanılabilir ve yazılım ekiplerinizle mükemmel bir uyum içinde kalmasını sağlar.

✨ Temel Özellikler

  • 🚀 Standart Üretim: Feature metinlerinden ve kabul kriterlerinden otomatik olarak yüksek kaliteli, yapılandırılmış test case'ler üretin.

  • 🛠️ Akıllı Normalizasyon: Gherkin, Markdown, JSON ve düz metinleri standart QA-MCP şemasına sorunsuz bir şekilde dönüştürün.

  • 📈 Gelişmiş Linting ve Skorlama: Test senaryolarını ortak kalite şemasına göre değerlendirin; detaylı skorlar, hatalar ve iyileştirme adımları elde edin.

  • 🔗 Xray Entegrasyonuna Hazır: Standart test case'leri anında Jira/Xray uyumlu JSON payload'larına dönüştürün.

  • 📦 Suite Yönetimi: Smoke, Sanity, Regression ve E2E test suitlerini dinamik olarak oluşturun ve yönetin.

  • 📊 Kapsam (Coverage) Raporlama: Gereksinim, modül ve risk bazlı test kapsam metriklerini raporlayın.

🚀 Hızlı Başlangıç

PyPI üzerinden kurulum

pip install qa-mcp
qa-mcp --version

uv ile kurulum

pip install uv
uv pip install qa-mcp
qa-mcp --version

Docker ile çalıştırma

docker pull atakanemree/qa-mcp:latest
docker run -i --rm atakanemree/qa-mcp:latest

🔌 MCP İstemcisine Bağlanma

Tercih ettiğiniz MCP istemcisini (örn. Claude Desktop) QA-MCP kullanacak şekilde yapılandırın.

Standart Yapılandırma:

{
  "mcpServers": {
    "qa-mcp": {
      "command": "qa-mcp",
      "args": []
    }
  }
}

Docker Yapılandırması:

{
  "mcpServers": {
    "qa-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "atakanemree/qa-mcp:latest"]
    }
  }
}

🛠️ Public MCP Yüzeyi

Tool'lar (Araçlar)

Tool adları Claude Desktop gibi katı MCP istemcileriyle uyum için bilerek underscore (_) kullanır.

Tool

Amaç

testcase_generate

Feature metni ve kabul kriterlerinden standart test case üretir.

testcase_lint

Test case'i analiz eder; kalite skoru, sorunlar ve iyileştirme adımları döner.

testcase_lint_batch

Birden fazla test case için toplu analiz yapar.

testcase_normalize

Gherkin, Markdown, JSON veya düz metni QA-MCP şemasına dönüştürür.

testcase_to_xray

Tek bir test case'i Xray uyumlu JSON payload'a çevirir.

testcase_to_xray_batch

Test case'leri toplu Xray payload formatına çevirir.

suite_compose

Smoke, Sanity, Regression veya E2E suite kompozisyonu oluşturur.

suite_coverage_report

Gereksinim, modül, risk ve senaryo kapsamını raporlar.

xray_get_mapping_template

QA-MCP -> Xray alan eşleme şablonunu döner.

Resource'lar (Kaynaklar)

URI

Amaç

qa://standards/testcase/v1

Kanonik QA-MCP test case standardı.

qa://checklists/lint-rules/v1

Lint kuralları, cezalar ve puanlama mantığı.

qa://mappings/xray/v1

Xray mapping referans dokümantasyonu.

qa://examples/good

İyi/ideal örnek test case'ler.

qa://examples/bad

Anti-pattern (hatalı) örnek test case'ler.

Prompt'lar

Prompt

Amaç

create-manual-test

LLM'i yapılandırılmış manuel test üretimine yönlendirir.

select-smoke-tests

Mevcut havuzdan en uygun smoke suite seçimine yardımcı olur.

generate-negative-scenarios

Kapsamlı negatif/uç durum senaryolarının üretilmesini sağlar.

review-test-coverage

Test eksikliklerini bulmak için mevcut varlıkları analiz eder.

⚙️ Mimari ve Yapılandırma

QA-MCP, güvenli ve lokal çalışacak şekilde tasarlanmıştır:

  • Bağlantı (Transport): Şu anda yalnızca standart girdi/çıktı (stdio) üzerinden çalışır.

  • Entegrasyonlar: Doğrudan yazma yetkisine sahip API senkronizasyonları (örn. Jira/Xray'e direkt push) ve ağ dinleyicileri (network listeners) gelecek yol haritasında planlanmıştır. Mevcut Xray özelliği güçlü payload üretimine odaklanır.

Ortam Değişkenleri:

Değişken

Varsayılan

Açıklama

LOG_LEVEL

info

Uygulama log seviyesi.

AUDIT_LOG_ENABLED

true

İzlenebilirlik için araç çağrılarına ait audit log'ları aktifleştirir.

🐳 Docker Dağıtımı

Resmi imaj Docker Hub üzerinde yayındadır: atakanemree/qa-mcp

# Paketlenmiş CLI'yı doğrula
docker run --rm atakanemree/qa-mcp:latest --version

# MCP server'ı stdio modunda çalıştır
docker run -i --rm atakanemree/qa-mcp:latest

# Docker Compose kullanımı
docker compose up qa-mcp
docker compose --profile dev up qa-mcp-dev

📚 Dokümantasyon

Mimari detaylar ve projeye katkı rehberleri için:

🗺️ Yol Haritası

  • Aşama 1 (Mevcut): stdio üzerinden standart şema, üretim, linting, normalizasyon, Xray export ve suite kompozisyonu.

  • Aşama 2 (Kısa Vadeli): Dağınık girdiler için geliştirilmiş normalizasyon mantığı, daha zengin örnek kütüphaneleri ve iyileştirilmiş raporlama ergonomisi.

  • Aşama 3 (Planlanan): Dış QA sistemleri için read-only entegrasyonlar ve kontrollü/güvenli write-capable uç noktalar.

📄 Lisans

MIT License ile yayınlanmıştır. Ayrıntılar için LICENSE dosyasına göz atabilirsiniz.

Available Tools

9 tools
suite_composeTest Suite OluşturB
Read-onlyIdempotent

Test case listesinden Smoke/Sanity/Regression/E2E/Integration/Performance suite oluşturur.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprintNo
targetYes
testcasesYes
max_duration_minutesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
suiteYesComposed suite; null on error
errorsNo
excluded_countNo
recommendationsNo
coverage_summaryNo
duration_warningNo
selected_testcasesNo
selection_rationaleNoWhy each test case was included or excluded

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds minimal context, only that it composes a suite from a list, without describing validation, output details, or any side effects. It is not contradictory, but does not enrich the behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no redundant information. It efficiently conveys the core function without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, 2 of which are optional, and 0% schema coverage, the description is incomplete. It lacks details about the optional parameters, the expected structure of testcases, and any constraints or prerequisites. The existence of an output schema reduces the need to describe return values, but the parameter semantics and usage conditions remain underexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description partially explains two of the four parameters: 'test case list' maps to testcases, and the enumerated suite types map to target. However, it completely omits sprint and max_duration_minutes. Since the schema has 0% description coverage, the tool description fails to compensate for these undocumented parameters, leaving them ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb (creates), the resource (suite), and the source (test case list), and enumerates the six suite types. It is distinct from siblings like testcase_generate or testcase_lint, which focus on generating or validating individual test cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool vs alternatives. The description only states what it does, without mentioning conditions, exclusions, or recommending it for specific scenarios. The distinction from siblings is implicit, not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suite_coverage_reportKapsam RaporuB
Read-onlyIdempotent

Test case koleksiyonu için gereksinim ve modül kapsam raporu üretir.

ParametersJSON Schema
NameRequiredDescriptionDefault
modulesNo
testcasesYes
requirementsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
gapsNo
module_coverageNo
recommendationsNo
total_testcasesYes
module_test_countNo
risk_distributionNo
skipped_testcasesNoInputs that did not conform and were left out
requirement_mappingNo
requirement_coverageNo
scenario_distributionNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds no further behavioral context (e.g., side effects, performance, or external dependencies), but it is consistent with the annotations, so this neutral addition warrants a middle score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, efficiently conveying the core purpose without unnecessary detail. It is well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the basic purpose but omits any detail about the parameters, output format, or expected input structure. While an output schema exists, the lack of parameter context makes the tool only partially complete for an agent aiming to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description gives no explanation of the parameters (modules, testcases, requirements). With 0% schema description coverage, the description fails to compensate for the lack of parameter documentation, leaving the agent without enough context to correctly populate the arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: generating a requirement and module coverage report for a test case collection. It uses a specific verb ('üretir' – generates) and identifies the resource, making the purpose unambiguous and distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool instead of alternatives. It does not mention conditions, trade-offs, or comparisons with sibling tools, leaving the agent to infer appropriate usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testcase_generateTest Case ÜretA
Read-onlyIdempotent

Feature açıklaması ve acceptance criteria'dan standart test case üretir.

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleNo
featureYes
risk_levelNomedium
include_boundaryNo
include_negativeNo
acceptance_criteriaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
testcasesYesGenerated standard test cases
suggestionsYesAdditional testing suggestions
total_generatedYesNumber of test cases generated
coverage_summaryYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description is not required to restate it. The description adds the 'standard' qualifier, implying normalized/consistent output, which is a modest addition beyond the annotations. No contradiction exists — 'generate' aligns with read-only generation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single declarative sentence with zero filler. The purpose is front-loaded and every word earns its place. It is efficient without being under-specified to the point of tautology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The presence of an output schema covers return-value expectations, so that gap is handled. However, with six parameters and zero schema description coverage, the description leaves four parameters (module, risk_level, include_boundary, include_negative) undocumented. An agent would struggle to configure generation correctly without additional guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only implicitly references two of the six parameters (feature and acceptance_criteria). module, risk_level, include_boundary, and include_negative are entirely unexplained in both the schema and description, leaving the agent to guess their meaning and interaction.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('üretir'/'generates'), a specific resource (standard test cases), and the source inputs (feature description + acceptance criteria). This clearly distinguishes it from the sibling tools, which are about linting, normalizing, converting to Xray, composing suites, or reporting coverage rather than generating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from feature description and acceptance criteria' implies the generation scenario, but the description never explicitly routes the agent — it does not state when to use this tool versus alternatives or when not to use it. No sibling is named and no exclusion condition is given, leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testcase_lintTest Case Kalite AnaliziC
Read-onlyIdempotent

Test case'i analiz eder, kalite skoru ve iyileştirme önerileri döner.

ParametersJSON Schema
NameRequiredDescriptionDefault
testcaseYes
strict_modeNo
include_improvement_planNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
gradeYes
scoreYes
issuesNo
passedYesMet the minimum quality threshold
summaryNo
suggestionsNo
schema_validYesConforms to the QA-MCP standard's schema constraints
schema_errorsNo
improvement_planNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds no extra behavioral context beyond stating it analyzes and returns results, which is consistent with the annotations. It does not contradict them, but it also does not go beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It directly states the action and the output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the output schema covers return details, the description does not provide essential context about the parameters or the distinction from the batch variant. Given the parameter count and lack of descriptions, the description alone is insufficient to use the tool correctly in all scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameter descriptions in the schema (coverage 0%), and the description does not explain the purpose or effect of the three parameters (testcase, strict_mode, include_improvement_plan). The names give some hint but not enough for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('analiz eder' - analyzes) and identifies the resource (test case) and the outcome (quality score and improvement suggestions). It clearly distinguishes this from sibling tools like testcase_generate or testcase_normalize by its focus on analysis and scoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as testcase_lint_batch or other sibling tools. There is no mention of single vs batch usage or any decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testcase_lint_batchToplu Kalite AnaliziA
Read-onlyIdempotent

Birden fazla test case'i toplu analiz eder ve toplu istatistik döner.

ParametersJSON Schema
NameRequiredDescriptionDefault
testcasesYes
strict_modeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
aggregateYes
recommendationsNo
grade_distributionNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already cover read-only, non-destructive, and idempotent behavior. The description adds no extra behavioral context such as error handling, side effects, or rate limits. It is consistent with annotations but provides no additional transparency beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that is appropriately concise for the tool's function. It conveys the essential purpose without unnecessary verbosity, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description omits crucial context about input parameter formats, the behavior of strict_mode, and the nature of the returned statistics. It also does not mention the batch vs. single-use distinction, leaving the tool's context incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description only vaguely acknowledges the 'testcases' parameter through the phrase 'multiple test cases' but does not explain the structure of array items or the meaning of 'strict_mode'. Since the schema has no field descriptions, this lack of detail leaves parameter semantics largely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool analyzes multiple test cases in batch and returns aggregate statistics, which distinguishes it from the singular testcase_lint sibling. The verb 'analyzes' and the object 'multiple test cases' precisely convey the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for batch analysis of multiple test cases, but it does not explicitly mention when to use this tool instead of alternatives like testcase_lint. The guidance is implied rather than explicit, so it falls short of clearly directing the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testcase_normalizeTest Case NormalleştirC
Read-onlyIdempotent

Markdown, Gherkin, JSON veya düz metni QA-MCP standardına çevirir.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_dataYes
source_formatNoauto

Output Schema

ParametersJSON Schema
NameRequiredDescription
testcaseYesTest case raised to the standard; null when it could not be parsed
warningsYesFields that were padded or changed
transformationsYesTransformations applied
source_format_detectedYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior; the description adds no extra behavioral context but is consistent with those hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant information, front-loading the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides the core conversion purpose and implies the return of a normalized test case, but lacks parameter explanations; however, the presence of an output schema likely covers the return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions for either parameter, and the description does not explain what input_data or source_format mean or how the enum values behave, leaving the agent to infer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts Markdown, Gherkin, JSON, or plain text into the QA-MCP standard, using a specific verb and resource. It is distinct from sibling tools like testcase_to_xray, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like testcase_lint or testcase_to_xray, nor any conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testcase_to_xrayXray Formatına DönüştürA
Read-onlyIdempotent

Standart test case'i Xray import formatına dönüştürür.

project_key ve custom_field_mappings verilmezse yapılandırılmış tenant
değerleri kullanılır.
ParametersJSON Schema
NameRequiredDescriptionDefault
testcaseYes
test_typeNo
project_keyNo
custom_field_mappingsNo
include_custom_fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
warningsNo
xray_payloadYesImport-ready Xray JSON
field_mapping_reportYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, non-destructive, idempotent behavior; the description adds a meaningful behavioral detail about using configured tenant values as defaults, but does not elaborate other side effects or output characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with the main purpose front-loaded and no extraneous information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes the core conversion and one fallback behavior, but misses enough parameter detail and does not clarify single vs batch usage. With five parameters and a nested object, the description is only barely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has no parameter descriptions, and only project_key and custom_field_mappings are mentioned (their fallback behavior). The required testcase object, test_type, and include_custom_fields are left unexplained, so schema-description coverage remains well below 50%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States clearly that it converts a standard test case into Xray import format. The verb and target format are explicit, and the singular scope is evident from the name and the testcase parameter, distinguishing it from the batch sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides limited usage guidance by explaining fallback to tenant-configured values when project_key and custom_field_mappings are omitted, but does not explicitly contrast with sibling tools like testcase_to_xray_batch or testcase_generate, so when-to-use guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testcase_to_xray_batchToplu Xray DönüşümüA
Read-onlyIdempotent

Birden fazla test case'i toplu olarak Xray formatına dönüştürür.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_typeNo
testcasesYes
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryYes
warningsNo
xray_payloadsNo
import_payloadYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds the conversion action but does not disclose output details or any side effects beyond what annotations imply. This is adequate given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero wasted words. It conveys the core purpose immediately and is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With three parameters and zero schema descriptions, the description is severely incomplete. It does not explain the input format, the meaning of test_type or project_key, or any details about the conversion process. The output schema exists, but the agent still lacks essential input guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the three parameters (testcases, test_type, project_key). An agent has no guidance on what these fields mean or how to populate them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (converts), the resource (multiple test cases), and the target format (Xray). It explicitly says 'multiple' and 'bulk', distinguishing it from the singular sibling testcase_to_xray.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly signals it is for batch operations by saying 'Birden fazla test case'i' (multiple test cases). This gives clear context for when to use it, though it does not explicitly name the alternative for single conversions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

xray_get_mapping_templateXray Alan Eşleme ŞablonuA
Read-onlyIdempotent

Xray alan eşleme şablonunu döner.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesYes
xray_specificYes
standard_mappingsYes
custom_field_suggestionsYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with the readOnly and idempotent annotations and indicates a simple retrieval with no side effects, but it adds no behavioral context beyond what the annotations already declare.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence, front-loaded with the action and object, and contains no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only retrieval tool with an output schema, the description is sufficiently complete. It does not explain how the mapping template relates to the conversion sibling tools, but that is not required for the simple act of retrieving it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter behavior to document. The input schema fully covers the empty parameter set, and no additional parameter explanation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a single, specific statement: 'Returns the Xray field mapping template.' It clearly identifies the action and the resource, and it is distinct enough from sibling tools that generate, lint, normalize, or convert test cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus related tools such as testcase_to_xray or testcase_to_xray_batch. An agent has to infer from the name that this template is likely a prerequisite for conversion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 18 tool updatesv2.1.1
    • Addedsuite_compose
    • Addedsuite_coverage_report
    • Removedsuite.compose
    • Removedsuite.coverage_report
    • Addedtestcase_generate
    • Addedtestcase_lint
    • Addedtestcase_lint_batch
    • Addedtestcase_normalize
    • Addedtestcase_to_xray
    • Addedtestcase_to_xray_batch
    • Removedtestcase.generate
    • Removedtestcase.lint
    • Removedtestcase.lint_batch
    • Removedtestcase.normalize
    • Removedtestcase.to_xray
    • Removedtestcase.to_xray_batch
    • Addedxray_get_mapping_template
    • Removedxray.get_mapping_template
  2. 9 tool updatesv1.0.0
    • First observedsuite.compose
    • First observedsuite.coverage_report
    • First observedtestcase.generate
    • First observedtestcase.lint
    • First observedtestcase.lint_batch
    • First observedtestcase.normalize
    • First observedtestcase.to_xray
    • First observedtestcase.to_xray_batch
    • First observedxray.get_mapping_template

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a distinct purpose: generation, linting (single vs batch), normalization, Xray conversion (single vs batch), template retrieval, suite composition, and coverage reporting. No overlapping functionality.

Naming Consistency5/5

All tools follow a consistent lowercase verb_noun pattern (e.g., testcase_generate, testcase_lint_batch, suite_compose). The _batch suffix is uniform, and naming is clear and predictable.

Tool Count5/5

With 9 tools, the set is well-scoped for a test standardization and orchestration server. It covers generation, linting, conversion, template access, and suite/coverage operations without excessive fragmentation or redundancy.

Completeness4/5

The surface covers the core workflow: generate, validate, normalize, convert, compose, and report. Missing update/delete operations are not critical for the stated purpose, but a small gap exists in not having a tool to modify or manage existing test cases directly.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables automated QA testing by running a pipeline of AI agents that generate test scenarios, architect test layers, write Playwright tests, and review code, all grounded in feature requirements and API contracts.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides MCP tools that give LLM agents a full QA engineer workflow: scanning projects, generating deterministic test suites, executing them across browser/API/mobile, diagnosing failures, and proposing fixes that require human approval.
    -

Appeared in Searches