@rog0x/mcp-testing-tools

by rog0x

124 downloads
Not rated
GitHub

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

Author
rog0x
Downloads
124
Categories
Developer Tools

- 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

Install via npm (npm install, npm run build), then configure in Claude Desktop's claude_desktop_config.json with the command node and arguments pointing to the built dist/index.js. Once configured, an MCP client like Claude Desktop can invoke the provided tools.

@rog0x/mcp-testing-tools

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.