Cloudflare Workers MCP server: api-contract-validator
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Compare two OpenAPI spec versions to detect breaking changes: removed paths/operations, new required parameters, removed response codes, operationId renames.
New spec version
Previous spec version
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Compare two OpenAPI spec versions to detect breaking changes: removed paths/operations, new required parameters, removed response codes, operationId renames.
| Argument | Type | Description |
|---|---|---|
| spec_new* | object | New spec version |
| spec_old* | object | Previous spec version |
{
"type": "object",
"required": [
"spec_old",
"spec_new"
],
"properties": {
"spec_new": {
"type": "object",
"description": "New spec version"
},
"spec_old": {
"type": "object",
"description": "Previous spec version"
}
}
}Compare a real HTTP request/response against an OpenAPI spec contract. Returns per-field violations.
| Argument | Type | Description |
|---|---|---|
| spec* | object | OpenAPI spec JSON object |
| request* | object | HTTP request to validate |
| response | object | HTTP response to validate (optional) |
{
"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 response data from an OpenAPI spec. Uses examples, defaults, formats, and type heuristics.
| Argument | Type | Description |
|---|---|---|
| path | string | Target path (optional; generates all if omitted) |
| spec* | object | OpenAPI spec JSON object |
| method | string | HTTP method (used with path) |
| statusCode | string | Response status code (default: 200) |
{
"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 an API spec for quality and best practice compliance. Rules: operation-id-kebab-case, response-success-required, tags-defined, no-empty-description, security-defined.
| Argument | Type | Description |
|---|---|---|
| spec* | object | OpenAPI spec JSON object |
| rules | array | Rules to apply (defaults to all) |
{
"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 an OpenAPI 3.x or AsyncAPI spec JSON. Returns structural errors, missing required fields, and warnings.
| Argument | Type | Description |
|---|---|---|
| spec* | object | OpenAPI or AsyncAPI spec as a JSON object |
| strict | boolean | Treat warnings as errors (default: false) |
{
"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)"
}
}
}