Skip to content

An Model Context Protocol(MCP) server that generates comprehensive API test cases (positive, negative, edge cases) from endpoint metadata, powered by AI/LLMs

License

Mallikarjun-Roddannavar/ai-testcase-generator-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– AI Testcase Generator MCP

An Model Context Protocol(MCP) server that generates comprehensive API test plans (positive, negative, and boundary/edge cases) directly from endpoint metadataβ€”powered by LLMs.

This is a TypeScript-based Model Context Protocol(MCP) server for QA engineers. It demonstrates core Model Context Protocol concepts by providing:

  • AI-powered tool for generating exhaustive test case plans from API endpoints and payloads
  • Prompt-driven LLM integration for quality and coverage
  • Extensible structure for future automation tooling

✨ Features

  • πŸ”Œ MCP-compliant server (stdio transport).
  • πŸ“ Tool: generate_tests_excel
    • Input: endpoint, HTTP method, payload, extra context.
    • Input options:
      • Direct endpoint details: endpoint, HTTP method, payload
      • Use extraContext to provide any additional testing notes or constraints
    • OutputPut: πŸ“Š Excel test plan with columns: Sl no, Test Name, Pre-Condition, Steps, Expected Result.
  • 🧠 Prompt-driven test generation with configurable LLM (Groq, OpenAI, Anthropic).
  • πŸ“œ Detailed logging with Winston.

πŸ—οΈ Architecture

flowchart TD
    A[Claude / MCP Client] -->|Run Tool| B[MCP Server]
    B -->|Prompt| C[LLM API]
    C -->|Test Cases JSON| B
    B -->|Excel Export| D[(Test Plan .xlsx)]
    B -->|Logs| E[Server Log File]
Loading

πŸ“‚ Project Structure

ai-testcase-designer-mcp/
β”œβ”€β”€ build/                         # Compiled JavaScript output
β”œβ”€β”€ assets/                        # Demo gifs, images, and sample files
β”‚    β”œβ”€β”€ demo.gif
β”‚    β”œβ”€β”€ excel_preview.png
β”‚    └── sample_chat_message.txt
β”œβ”€β”€ configs/
β”‚    └── config.json               # Server/tool config
β”œβ”€β”€ src/
β”‚    β”œβ”€β”€ index.ts                  # Main server entry point (MCP interface & routing)
β”‚    β”œβ”€β”€ excel.ts                  # Excel file creation & writing logic (modular)
β”‚    β”œβ”€β”€ logger.ts                 # Winston logger configuration & log writing (modular)
β”‚    └── prompts/
β”‚         └── testcase_prompt.txt  # Prompt template for LLM-based test generation
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ README.md
└── .gitignore
  • src/excel.ts: Handles all Excel (.xlsx) file creation and test plan export (modularized).
  • src/logger.ts: Provides modular logging functionality across the MCP server using Winston.
  • src/prompts/: Contains prompt templates for LLM-driven test generation.
  • assets/: Demo GIFs, Excel sample preview, and chat prompt examples.

πŸŽ₯ Demo

Here’s the MCP generating test cases and exporting to Excel:

AI Testcase Designer Demo

πŸ” Excel Preview

Below is a quick preview of the generated test cases:

Excel Preview

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

βš™οΈ Installation

Follow these steps to set up the AI Testcase Designer MCP server locally:

  1. Clone the repository

    git clone https://github.com/yourusername/ai-testcase-designer-mcp.git
    cd ai-testcase-designer-mcp
  2. Install dependencies

    npm install
  3. Build the server

    npm run build
  4. Configure the server in your MCP client

    a. Claude Desktop or any MCP-compatible client

    • Add the following server configuration:

      • On MacOS:
        ~/Library/Application Support/Claude/claude_desktop_config.json

      • On Windows:
        %APPDATA%/Claude/claude_desktop_config.json

    {
      "mcpServers": {
        "ai-testcase-designer-mcp": {
          "disabled": false,
          "timeout": 60,
          "command": "node",
          "args": [
            "c:/Auto_WS/ai-testcase-designer-mcp/build/index.js"
          ],
          "transportType": "stdio"
        }
      }
    }

    b. Cline (VS Code Extension)

    You can also use the AI Testcase Designer MCP server with [Cline](https://cline.bot), the Model Context Protocol VS Code extension.

    Quick Start:

    1. Install Cline from the VS Code Marketplace.
    2. Open the Cline sidebar (from the VS Code activity bar).
    3. Go to the "MCP Servers" section and click "Add New MCP Server".
    4. Fill in the server details:
      {
        "mcpServers": {
          "ai-testcase-designer-mcp": {
            "disabled": false,
            "timeout": 60,
            "command": "node",
            "args": [
              "c:/Auto_WS/ai-testcase-designer-mcp/build/index.js"
            ],
            "transportType": "stdio"
          }
        }
      }
    5. Test the connection and save.

    For a visual step-by-step guide, see below:

    Cline MCP Server Add Steps

    Cline MCP Server Connection Success

    For detailed Cline guidance, see the official docs:
    cline.bot/getting-started/installing-cline#vs-code-marketplace%3A-step-by-step-setup

πŸ”‘ API Key & Work Directory Setup

To use the AI Testcase Designer MCP.

  1. Get your Groq API key from here for free: https://console.groq.com/keys
  2. A working directory (WORK_DIR) where generated Excel test plans and server logs will be saved.

Update your config.json file like this:

{
  "MODEL_API_KEY": "gsk_7Ma3Fabcd <your-api-key-here>",
  "WORK_DIR": "C:/Auto_WS/ai-testcase-designer-mcp"
}

How to Use

  1. πŸ–₯️ Open Claude Desktop (or any MCP-compatible client).
  2. πŸ“‚ Download Sample Chat Message: sample_chat_message.txt and copy its content.
  3. βœ‰οΈ Paste the content into the chat and send the message: the AI will generate detailed test cases in Excel format.
  4. πŸ’Ύ Generated Excel files and server logs are saved in your WORK_DIR folder.

▢️ Example Request

{
  "name": "generate_tests_excel",
  "arguments": {
    "endpoint": "https://api.example.com/v1/users",
    "method": "POST",
    "payload": {
      "name": "John Doe",
      "email": "john@example.com"
    },
    "extraContext": "Focus on invalid email and empty payload scenarios."
  }
}

πŸ“Š Example Excel Output

Sl no Test Name Pre-Condition Steps Expected Result
1 Valid User Create DB is empty Send POST with valid payload User created successfully
2 Missing Email DB is empty Send POST with name only 400 validation error
3 Invalid Email DB is empty Send POST with invalid email format 422 error message

πŸ“‚ Files Output

Files are written to: ./workdir/generated/


Sample Log Output

2025-09-13T10:22:11 [info]: [Step1] Incoming request: endpoint=/v1/users, method=POST
2025-09-13T10:22:11 [info]: [Step2] Building LLM prompt...
2025-09-13T10:22:13 [info]: [Step5] Converting LLM JSON to Excel rows (15 test cases)

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

License

This project is licensed under the MIT License.
See the LICENSE file for details.

About

An Model Context Protocol(MCP) server that generates comprehensive API test cases (positive, negative, edge cases) from endpoint metadata, powered by AI/LLMs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published