api-contract-validator

Cloudflare Workers MCP server: api-contract-validator

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
100%
Naming quality
92%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'lint_api_schema' description lacks action verbin lint_api_schema

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~608Tokens (tool definitions)
~1.1 KBTypical response size
Minimal attention impact (0.47% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

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

Remote endpoints

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

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪validate_openapi_spec(spec, strict)

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

Input Schema

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

Input Schema

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

Input Schema

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

Input Schema

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

Input Schema

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

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools