{
  "markdown": "\n# @rog0x/mcp-testing-tools\n\nTesting and quality assurance tools for AI agents, exposed via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/).\n\n## Tools\n\n### generate_tests\n\nGenerate test cases from a function signature. Produces four categories of tests as ready-to-run Jest or Vitest code:\n\n- **Happy path** -- valid inputs, expected outputs\n- **Edge cases** -- empty strings, zero values, null parameters\n- **Error cases** -- missing arguments, wrong types\n- **Boundary values** -- extreme numbers, large arrays, NaN\n\n**Parameters:**\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `signature` | string | Yes | Function signature, e.g. `async function fetchUser(id: number): Promise<User>` |\n| `framework` | string | No | `jest` or `vitest` (default: `vitest`) |\n| `module_path` | string | No | Import path for the module under test (default: `./module`) |\n\n### generate_mock_data\n\nGenerate realistic mock data for testing. Supported types:\n\n`name`, `email`, `address`, `date`, `uuid`, `phone`, `company`, `credit_card`, `ip`\n\n**Parameters:**\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `type` | string | Yes | Data type to generate |\n| `count` | number | No | Number of items (default: 10, max: 1000) |\n| `locale` | string | No | `en` or `es` (default: `en`) |\n| `types` | string[] | No | Generate mixed records with multiple field types |\n\n### generate_api_mock\n\nGenerate mock API responses from a schema definition. Creates realistic JSON payloads for REST endpoints by inferring values from field names and types.\n\n**Parameters:**\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `endpoint` | string | Yes | API endpoint path |\n| `method` | string | No | HTTP method (default: `GET`) |\n| `fields` | object[] | Yes | Field schemas with `name`, `type`, optional `items`, `fields`, `nullable`, `enum` |\n| `count` | number | No | Number of records (default: 1, max: 100) |\n| `status_code` | number | No | HTTP status code (default: 200) |\n| `wrap_in_envelope` | boolean | No | Wrap in `{ success, data, meta }` (default: true) |\n\n### analyze_test_coverage\n\nAnalyze source code and test code to find untested functions. Prioritizes suggestions by:\n\n- Export status (public API surface)\n- Cyclomatic complexity estimate\n- Parameter count\n- Async functions (more error paths)\n\n**Parameters:**\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `source_code` | string | Yes | Source code to analyze |\n| `test_code` | string | Yes | Existing test code |\n| `source_file_name` | string | No | Filename label (default: `source.ts`) |\n\n### generate_assertions\n\nGenerate detailed assertion code by comparing expected and actual values. Performs deep diff and produces per-field assertions with descriptive comments.\n\n**Parameters:**\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `expected` | string | Yes | Expected value as JSON string |\n| `actual` | string | Yes | Actual value as JSON string |\n| `label` | string | No | Description for the comparison |\n| `framework` | string | No | `jest`, `vitest`, or `chai` (default: `jest`) |\n| `deep` | boolean | No | Deep equality for objects/arrays (default: true) |\n\n## Setup\n\n```bash\nnpm install\nnpm run build\n```\n\n## Usage with Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"testing-tools\": {\n      \"command\": \"node\",\n      \"args\": [\"path/to/mcp-testing-tools/dist/index.js\"]\n    }\n  }\n}\n```\n\n## License\n\nMIT\n",
  "bytes": 3600,
  "sha": "0b406c4631129f52ddd5f2fe7d522789356f564087cbb5b6f8c85565cca254ab",
  "repo_slug": "rog0x/mcp-testing-tools",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_rog0x_testing_7f525ca5/readme"
}