api-contract-validator

Cloudflare Workers MCP server: api-contract-validator

사용해야 할까요

품질 및 안전성

A
설명 품질
94%
스키마 완전성
100%
이름 품질
92%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'lint_api_schema' description lacks action verblint_api_schema에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~608토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
최소한의 주의 영향 (128k 컨텍스트의 0.47%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "api-contract-validator": {
      "url": "https://api.lazy-mac.com/api-contract-validator/mcp"
    }
  }
}

원격 엔드포인트

https://api.lazy-mac.com/api-contract-validator/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪validate_openapi_spec(spec, strict)

Validate an OpenAPI 3.x or AsyncAPI spec JSON. Returns structural errors, missing required fields, and warnings.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "type": "object",
  "properties": {
    "spec_old": {
      "type": "object",
      "description": "Previous spec version"
    },
    "spec_new": {
      "type": "object",
      "description": "New spec version"
    }
  },
  "required": [
    "spec_old",
    "spec_new"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개
검증됨버전이 기록되지 않음도구 5개