api-contract-validator
Cloudflare Workers MCP server: api-contract-validator
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen lint_api_schema
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"api-contract-validator": {
"url": "https://api.lazy-mac.com/api-contract-validator/mcp"
}
}
}Puntos de conexión remotos
https://api.lazy-mac.com/api-contract-validator/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
⚪validate_openapi_spec(spec, strict)
Validate an OpenAPI 3.x or AsyncAPI spec JSON. Returns structural errors, missing required fields, and warnings.
Esquema de entrada
{
"type": "object",
"properties": {
"spec": {
"type": "object",
"description": "OpenAPI or AsyncAPI spec as a JSON object"
},
"strict": {
"type": "boolean",
"description": "Treat warnings as errors (default: false)",
"default": false
}
},
"required": [
"spec"
]
}⚪diff_request_response(spec, request, response)
Compare a real HTTP request/response against an OpenAPI spec contract. Returns per-field violations.
Esquema de entrada
{
"type": "object",
"properties": {
"spec": {
"type": "object",
"description": "OpenAPI spec JSON object"
},
"request": {
"type": "object",
"description": "HTTP request to validate",
"properties": {
"method": {
"type": "string",
"description": "HTTP method"
},
"path": {
"type": "string",
"description": "Request path (e.g. /users/123)"
},
"body": {
"type": "object",
"description": "Request body"
},
"contentType": {
"type": "string",
"description": "Content-Type (default: application/json)"
},
"params": {
"type": "object",
"properties": {
"query": {
"type": "object"
},
"path": {
"type": "object"
}
}
}
},
"required": [
"method",
"path"
]
},
"response": {
"type": "object",
"description": "HTTP response to validate (optional)",
"properties": {
"statusCode": {
"type": "integer"
},
"body": {
"type": "object"
},
"contentType": {
"type": "string"
}
}
}
},
"required": [
"spec",
"request"
]
}⚪lint_api_schema(spec, rules)
Lint an API spec for quality and best practice compliance. Rules: operation-id-kebab-case, response-success-required, tags-defined, no-empty-description, security-defined.
Esquema de entrada
{
"type": "object",
"properties": {
"spec": {
"type": "object",
"description": "OpenAPI spec JSON object"
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Rules to apply (defaults to all)"
}
},
"required": [
"spec"
]
}⚪generate_mock_from_spec(spec, path, method, statusCode)
Generate mock response data from an OpenAPI spec. Uses examples, defaults, formats, and type heuristics.
Esquema de entrada
{
"type": "object",
"properties": {
"spec": {
"type": "object",
"description": "OpenAPI spec JSON object"
},
"path": {
"type": "string",
"description": "Target path (optional; generates all if omitted)"
},
"method": {
"type": "string",
"description": "HTTP method (used with path)"
},
"statusCode": {
"type": "string",
"description": "Response status code (default: 200)",
"default": "200"
}
},
"required": [
"spec"
]
}🟢check_breaking_changes(spec_old, spec_new)
Compare two OpenAPI spec versions to detect breaking changes: removed paths/operations, new required parameters, removed response codes, operationId renames.
Esquema de entrada
{
"type": "object",
"properties": {
"spec_old": {
"type": "object",
"description": "Previous spec version"
},
"spec_new": {
"type": "object",
"description": "New spec version"
}
},
"required": [
"spec_old",
"spec_new"
]
}Comunidad
Evidencia