About @rog0x/mcp-testing-tools
@rog0x/mcp-testing-tools is a testing and QA MCP server for AI agents. It generates Jest or Vitest tests, mock data and API responses, and can analyze coverage and produce assertions.
Key features
- 01Generate tests from function signatures
- 02Create mock data in multiple types
- 03Build API responses from schemas
- 04Find untested functions and rank suggestions
- 05Compare values and generate assertions
Use cases
- 01Add boundary and error tests to functions
- 02Prepare mock records or API payloads
- 03Identify functions to prioritize for testing
- 04Turn expected and actual values into assertions
MCP support
The MCP server exposes tools for test generation, mock data, API mocking, coverage analysis, and assertion generation to AI agents.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| framework | enum | No | Test framework to generate for (default: vitest)jest | vitest |
| signature | string | Yes | The function signature to generate tests for, e.g. "export async function fetchUser(id: number): Promise<User>" |
| module_path | string | No | Import path for the module under test (default: "./module") |
Details
From the project README@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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.