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: MCP Test Case Generator

🚀 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.composeC

Test case listesinden Smoke/Regression/E2E suite oluşturur

ParametersJSON Schema
NameRequiredDescriptionDefault
testcasesYesTest case listesi
targetYesSuite tipi
sprintNoSprint adı/numarası (opsiyonel)
max_duration_minutesNoMaksimum suite süresi (dakika)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a suite but doesn't explain what 'creates' entails—whether it's a read-only operation, modifies data, requires specific permissions, or has side effects like rate limits. This leaves significant gaps in understanding the tool's behavior beyond its basic function.

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, efficient sentence in Turkish that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly, though it could benefit from being in English for broader accessibility.

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?

Given the tool has 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like what 'creates' means operationally, potential side effects, or return values, which are critical for a tool that appears to perform a creation/mutation action without structured safety hints.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all parameters. The description doesn't add any semantic details beyond what's in the schema, such as explaining the relationship between testcases and target or providing examples. Baseline score of 3 is appropriate since the schema handles parameter documentation adequately.

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's purpose: 'Test case listesinden Smoke/Regression/E2E suite oluşturur' (Creates a Smoke/Regression/E2E suite from a test case list). It specifies the verb 'oluşturur' (creates) and resource 'suite', but doesn't explicitly differentiate from sibling tools like suite.coverage_report or testcase.to_xray, which appear to be related but serve different functions.

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 guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare it to sibling tools such as testcase.generate or xray.get_mapping_template, leaving the agent to infer usage context solely from the tool name and parameters.

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

suite.coverage_reportC

Test suite için kapsam raporu oluşturur

ParametersJSON Schema
NameRequiredDescriptionDefault
testcasesYesTest case listesi
requirementsNoKontrol edilecek gereksinim ID'leri
modulesNoKontrol edilecek modül listesi

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'creates' a coverage report, implying a generation or output operation, but doesn't specify what the output looks like (e.g., format, structure), whether it's read-only or modifies data, or any performance considerations like rate limits. This leaves significant gaps in understanding the tool's behavior.

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

Conciseness4/5

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

The description is a single, efficient sentence in Turkish that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool, though it could be more front-loaded with key details if expanded. There's no wasted language, making it concise.

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?

Given the tool has no annotations, no output schema, and 3 parameters, the description is incomplete. It doesn't explain the output (e.g., report format), behavioral traits like side effects, or how to interpret results. For a tool that generates reports, more context is needed to guide effective use, especially without structured data to compensate.

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

Parameters3/5

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

The schema description coverage is 100%, with clear descriptions for all three parameters (testcases, requirements, modules). The description adds no additional meaning beyond the schema, such as explaining how parameters interact (e.g., how testcases relate to requirements/modules) or providing examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description states 'Test suite için kapsam raporu oluşturur' (Creates a coverage report for the test suite), which clearly identifies the verb ('oluşturur' - creates) and resource ('kapsam raporu' - coverage report). However, it doesn't distinguish this tool from its siblings like 'suite.compose' or 'testcase.generate', leaving the specific scope ambiguous. The purpose is understandable but lacks sibling differentiation.

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 guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing test cases as input, or compare it to sibling tools like 'testcase.to_xray' for reporting. Without any context or exclusions, the agent must infer usage from the tool name and parameters alone.

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

testcase.generateC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature açıklaması
acceptance_criteriaYesKabul kriterleri listesi
moduleNoModül/bileşen adı (opsiyonel)
risk_levelNoRisk seviyesi (default: medium)
include_negativeNoNegatif senaryolar dahil mi (default: true)
include_boundaryNoBoundary test önerileri dahil mi (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical details: whether it's a read-only or mutation operation, what format the generated test cases take, if there are rate limits, or any error conditions. This leaves significant gaps for an agent to understand the tool's behavior.

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, efficient sentence in Turkish that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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 6 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'standard test cases' means, the output format, or behavioral traits like whether it's idempotent or has side effects. Given the complexity and lack of structured data, more context is needed.

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

Parameters3/5

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

The schema description coverage is 100%, so all parameters are documented in the input schema. The description adds no additional parameter semantics beyond implying the tool uses 'feature description and acceptance criteria' as inputs, which aligns with the schema. This meets the baseline for high schema coverage.

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's function: 'generates standard test cases from feature description and acceptance criteria.' It specifies the verb ('generates') and resource ('test cases'), but doesn't differentiate from sibling tools like testcase.lint or testcase.normalize, which prevents a perfect score.

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 guidance on when to use this tool versus alternatives like testcase.lint or suite.compose. It mentions the input sources (feature description and acceptance criteria) but offers no context about appropriate scenarios or exclusions, leaving usage decisions unclear.

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

testcase.lintC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
testcaseYesAnaliz edilecek test case
include_improvement_planNoÖncelikli iyileştirme planı dahil mi (default: true)
strict_modeNoDaha katı kurallar uygula (default: false)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool analyzes test cases and returns a quality score and improvement suggestions, but it doesn't describe key behavioral traits such as whether the analysis is read-only or modifies data, performance characteristics, error handling, or any constraints. For a tool with no annotation coverage, this is a significant gap in transparency.

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

Conciseness4/5

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

The description is concise and front-loaded in a single sentence that states the core purpose and outputs. It avoids unnecessary words and gets straight to the point. However, it could be slightly improved by structuring it into clearer clauses or adding a brief example, but it's efficient overall.

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?

Given the complexity (3 parameters, including a nested object, no output schema, and no annotations), the description is incomplete. It doesn't explain the return values (quality score format, improvement suggestions structure), behavioral aspects like error conditions, or how it differs from sibling tools. For a tool with no output schema and no annotations, more context is needed to guide effective use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters ('testcase', 'include_improvement_plan', 'strict_mode') with descriptions. The tool description doesn't add any additional meaning or context beyond what the schema provides, such as explaining the impact of 'strict_mode' or the format of 'testcase'. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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's purpose: 'Test case'i analiz eder, kalite skoru ve iyileştirme önerileri döner' (Analyzes test cases, returns quality score and improvement suggestions). It specifies the verb (analyzes) and resource (test cases), and mentions the outputs (quality score, improvement suggestions). However, it doesn't explicitly differentiate from sibling tools like 'testcase.lint_batch' or 'testcase.normalize', which likely have related but distinct purposes.

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 guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'testcase.lint_batch' (for batch processing) or 'testcase.normalize' (for standardization), nor does it specify prerequisites, exclusions, or optimal contexts for use. This lack of comparative context leaves the agent without clear usage direction.

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

testcase.lint_batchC

Birden fazla test case'i toplu analiz eder

ParametersJSON Schema
NameRequiredDescriptionDefault
testcasesYesAnaliz edilecek test case listesi
strict_modeNoDaha katı kurallar uygula

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'analyzes' but doesn't disclose what analysis entails, whether it's read-only or modifies data, what permissions are needed, or what the output format might be. For a batch processing tool with no annotation coverage, this leaves significant behavioral gaps.

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

Conciseness4/5

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

The description is a single, efficient sentence in Turkish ('Birden fazla test case'i toplu analiz eder'). It's appropriately concise and front-loaded with the core purpose, though it could be slightly more informative without losing conciseness.

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?

Given no annotations, no output schema, and a batch processing tool that likely returns analysis results, the description is incomplete. It doesn't explain what 'analysis' produces, how results are structured, or any error handling. The agent lacks sufficient context to use this tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('testcases' array and 'strict_mode' boolean). The description adds no additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose3/5

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

The description states the tool 'analyzes multiple test cases in batch' which provides a basic purpose (verb+resource). However, it doesn't distinguish this from sibling tools like 'testcase.lint' (single test case linting) or 'testcase.normalize' (different operation). The purpose is clear but lacks sibling differentiation.

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 guidance on when to use this tool versus alternatives. There's no mention of when batch analysis is preferable to single-case linting ('testcase.lint'), nor any prerequisites or exclusions. The agent must infer usage from the name alone.

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

testcase.normalizeC

Farklı formatlardaki test case'leri QA-MCP standardına çevirir

ParametersJSON Schema
NameRequiredDescriptionDefault
input_dataYesNormalize edilecek test case (markdown, gherkin, json veya plain text)
source_formatNoKaynak format (default: auto)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool converts test cases to a standard format, implying a transformation process, but lacks details on behavioral traits such as error handling, performance considerations, or what the output looks like. This is a significant gap for a tool with no 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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly. Every part of the sentence contributes to clarifying the tool's function.

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?

Given the tool has no annotations and no output schema, the description is incomplete. It doesn't explain what the normalized output entails, potential side effects, or usage context. For a transformation tool with 2 parameters, more details on behavior and output are needed to be fully helpful to an AI agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value by implying the tool handles multiple input formats, but it doesn't provide additional context beyond what's in the schema, such as examples or format-specific nuances. Baseline 3 is appropriate when the schema does the heavy lifting.

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 action ('normalize') and target resource ('test cases'), specifying conversion to a specific standard ('QA-MCP standard'). However, it doesn't explicitly differentiate from sibling tools like 'testcase.lint' or 'testcase.generate', which might also process test cases. The purpose is clear but lacks sibling distinction.

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. The description mentions converting from different formats, but it doesn't specify scenarios, prerequisites, or exclusions. For example, it doesn't clarify if this should be used for validation, standardization, or as a preprocessing step compared to other test case tools.

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

testcase.to_xrayC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
testcaseYesDönüştürülecek test case
project_keyYesJira proje anahtarı (örn: PROJ)
test_typeNoXray test tipi (default: Manual)
include_custom_fieldsNoCustom field'ları dahil et (default: true)
custom_field_mappingsNoCustom field ID eşlemeleri

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states what the tool does (conversion) without mentioning any behavioral traits like whether it's read-only vs. mutating, whether it requires authentication, rate limits, error handling, or what the output looks like. For a tool with 5 parameters and no annotations, this is insufficient.

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 extremely concise - a single sentence that directly states the tool's purpose without any fluff. It's front-loaded with the core function and wastes no words, making it easy to parse quickly.

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?

Given the tool has 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address what the conversion output looks like, error conditions, authentication requirements, or how it differs from the batch version. For a data transformation tool with multiple configuration options, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly with descriptions and defaults. The description adds no additional parameter information beyond what's in the schema, maintaining the baseline score of 3. It doesn't explain relationships between parameters or provide usage examples.

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's purpose: converting a test case to Xray import format. It specifies the verb ('dönüştürür' - converts) and the resource ('test case'), making the function understandable. However, it doesn't differentiate from its sibling 'testcase.to_xray_batch', which likely performs batch conversion.

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 guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'testcase.to_xray_batch' for batch processing or other tools like 'testcase.normalize' that might be prerequisites. There's no context about when this conversion is needed or what scenarios it's designed for.

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

testcase.to_xray_batchC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
testcasesYesDönüştürülecek test case listesi
project_keyYesJira proje anahtarı
test_typeNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but reveals minimal behavioral information. It mentions batch conversion but doesn't disclose whether this is a read-only operation, what permissions are required, whether it modifies source data, rate limits, error handling, or output characteristics. For a tool with 3 parameters and no annotation coverage, this is inadequate disclosure.

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

Conciseness4/5

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

The description is a single, efficient sentence that states the core functionality upfront. There's no wasted verbiage or redundant information. However, it could be slightly more structured by separating purpose from context or constraints.

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 batch conversion tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the Xray format entails, what happens during conversion, whether validation occurs, error conditions, or what the output looks like. The combination of missing behavioral context and parameter guidance makes this inadequate for the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 67% (2 of 3 parameters have descriptions). The description adds no parameter-specific information beyond what's in the schema - it doesn't explain what constitutes a valid testcase object, what the project_key format should be, or clarify the test_type enum values. With moderate schema coverage, the baseline 3 is appropriate as the description doesn't compensate for the coverage gap.

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 verb ('dönüştürür' - converts) and resource ('test case'i' to 'Xray formatı'), specifying it's a batch operation ('toplu olarak'). It distinguishes from sibling 'testcase.to_xray' by explicitly mentioning batch processing. However, it doesn't fully differentiate from other transformation siblings like 'testcase.normalize' in terms of output format specificity.

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 on when to use this tool versus alternatives is provided. The description doesn't mention when to choose batch conversion over single conversion ('testcase.to_xray'), or when this is preferable to other transformation tools like 'testcase.normalize'. There's no context about prerequisites, limitations, or typical use cases.

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

xray.get_mapping_templateC

Xray alan eşleme şablonunu döner

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the tool returns something without describing behavioral traits like whether it's a read-only operation, if it requires authentication, what format the return is in, or if there are any rate limits. For a tool with zero annotation coverage, this minimal description leaves significant behavioral gaps.

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

Conciseness4/5

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

The description is a single sentence that directly states the tool's function without unnecessary words. It's appropriately sized for a simple tool with no parameters. However, it could be slightly more informative while maintaining conciseness, such as specifying what 'Xray field mapping template' refers to.

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?

Given no annotations, no output schema, and a tool that presumably returns data, the description is incomplete. It doesn't explain what the mapping template contains, its format, or how it might be used. For a tool with this level of complexity (returning a template), more context about the return value would be helpful since there's no output schema to provide that information.

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 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description doesn't need to compensate for any parameter gaps, and the baseline for 0 parameters is 4. The description appropriately doesn't waste space discussing nonexistent parameters.

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

Purpose3/5

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

The description states the tool returns an Xray field mapping template, which provides a basic purpose. However, it's vague about what 'Xray field mapping template' specifically means and doesn't differentiate from sibling tools like testcase.to_xray or suite.compose. The description lacks specificity about what resource is being accessed or what the template contains.

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 about when to use this tool versus alternatives. The description doesn't mention any context, prerequisites, or exclusions. With sibling tools like testcase.to_xray and suite.compose available, there's no indication of when this mapping template retrieval is appropriate versus those other operations.

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. Dates show when Glama detected each change.

  1. 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

B3.2/5.0
Disambiguation4/5

Most tools have distinct purposes with clear boundaries, such as suite.compose for creating test suites and testcase.generate for generating test cases. However, testcase.lint and testcase.lint_batch have overlapping functionality, where lint_batch is essentially a batch version of lint, which could cause minor confusion in selection.

Naming Consistency5/5

Tool names follow a highly consistent pattern using dot notation (e.g., suite.compose, testcase.generate, xray.get_mapping_template). This structure is predictable and readable across all tools, with no mixing of conventions like camelCase or snake_case.

Tool Count5/5

With 9 tools, the count is well-scoped for a QA and test orchestration server. Each tool appears to serve a specific function in the domain, such as test case generation, analysis, normalization, and integration with Xray, without being overly sparse or bloated.

Completeness4/5

The tool set covers key aspects of test standardization and orchestration, including test case creation, analysis, normalization, and export to Xray. A minor gap is the lack of tools for managing or executing test runs or suites, which might be expected in a full QA workflow, but core operations are well-represented.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables QA/SDET engineers to test APIs by ingesting Swagger/OpenAPI specs and Postman collections, generating and executing tests in multiple languages and frameworks with real-time progress tracking.
    11
    35
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    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.
    -

Appeared in Searches

Latest Blog Posts

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/Atakan-Emre/McpTestGenerator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server