MCP 서버

api-contract-validator

io.github.lazymac2x/api-contract-validator
개발자 도구 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Validates, lints, compares, and generates mock data from OpenAPI and AsyncAPI contracts.

check_breaking_changes
Compare two OpenAPI spec versions to detect breaking changes: removed paths/operations, new required parameters, removed response codes, operationId renames.
입력 스키마
{'type': 'object', 'required': ['spec_old', 'spec_new'], 'properties': {'spec_new': {'type': 'object', 'description': 'New spec version'}, 'spec_old': {'type': 'object', 'description': 'Previous spec version'}}}
diff_request_response
Compare a real HTTP request/response against an OpenAPI spec contract. Returns per-field violations.
입력 스키마
{'type': 'object', 'required': ['spec', 'request'], 'properties': {'spec': {'type': 'object', 'description': 'OpenAPI spec JSON object'}, 'request': {'type': 'object', 'required': ['method', 'path'], 'properties': {'body': {'type': 'object', 'description': 'Request body'}, 'path': {'type': 'string', 'description': 'Request path (e.g. /users/123)'}, 'method': {'type': 'string', 'description': 'HTTP method'}, 'params': {'type': 'object', 'properties': {'path': {'type': 'object'}, 'query': {'type': 'object'}}}, 'contentType': {'type': 'string', 'description': 'Content-Type (default: application/json)'}}, 'description': 'HTTP request to validate'}, 'response': {'type': 'object', 'properties': {'body': {'type': 'object'}, 'statusCode': {'type': 'integer'}, 'contentType': {'type': 'string'}}, 'description': 'HTTP response to validate (optional)'}}}
generate_mock_from_spec
Generate mock response data from an OpenAPI spec. Uses examples, defaults, formats, and type heuristics.
입력 스키마
{'type': 'object', 'required': ['spec'], 'properties': {'path': {'type': 'string', 'description': 'Target path (optional; generates all if omitted)'}, 'spec': {'type': 'object', 'description': 'OpenAPI spec JSON object'}, 'method': {'type': 'string', 'description': 'HTTP method (used with path)'}, 'statusCode': {'type': 'string', 'default': '200', 'description': 'Response status code (default: 200)'}}}
lint_api_schema
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.
입력 스키마
{'type': 'object', 'required': ['spec'], 'properties': {'spec': {'type': 'object', 'description': 'OpenAPI spec JSON object'}, 'rules': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rules to apply (defaults to all)'}}}
validate_openapi_spec
Validate an OpenAPI 3.x or AsyncAPI spec JSON. Returns structural errors, missing required fields, and warnings.
입력 스키마
{'type': 'object', 'required': ['spec'], 'properties': {'spec': {'type': 'object', 'description': 'OpenAPI or AsyncAPI spec as a JSON object'}, 'strict': {'type': 'boolean', 'default': False, 'description': 'Treat warnings as errors (default: false)'}}}
추가됨
check_breaking_changes
2026년 9월 17일 12:43 PM
추가됨
generate_mock_from_spec
2026년 9월 17일 12:43 PM
추가됨
lint_api_schema
2026년 9월 17일 12:43 PM
추가됨
diff_request_response
2026년 9월 17일 12:43 PM
추가됨
validate_openapi_spec
2026년 9월 17일 12:43 PM