@rog0x/mcp-testing-tools

by rog0x

182 downloads Not rated yet MIT

About

MCP server for testing: generate test cases, create mock data, mock API responses, analyze test coverage, generate assertions Install: npx @rog0x/mcp-testing-tools

Details

License
MIT

Explore

- Generate test cases from function signatures (Jest/Vitest)
- Create realistic mock data for common types (name, email, etc.)
- Mock REST API responses from schema definitions
- Analyze source code and tests for untested functions
- Generate assertion code by deep-diffing expected vs actual values

npm install
npm run build

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "testing-tools": {
      "command": "node",
      "args": ["path/to/mcp-testing-tools/dist/index.js"]
    }
  }
}

Testing and quality assurance tools for AI agents, exposed via the Model Context Protocol (MCP).

Testing and quality assurance tools for AI agents, exposed via the Model Context Protocol (MCP).

Tools

generate_tests

Generate test cases from a function signature. Produces four categories of tests as ready-to-run Jest or Vitest code:

- Happy path -- valid inputs, expected outputs
- Edge cases -- empty strings, zero values, null parameters
- Error cases -- missing arguments, wrong types
- Boundary values -- extreme numbers, large arrays, NaN

Parameters:

| Name | Type | Required | Description |
|------|------|----------|-------------|
| signature | string | Yes | Function signature, e.g. async function fetchUser(id: number): Promise<User> |
| framework | string | No | jest or vitest (default: vitest) |
| module_path | string | No | Import path for the module under test (default: ./module) |

generate_mock_data

Generate realistic mock data for testing. Supported types:

name, email, address, date, uuid, phone, company, credit_card, ip

Parameters:

| Name | Type | Required | Description |
|------|------|----------|-------------|
| type | string | Yes | Data type to generate |
| count | number | No | Number of items (default: 10, max: 1000) |
| locale | string | No | en or es (default: en) |
| types | string[] | No | Generate mixed records with multiple field types |

generate_api_mock

Generate mock API responses from a schema definition. Creates realistic JSON payloads for REST endpoints by inferring values from field names and types.

Parameters:

| Name | Type | Required | Description |
|------|------|----------|-------------|
| endpoint | string | Yes | API endpoint path |
| method | string | No | HTTP method (default: GET) |
| fields | object[] | Yes | Field schemas with name, type, optional items, fields, nullable, enum |
| count | number | No | Number of records (default: 1, max: 100) |
| status_code | number | No | HTTP status code (default: 200) |
| wrap_in_envelope | boolean | No | Wrap in { success, data, meta } (default: true) |

analyze_test_coverage

Analyze source code and test code to find untested functions. Prioritizes suggestions by:

- Export status (public API surface)
- Cyclomatic complexity estimate
- Parameter count
- Async functions (more error paths)

Parameters:

| Name | Type | Required | Description |
|------|------|----------|-------------|
| source_code | string | Yes | Source code to analyze |
| test_code | string | Yes | Existing test code |
| source_file_name | string | No | Filename label (default: source.ts) |

generate_assertions

Generate detailed assertion code by comparing expected and actual values. Performs deep diff and produces per-field assertions with descriptive comments.

Parameters:

| Name | Type | Required | Description |
|------|------|----------|-------------|
| expected | string | Yes | Expected value as JSON string |
| actual | string | Yes | Actual value as JSON string |
| label | string | No | Description for the comparison |
| framework | string | No | jest, vitest, or chai (default: jest) |
| deep | boolean | No | Deep equality for objects/arrays (default: true) |

Setup

npm install
npm run build

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "testing-tools": {
      "command": "node",
      "args": ["path/to/mcp-testing-tools/dist/index.js"]
    }
  }
}

License

MIT

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.