api-contract-validator
Cloudflare Workers MCP server: api-contract-validator
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 lint_api_schema 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `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"
]
}社群
證據