QA-MCP: Test Standardization & Orchestration Server
QA-MCP is a test standardization and orchestration server that enables LLM clients to generate, analyze, normalize, and manage test cases with quality control and Xray/Jira integration.
Test Case Generation & Management: Generate standardized test cases from feature descriptions and acceptance criteria with configurable risk levels, boundary tests, and negative scenarios. Normalize test cases from various formats (Gherkin, Markdown, JSON, plain text) into QA-MCP standard format.
Quality Analysis & Linting: Analyze test case quality with lint scoring and improvement suggestions in single or batch mode, with configurable strict mode for quality gates.
Xray/Jira Integration: Convert test cases to Xray import-ready JSON format (Manual/Automated/Generic types) with support for custom field mappings, batch processing, and project key mapping. Access Xray mapping templates for field configuration.
Test Suite Orchestration: Compose targeted test suites (Smoke, Sanity, Regression, E2E) from test case collections with sprint association and duration-based filtering.
Coverage & Reporting: Generate coverage reports analyzing test coverage across modules and requirements.
Additional Features: Access predefined resources including test case standards, lint rules, Xray field mappings, and example test cases. Use pre-defined prompts for common QA tasks. Deploy securely via Docker with configurable settings including audit logging, write tool controls, and HTTP transport.
Enables standardized test case generation and export to Jira/Xray format, with planned read-only sync capabilities for test management and import/export of test cases in Xray-compatible JSON format.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QA-MCP: Test Standardization & Orchestration Servergenerate test cases for user login with email and password"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QA-MCP
The Model Context Protocol (MCP) server for deterministic, structured, and scalable Quality Assurance.
🇬🇧 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 --versionInstall via uv
pip install uv
uv pip install qa-mcp
qa-mcp --versionRun 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 |
| Generate standardized test cases from feature text and acceptance criteria. |
| Analyze a single test case, returning a quality score, issues, and improvement steps. |
| Analyze a collection of test cases and return aggregate findings. |
| Normalize Gherkin, Markdown, JSON, or plain text into the QA-MCP schema. |
| Convert a single test case into an Xray-compatible JSON payload. |
| Convert multiple test cases into Xray-compatible bulk payloads. |
| Select and compose Smoke, Sanity, Regression, or E2E suites. |
| Generate requirement, module, risk, and scenario coverage reports. |
| Get the suggested QA-MCP to Xray field mapping template. |
Resources
URI | Purpose |
| Canonical QA-MCP test case standard. |
| Lint rules, penalties, and scoring logic. |
| Xray mapping reference documentation. |
| Best-practice test case examples. |
| Anti-pattern test case examples. |
Prompts
Prompt | Purpose |
| Guide the LLM toward structured manual test creation. |
| Assist in selecting an optimal smoke suite from an existing pool. |
| Guide the generation of robust negative/edge-case scenarios. |
| 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 |
|
| Standard application log level. |
|
| 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:
USAGE.md: Detailed usage examples and request payloads.
CONTRIBUTING.md: Contributor workflow and quality checks.
CHANGELOG.md: Release history.
docs/PUBLISHING.md: Package and release publishing flow.
🗺️ 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 --versionuv ile kurulum
pip install uv
uv pip install qa-mcp
qa-mcp --versionDocker 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ç |
| Feature metni ve kabul kriterlerinden standart test case üretir. |
| Test case'i analiz eder; kalite skoru, sorunlar ve iyileştirme adımları döner. |
| Birden fazla test case için toplu analiz yapar. |
| Gherkin, Markdown, JSON veya düz metni QA-MCP şemasına dönüştürür. |
| Tek bir test case'i Xray uyumlu JSON payload'a çevirir. |
| Test case'leri toplu Xray payload formatına çevirir. |
| Smoke, Sanity, Regression veya E2E suite kompozisyonu oluşturur. |
| Gereksinim, modül, risk ve senaryo kapsamını raporlar. |
| QA-MCP -> Xray alan eşleme şablonunu döner. |
Resource'lar (Kaynaklar)
URI | Amaç |
| Kanonik QA-MCP test case standardı. |
| Lint kuralları, cezalar ve puanlama mantığı. |
| Xray mapping referans dokümantasyonu. |
| İyi/ideal örnek test case'ler. |
| Anti-pattern (hatalı) örnek test case'ler. |
Prompt'lar
Prompt | Amaç |
| LLM'i yapılandırılmış manuel test üretimine yönlendirir. |
| Mevcut havuzdan en uygun smoke suite seçimine yardımcı olur. |
| Kapsamlı negatif/uç durum senaryolarının üretilmesini sağlar. |
| 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 |
|
| Uygulama log seviyesi. |
|
| İ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:
USAGE.md: Detaylı kullanım örnekleri ve request payload'ları.
CONTRIBUTING.md: Katkı akışı ve kalite kontrolleri.
CHANGELOG.md: Sürüm ve değişiklik geçmişi.
docs/PUBLISHING.md: Paket ve release yayın süreci.
🗺️ 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 toolssuite.composeC
Test case listesinden Smoke/Regression/E2E suite oluşturur
| Name | Required | Description | Default |
|---|---|---|---|
| testcases | Yes | Test case listesi | |
| target | Yes | Suite tipi | |
| sprint | No | Sprint adı/numarası (opsiyonel) | |
| max_duration_minutes | No | Maksimum suite süresi (dakika) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| testcases | Yes | Test case listesi | |
| requirements | No | Kontrol edilecek gereksinim ID'leri | |
| modules | No | Kontrol edilecek modül listesi |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature açıklaması | |
| acceptance_criteria | Yes | Kabul kriterleri listesi | |
| module | No | Modül/bileşen adı (opsiyonel) | |
| risk_level | No | Risk seviyesi (default: medium) | |
| include_negative | No | Negatif senaryolar dahil mi (default: true) | |
| include_boundary | No | Boundary test önerileri dahil mi (default: true) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| testcase | Yes | Analiz edilecek test case | |
| include_improvement_plan | No | Öncelikli iyileştirme planı dahil mi (default: true) | |
| strict_mode | No | Daha katı kurallar uygula (default: false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| testcases | Yes | Analiz edilecek test case listesi | |
| strict_mode | No | Daha katı kurallar uygula |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Normalize edilecek test case (markdown, gherkin, json veya plain text) | |
| source_format | No | Kaynak format (default: auto) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| testcase | Yes | Dönüştürülecek test case | |
| project_key | Yes | Jira proje anahtarı (örn: PROJ) | |
| test_type | No | Xray test tipi (default: Manual) | |
| include_custom_fields | No | Custom field'ları dahil et (default: true) | |
| custom_field_mappings | No | Custom field ID eşlemeleri |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| testcases | Yes | Dönüştürülecek test case listesi | |
| project_key | Yes | Jira proje anahtarı | |
| test_type | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v1.0.0- First observed
suite.compose - First observed
suite.coverage_report - First observed
testcase.generate - First observed
testcase.lint - First observed
testcase.lint_batch - First observed
testcase.normalize - First observed
testcase.to_xray - First observed
testcase.to_xray_batch - First observed
xray.get_mapping_template
TDQS
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.
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.
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.
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
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
Manage test suites, run tests, view results, and automate QA workflows via AI with testRigor.
Test the voice agents you run: scored transcripts, pass/fail verdicts, latency and WER metrics.
Direct access to Cypress tests results and accessibility reports in your AI workflow.
Generates unit tests for Python code with coverage before/after reports and concrete edge cases.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables 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.11356MIT
- FlicenseAqualityDmaintenanceGenerates structured, comprehensive test cases from user stories, API specs, or raw text, with automatic Excel export and Playwright automation code generation.61-
- FlicenseNot gradedqualityBmaintenanceEnables 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.-
- AlicenseNot gradedqualityBmaintenanceEnables generation of test cases, edge cases, and test matrices for software testing, integrated with MCP protocol and EU AI Act compliance.4MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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