Server data from the Official MCP Registry
MCP server for deterministic mock generation and API contract scaffolding using Zod schemas
MCP server for deterministic mock generation and API contract scaffolding using Zod schemas
A well-structured MCP server for Zod schema testing with clean separation of concerns and proper input validation. No authentication is required (appropriate for developer tools), and the server's permissions align with its purpose: file I/O for schema analysis, limited subprocess execution (git), and deterministic mock generation. One moderate-severity finding regarding unsanitized git commands in schema evolution features warrants attention, but the overall codebase is secure and maintainable. Package verification found 1 issue.
4 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-vola-trebla-zod-contract-mock-forge-mcp": {
"args": [
"-y",
"zod-contract-mock-forge-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
An MCP server that turns Zod schemas into mocks, violations, and contract tests — so your AI agent can reason about API contracts without manually crafting payloads.
Zod schemas are runtime code. An AI agent cannot execute them, introspect their constraints, or generate valid/invalid payloads without this layer. The agent also cannot detect when the schema and the OpenAPI docs silently diverged, or whether a schema change breaks existing test fixtures.
| Tool | Arguments | What it returns |
|---|---|---|
generate_valid_mock | schema_code, count? | Valid mock data matching the schema |
generate_mock_variants | schema_code, count?, seed? | N structurally valid but value-diverse mocks — for property-based testing |
| Tool | Arguments | What it returns |
|---|---|---|
generate_boundary_violations | schema_code | Invalid payloads for each constraint: missing fields, type mismatches, min/max, email/uuid/url |
generate_exhaustive_union_violations | schema_code | Per-variant violations for every branch of a z.union() or z.discriminatedUnion() |
| Tool | Arguments | What it returns |
|---|---|---|
introspect_schema | schema_code | JSON Schema representation — for LLM understanding of the contract |
read_schema_from_file | file_path, export_name? | Extracts the Zod schema expression from a TypeScript/JS file |
detect_schema_drift | zod_file_path, schema_export_name, openapi_file_path, openapi_schema_name? | Diffs Zod vs OpenAPI — reports missing_in_openapi, missing_in_zod, type_conflict, required_mismatch |
evaluate_schema_evolution | schema_file_path, schema_export_name, old_schema_content? | Generates mocks from old schema, validates against new — detects breaking changes before tests run |
| Tool | Arguments | What it returns |
|---|---|---|
scaffold_api_contract_test | framework, base_url, endpoint, method, schema_code, test_name? | Contract test boilerplate for Playwright, Jest, Vitest, or MSW |
suggest_contract_fix | schema_code, payload | Validates a JSON payload and explains each violation with a fix suggestion |
npm install -g zod-contract-mock-forge-mcp
.cursor/mcp.json or .vscode/mcp.json){
"mcpServers": {
"zod-forge": {
"command": "zod-contract-mock-forge-mcp"
}
}
}
claude mcp add zod-forge zod-contract-mock-forge-mcp
My schema file is src/schemas/user.ts, exported as UserSchema.
My OpenAPI spec is docs/openapi.yaml.
1. introspect_schema — what are the constraints on this schema?
2. generate_mock_variants — give me 10 diverse valid payloads (seed: 42) for CI reproducibility
3. generate_exhaustive_union_violations — test every branch of the role discriminated union
4. detect_schema_drift — has the Zod schema diverged from the OpenAPI docs?
5. evaluate_schema_evolution — does my schema change break any existing mock data?
generate_mock_variants — 3 diverse valid mocks, seeded for CI:
{
"schema_id": "schema_a1b2c3d4",
"count": 3,
"all_valid": true,
"variants": [
{ "name": "Colleen Rowe", "age": 37 },
{ "name": "Pat Reynolds", "age": 24 },
{ "name": "Veronica Konopelski", "age": 45 }
]
}
detect_schema_drift — field missing in OpenAPI, extra field in Zod:
{
"drift_count": 2,
"drifts": [
{
"field_path": "role",
"drift_type": "missing_in_openapi",
"zod_value": "string",
"openapi_value": null
},
{
"field_path": "email",
"drift_type": "missing_in_zod",
"zod_value": null,
"openapi_value": "string"
}
]
}
evaluate_schema_evolution — new required field breaks existing mocks:
{
"breaking_change": true,
"sample_count": 20,
"invalid_mock_count": 20,
"failure_reasons": [
{
"field_path": "status",
"zod_code": "invalid_type",
"expected": "string",
"received": "undefined",
"affected_mock_count": 20
}
]
}
npm run build # compile TypeScript → dist/
npm run lint # ESLint
npm run format # Prettier --write
npm run format:check # Prettier check (used in CI)
npm test # Vitest
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.