Skip to main content
Glama
anhpdhe171578

MCP Test Case Generator

MCP Test Case Generator

MCP Server for generating structured, comprehensive test cases that QA teams can use immediately in TestRail, Jira, Xray, or other test management tools.

🎯 Mục tiêu

Tạo test case chuẩn, có cấu trúc, copy-paste là dùng được cho tester, không phải dạng mô tả chung chung.

Related MCP server: Decide Test MCP

✨ Đặc điểm nổi bật

🔧 Input chuẩn hóa

Chấp nhận 3 loại input và tự động chuẩn hóa:

  1. User Story

    "As a user I want to login so that I can access dashboard"
  2. API Spec

    {
      "endpoint": "/login",
      "method": "POST", 
      "request": {"username": "string", "password": "string"}
    }
  3. Raw Text

    "Login functionality with username and password validation"

📁 File Reading Capabilities (NEW!)

MCP server giờ có thể đọc trực tiếp từ local filesystem:

6 Tools Available:

  1. generate_test_cases - Generate từ input text/object

  2. read_requirement_file - Đọc file requirement từ local

  3. scan_requirement_directory - Quét thư mục tìm requirement files

  4. generate_test_cases_from_file - Đọc file và generate test cases

  5. export_to_excel - Export test cases sang file Excel (.xlsx)

  6. generate_automation_tests - Generate automation test code (Playwright) (NEW!)

Supported File Formats:

  • Markdown (.md, .markdown)

  • Text (.txt, .text)

  • JSON (.json) - API specs, configurations

  • YAML (.yml, .yaml) - Config files

  • Word (.doc, .docx) - Requirement documents

  • PDF (.pdf) - Requirement specifications

📋 Output JSON cố định

Mỗi test case có đủ các field bắt buộc:

{
  "id": "TC_LOGIN_001",
  "title": "Login with valid credentials",
  "type": "positive",
  "precondition": "User has valid account",
  "steps": [
    "Open login page",
    "Enter valid username", 
    "Enter valid password",
    "Click Login"
  ],
  "expected_result": "User is redirected to dashboard",
  "test_data": {"username": "valid_user", "password": "valid_pass"},
  "priority": "High"
}

🎯 4 nhóm test bắt buộc

  • Positive: Test happy path (tối thiểu 3 test cases)

  • Negative: Test error handling (tối thiểu 3 test cases)

  • Boundary: Test giới hạn (tối thiểu 3 test cases)

  • Edge: Test trường hợp đặc biệt (tối thiểu 3 test cases)

🚀 Cài đặt

# Clone hoặc download project
cd mcp-test-case-generator

# Install dependencies
npm install

# Start server
npm start

📖 Cách sử dụng

1. Cấu hình MCP Client

Thêm vào MCP client config:

{
  "mcpServers": {
    "test-case-generator": {
      "command": "node",
      "args": ["path/to/mcp-test-case-generator/index.js"]
    }
  }
}

2. Sử dụng Tools

Method 1: Direct Input (Auto Excel Export - NEW DEFAULT!)

{
  "input": "As a user I want to login so that I can access dashboard",
  "auto_export_excel": true,
  "excel_path": "./test-cases-auto.xlsx"
}

🎉 NEW DEFAULT: Auto Excel Export enabled! Test cases sẽ tự động được export sang Excel file.

Method 2: Read from File (NEW!)

{
  "file_path": "requirements/login-user-story.md"
}

Method 3: Scan Directory (NEW!)

{
  "directory_path": "./requirements",
  "extensions": [".md", ".json", ".txt"]
}

Method 4: Generate from File (NEW!)

{
  "file_path": "api-specs/login-api.json"
}

Method 5: Export to Excel (NEW!)

{
  "test_cases": {
    "positive": [...],
    "negative": [...],
    "boundary": [...],
    "edge": [...]
  },
  "output_path": "./test-cases.xlsx"
}

Method 6: Generate Automation Tests (NEW!)

{
  "test_cases": {
    "positive": [...],
    "negative": [...],
    "boundary": [...],
    "edge": [...]
  },
  "framework": "playwright",
  "language": "javascript",
  "base_url": "https://example.com"
}

3. Example Usage in Claude Desktop

"Read the login requirements file and generate test cases"
→ MCP sẽ tự động: scan → read → generate

"Scan my requirements directory and list all files"
→ MCP sẽ hiển thị danh sách file có thể xử lý

"Generate test cases from this API spec file: ./api/login.json"
→ MCP sẽ đọc file và generate test cases

"Export the generated test cases to Excel file"
→ MCP sẽ tạo file Excel với format chuẩn

"Generate test cases from requirements and export to Excel"
→ MCP sẽ generate và export trong 1 bước

"Generate test cases from this requirement"
→ MCP sẽ generate test cases VÀ tự động export Excel

"Generate test cases but disable Excel export"
→ MCP chỉ generate test cases, không export Excel

"Generate test cases and save to custom Excel path"
→ MCP sẽ generate và export đến file chỉ định

"Generate automation tests from the test cases"
→ MCP sẽ tạo Playwright test code sẵn sàng chạy

4. Output structure

{
  "success": true,
  "file_info": {
    "path": "/path/to/file.md",
    "type": "markdown",
    "extension": ".md",
    "size": 500
  },
  "input_type": "user_story",
  "validation": {
    "isValid": true,
    "errors": []
  },
  "test_cases": {
    "positive": [...],
    "negative": [...], 
    "boundary": [...],
    "edge": [...]
  },
  "summary": {
    "total_cases": 12,
    "by_section": {
      "positive": 3,
      "negative": 3,
      "boundary": 3,
      "edge": 3
    }
  }
}

🧠 QA Assumptions

Khi requirement không rõ ràng, server tự động áp dụng quy tắc QA chuẩn:

String fields

  • Max length: 255 characters

  • Min length: 1 character

  • Invalid formats: <script>, SQL injection, etc.

Number fields

  • Min: 0

  • Max: 999999

  • Invalid: -1, 999999999

Required fields

  • Test với null values

  • Test với empty strings

  • Test với missing fields

✅ Validation

Server tự động validate output:

  • Đủ 4 nhóm test

  • Mỗi nhóm có tối thiểu 3 test cases

  • Đủ các field bắt buộc

  • Steps không được trống

Nếu validation fail → server báo lỗi chi tiết.

🎯 Best Practices

Steps writing

  • 1 step = 1 action cụ thể

  • Dùng verb bắt đầu: "Enter", "Click", "Verify", "Navigate"

  • Tránh từ mơ hồ: "successfully", "correctly", "as expected"

Expected Results

  • 1 expected = 1 kết quả quan sát được

  • Dùng measurable language: "User is redirected to", "Error message displays", "Status code is 200"

Test Data

  • Cung cấp data cụ thể cho từng test case

  • Boundary tests: min/max values

  • Negative tests: invalid data types

🔄 Integration

TestRail

Copy-paste test case vào TestRail với format:

  • Title: test_case.title

  • Type: test_case.type

  • Priority: test_case.priority

  • Precondition: test_case.precondition

  • Steps: test_case.steps (mỗi step = 1 row)

  • Expected Result: test_case.expected_result

  • Test Data: test_case.test_data

Jira/Xray

Tương tự TestRail, có thể import qua CSV format.

📊 Excel Export (NEW!)

Export test cases sang file Excel với format chuẩn:

Excel Columns:

  • Test Case ID: Unique identifier (TC_LOGIN_001)

  • Title: Test case description

  • Type: positive/negative/boundary/edge

  • Priority: High/Medium/Low

  • Precondition: Conditions before test

  • Steps: Test steps (newline separated)

  • Expected Result: Expected outcome

  • Test Data: Test data in JSON format

  • Section: Test case category

Features:

  • Auto column widths cho readability

  • Structured format ready for import

  • All 4 test sections trong 1 sheet

  • JSON test data preserved

  • Professional formatting

🚀 Auto Excel Export (NEW DEFAULT!)

Tính năng mới: Tự động export Excel khi generate test cases!

Default Behavior

  • Auto Export: ENABLED theo mặc định

  • File Path: ./test-cases-auto.xlsx

  • Format: 9 columns với professional formatting

Usage Options

1. Auto Export (Default)

{
  "input": "As a user I want to login",
  // auto_export_excel: true (mặc định)
  // excel_path: "./test-cases-auto.xlsx" (mặc định)
}

2. Disable Auto Export

{
  "input": "As a user I want to login",
  "auto_export_excel": false
}

3. Custom Excel Path

{
  "input": "As a user I want to login",
  "excel_path": "./custom-test-cases.xlsx"
}

Output Structure (Updated)

{
  "success": true,
  "input_type": "user_story",
  "validation": { "isValid": true, "errors": [] },
  "test_cases": { ... },
  "excel_export": {
    "success": true,
    "path": "./test-cases-auto.xlsx",
    "total_cases": 12,
    "file_size": 20480
  },
  "auto_export_enabled": true,
  "summary": { ... }
}

Benefits

  • Zero configuration - Auto export sẵn có

  • One-step workflow - Generate + Export trong 1 call

  • Customizable - Có thể disable hoặc thay đổi path

  • Error handling - Excel export không ảnh hưởng đến test case generation

🤖 Automation Test Generation (NEW!)

Generate automation test code từ test cases với Playwright:

Supported Frameworks

  • Playwright + JavaScript (hiện tại)

  • Sắp tới: Cypress, Selenium WebDriver

Generated Code Features

  • Smart step conversion - Tự động chuyển test steps thành Playwright commands

  • Test data substitution - Tự động sử dụng test data từ test cases

  • Custom helpers - Login, toast verification, dashboard waiting

  • Data-testid selectors - Best practice cho stable selectors

  • Comprehensive assertions - Mọi expected result được convert thành assertions

Sample Generated Test

test('Login with valid credentials', async ({ page }) => {
  // Step 1: Open login page
  await page.goto('/login');
  
  // Step 2: Enter valid username
  await page.fill('[data-testid="username"]', 'valid_user');
  
  // Step 3: Enter valid password
  await page.fill('[data-testid="password"]', 'valid_pass');
  
  // Step 4: Click Login
  await page.click('[data-testid="login-button"]');
  
  // Expected Result: User is redirected to dashboard
  await helpers.waitForDashboard(page);
});

Usage

  1. Generate test cases từ requirements

  2. Generate automation tests từ test cases

  3. Install dependencies: npm install @playwright/test

  4. Run tests: npx playwright test

Output Structure

{
  "framework": "playwright",
  "language": "javascript",
  "base_url": "https://example.com",
  "dependencies": ["@playwright/test"],
  "setup": "// Playwright configuration...",
  "tests": {
    "positive": [...],
    "negative": [...],
    "boundary": [...],
    "edge": [...]
  }
}

🐛 Troubleshooting

Common Issues

  1. "Missing required fields" → Kiểm tra input có đủ thông tin

  2. "Invalid input type" → Input không phải string/object hợp lệ

  3. "Validation failed" → Output không đủ yêu cầu QA

  4. "File not found" → Kiểm tra path và permissions

  5. "Unsupported file type" → Check supported formats

  6. "Excel export failed" → Kiểm tra write permissions và disk space

  7. "Automation generation failed" → Kiểm tra test case structure và steps format

Debug Mode

Server logs errors to stderr, check console output.

📈 Performance

  • Processing time: < 1s cho input thông thường

  • Memory usage: < 50MB

  • Output size: ~10-50KB JSON

  • File reading: < 100ms cho files < 1MB

  • Excel export: < 500ms cho 50 test cases

  • Automation generation: < 200ms cho 20 test cases

🤝 Contributing

  1. Fork project

  2. Create feature branch

  3. Add test cases cho new feature

  4. Submit PR

📄 License

MIT License


Made with ❤️ for QA Teams

Available Tools

6 tools
export_to_excelB

Export generated test cases to Excel file (.xlsx format)

ParametersJSON Schema
NameRequiredDescriptionDefault
test_casesYesTest cases object with positive, negative, boundary, edge arrays
output_pathYesOutput Excel file path (e.g., ./test-cases.xlsx)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description alone must disclose behavioral traits. It only states the output format, omitting details like whether it overwrites files, error handling, or how the test_cases object is processed. This leaves significant gaps for a file-writing operation.

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, concise sentence that efficiently conveys the core purpose. It is front-loaded with the action and result, with no redundant words.

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 output schema and no annotations, the description is too minimal. It does not explain what the function returns (if anything), error behavior, or file path handling. For an export tool with parameters, 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% with both parameters described in the schema. The description does not add extra meaning beyond the schema, so baseline 3 is appropriate. It does not elaborate on the Excel structure or constraints.

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

Purpose5/5

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

The description clearly states the tool exports generated test cases to an Excel file (.xlsx format), with a specific verb 'export' and resource 'test cases'. It distinguishes itself from sibling tools like generate_test_cases and read_requirement_file, which focus on creation or reading.

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. There are no mentions of prerequisites, when to export, or when not to use it (e.g., for other formats). The description is purely declarative.

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

generate_automation_testsB

Generate automation test code from test cases (supports Playwright)

ParametersJSON Schema
NameRequiredDescriptionDefault
base_urlNoBase URL for tests (e.g., https://example.com)https://example.com
languageNoProgramming language (currently supports JavaScript)javascript
frameworkNoAutomation framework (currently supports Playwright)playwright
test_casesYesTest cases object with positive, negative, boundary, edge arrays

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. The description only mentions Playwright support, but fails to disclose critical behaviors like output format (returned vs saved), error handling, or prerequisites. A code generation tool needs more 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?

Single sentence, front-loaded, efficient. However, it could include more detail without harming 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 4 parameters, nested objects, no output schema, and no annotations, the description is incomplete. It doesn't explain what the tool returns, how to handle output, or any constraints.

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 coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. For example, test_cases object structure is not elaborated.

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

Purpose5/5

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

The name and description clearly state the tool generates automation test code from test cases, specifying Playwright support. It distinguishes from siblings like generate_test_cases (which likely generates test cases) and export_to_excel.

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

Usage Guidelines3/5

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

The description implies usage when you have test cases and want automation code, but lacks explicit when-to-use, when-not-to-use, or mention of alternatives like generate_test_cases first.

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

generate_test_casesA

Generate comprehensive test cases from requirements, user stories, or API specs (with auto Excel export)

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesInput can be: User Story text, API spec object, or raw requirement text
excel_pathNoExcel file output path (default: ./test-cases-auto.xlsx)./test-cases-auto.xlsx
auto_export_excelNoAutomatically export test cases to Excel file (default: true)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions 'auto Excel export' but does not specify side effects (e.g., file overwriting), permissions needed, error handling, or output format. The tool likely creates files, but this is not transparent.

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 packs key information (input types, auto export) without unnecessary words. It could be slightly more structured (e.g., bullet points), but it is efficient for its length.

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?

There is no output schema, so the description should explain what the tool returns (e.g., test case objects) or its effect. It only mentions auto Excel export but omits return value, making it incomplete for an agent to understand the full outcome.

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?

Schema coverage is 100%, but the description adds value by clarifying that the 'input' parameter can be User Story text, API spec object, or raw requirement text, and hints at the auto_export_excel parameter. This goes beyond the schema's 'string or object' description.

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

Purpose5/5

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

The description clearly states the tool generates test cases and specifies input types (requirements, user stories, API specs). It distinguishes from siblings like export_to_excel and generate_test_cases_from_file by mentioning auto Excel export and multiple input formats.

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

Usage Guidelines3/5

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

The description implies usage when you have requirements, user stories, or API specs but lacks explicit when-not-to-use guidance or references to alternatives like generate_automation_tests for automated scripts or generate_test_cases_from_file for file-based input.

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

generate_test_cases_from_fileB

Read requirement file and generate test cases from its content

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to requirement file

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the action without mentioning side effects, error conditions (e.g., missing file), or whether the tool modifies any state. For a generation tool, it should clarify that it creates test cases but does not alter the input file.

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 one sentence with no extraneous words. However, it could be slightly expanded to include additional context without becoming verbose.

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 low complexity (1 param, no output schema, no annotations), the description should at least hint at the return format or any prerequisites. It only describes the action, leaving the agent guessing about what the tool returns or what file formats are supported.

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% for the single parameter 'file_path', which already has a description. The tool description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's action: 'Read requirement file and generate test cases from its content'. It specifies the resource (requirement file) and the verb (read and generate), which distinguishes it from sibling tools like 'read_requirement_file' (read only) and 'generate_test_cases' (likely without file input).

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. Sibling tools include 'generate_test_cases' and 'read_requirement_file', but the description does not explain the appropriate context (e.g., use this when you have a file path, use 'generate_test_cases' when no file is involved).

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

read_requirement_fileB

Read requirement file from local filesystem (supports .md, .txt, .json, .yml, .yaml, .doc, .docx, .pdf)

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to requirement file (relative or absolute)

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It implies a read-only operation but does not explicitly confirm no side effects, nor does it mention file size limits, encoding, or error behavior. The listed formats add some context.

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?

Single, concise sentence that front-loads the action and resource, then lists supported formats. No superfluous content.

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

Completeness3/5

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

For a simple read tool, the description covers the main purpose and supported formats. However, it does not specify the return type or content (e.g., whether it returns raw text or a structured object), which could be helpful since there is no output schema.

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 schema covers 100% of parameters, and the description adds meaning by listing supported file extensions and noting paths can be relative or absolute, which is beyond the schema's 'Path to requirement file' description.

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 it reads requirement files from the filesystem and lists supported formats. It is specific about the resource (requirement files) and action (read), but lacks explicit differentiation from sibling tools like 'scan_requirement_directory'.

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 like 'scan_requirement_directory'. It does not specify prerequisites or situations where this tool is preferred.

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

scan_requirement_directoryB

Scan directory for requirement files and list them

ParametersJSON Schema
NameRequiredDescriptionDefault
extensionsNoFile extensions to scan for (default: .md, .txt, .json, .yml, .yaml, .doc, .docx, .pdf)
directory_pathYesPath to directory containing requirement files

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full burden. It only states the basic action without explaining whether the scan is recursive, what permissions are needed, or if there are any side effects. The behavior beyond listing is unclear.

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, concise sentence that directly conveys the purpose. It is front-loaded but could potentially include more detail without becoming verbose.

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 simplicity (2 parameters, no output schema), the description is minimally complete. However, it does not describe the output format, whether the scan recurses into subdirectories, or any other behavioral details. This lack of completeness may lead to incorrect agent usage.

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%, and both parameters have descriptions. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action 'scan', the resource 'directory for requirement files', and the output 'list them'. It distinguishes itself from siblings like read_requirement_file, which reads a specific file, and export_to_excel, which exports data.

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 vs. alternatives. The sibling tools are listed but no criteria for selection or situations to avoid are provided.

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

Tool Schema Changelog

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

  1. 6 tool updatesv1.0.0
    • First observedexport_to_excel
    • First observedgenerate_automation_tests
    • First observedgenerate_test_cases
    • First observedgenerate_test_cases_from_file
    • First observedread_requirement_file
    • First observedscan_requirement_directory

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation4/5

Tools are mostly distinct, but generate_test_cases and generate_test_cases_from_file have overlapping purposes, though descriptions clarify the difference. The export_to_excel tool may be redundant if generate_test_cases auto-exports.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores, making them predictable and easy to understand.

Tool Count5/5

With 6 tools, the set is well-scoped for a test case generator, covering file reading, generation, export, and automation code generation without overloading.

Completeness4/5

Core workflow of reading requirements, generating test cases, exporting to Excel, and generating automation tests is covered. Minor gaps like specifying output paths or managing in-memory test cases are absent but not critical.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers