api-contract-validator
Server Details
Cloudflare Workers MCP server: api-contract-validator
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- lazymac2x/api-contract-validator-api
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 5 of 5 tools scored.
Each tool serves a distinct purpose: validation, linting, breaking change detection, request/response diffing, and mock generation. There is no overlap or ambiguity between them.
All tools follow a consistent verb_noun snake_case pattern (check_, diff_, generate_, lint_, validate_), making the naming predictable and easy to navigate.
With 5 tools, the set is well-scoped for an API contract validator. Each tool covers a distinct aspect of specification validation and testing without excess or redundancy.
The toolset comprehensively covers the core domain: structural validation, linting, breaking change detection, runtime request/response validation, and mock generation. No obvious gaps remain for typical contract-validation workflows.
Available Tools
5 toolscheck_breaking_changesAInspect
Compare two OpenAPI spec versions to detect breaking changes: removed paths/operations, new required parameters, removed response codes, operationId renames.
| Name | Required | Description | Default |
|---|---|---|---|
| spec_new | Yes | New spec version | |
| spec_old | Yes | Previous spec version |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses what the tool detects (breaking change categories), adding useful behavioral context. However, it does not describe the return format, whether it is read-only, or any side effects. The added detail is helpful but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that lists the key detection categories without extraneous words. It is concise and well-structured, earning full marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two nested object parameters and no output schema, so the description must cover both purpose and expected results. It explains the purpose and lists detection categories but omits the return format and any prerequisites. Adequate but not complete for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The schema already defines spec_old as 'Previous spec version' and spec_new as 'New spec version'. The description adds the context of comparing them but does not add per-parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Compare two OpenAPI spec versions to detect breaking changes'. It further enumerates concrete examples (removed paths/operations, new required parameters, removed response codes, operationId renames), which distinguishes it from sibling tools like diff_request_response or lint_api_schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for detecting breaking changes when comparing two spec versions. It does not explicitly state when not to use it or mention alternatives, but the use case is evident from the description. This merits a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_request_responseAInspect
Compare a real HTTP request/response against an OpenAPI spec contract. Returns per-field violations.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI spec JSON object | |
| request | Yes | HTTP request to validate | |
| response | No | HTTP response to validate (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the core output behavior ('Returns per-field violations') and implies a read-only comparison operation. However, it does not mention potential side effects, whether the spec must be valid first, error handling, or limitations (e.g., only validates request/response objects, not headers or metadata). This is a minimal but not misleading disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose and then the output. Every word earns its place, with no fluff or redundancy. It is highly concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, one optional, nested objects) and no output schema, the description provides enough context to understand the tool's role. It could be enhanced by elaborating on the structure of 'per-field violations' or clarifying that the response is optional, but the schema already covers the input shape. The description is adequate for a developer familiar with OpenAPI concepts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (spec, request, response) already described in the schema. The description adds no additional parameter semantics, but the baseline of 3 is appropriate since the schema fully documents the inputs and their structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Compare a real HTTP request/response against an OpenAPI spec contract.' It names the specific verb (compare) and resource (HTTP request/response vs OpenAPI spec), and distinguishes it from sibling tools like validate_openapi_spec (which validates the spec itself) and check_breaking_changes (which checks compatibility).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the alternatives. It does not mention that this is for validating actual traffic against a contract, nor does it exclude cases where the user should instead validate the spec itself or check breaking changes. Sibling tool names are present but not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_mock_from_specAInspect
Generate mock response data from an OpenAPI spec. Uses examples, defaults, formats, and type heuristics.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Target path (optional; generates all if omitted) | |
| spec | Yes | OpenAPI spec JSON object | |
| method | No | HTTP method (used with path) | |
| statusCode | No | Response status code (default: 200) | 200 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that generation uses heuristics (examples, defaults, formats, type), giving some insight into the method, but it does not state expected output structure, determinism, or any limitations (e.g., handling of missing examples). This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise, front-loaded sentences. The first states the core purpose, and the second adds useful methodological context. No redundant or filler words are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (4 params, nested spec object, no output schema). The schema covers parameters well, but the description omits any details about the return format or behavior when generating across multiple paths. Given the lack of an output schema, the description should ideally clarify what the generated mock data looks like, leaving a clear gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters (100% coverage), so the description adds no additional parameter-level meaning. The mention of heuristics relates to the spec content, not the tool's parameters, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and resource ('mock response data') tied to a clear source ('OpenAPI spec'), making the tool's function unmistakable. It also mentions the heuristic approach (examples, defaults, formats, type), which further clarifies its scope and distinguishes it from the sibling validation/diff/lint tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when this tool is appropriate—when you need mock data from an OpenAPI spec—but it does not explicitly mention alternatives or exclusions. The sibling tools are functionally distinct, so the context is clear, yet there is no explicit 'use this instead of X' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_api_schemaAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI spec JSON object | |
| rules | No | Rules to apply (defaults to all) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It lists the specific rules applied, which is good transparency about what is checked. However, it does not mention side effects (none expected), return format, or whether the tool modifies anything, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and purpose, then efficiently enumerates the rules in a list. Every word contributes to the meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description clearly explains what the tool does and the rules it applies, but it omits any mention of the output or return value. Since there is no output schema, an agent cannot infer whether the tool returns a list of violations, a pass/fail status, or a report. Additional context about the result format would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters, but the description adds valuable context by listing the available rule names (e.g., operation-id-kebab-case), which helps an agent know what values the 'rules' parameter accepts. This goes beyond the schema's generic 'Rules to apply' and enriches parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lints an API spec for quality and best practice compliance. It also lists specific rules, which distinguishes it from the sibling validate_openapi_spec that likely checks structural validity. The verb 'lint' + resource 'API spec' + specific rules make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is for quality/best practice checks, which differentiates it from other siblings like validate_openapi_spec. However, it does not explicitly state when not to use it or directly name alternatives. The clear context of linting versus validation provides enough guidance for an agent to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_openapi_specAInspect
Validate an OpenAPI 3.x or AsyncAPI spec JSON. Returns structural errors, missing required fields, and warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI or AsyncAPI spec as a JSON object | |
| strict | No | Treat warnings as errors (default: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the return values (structural errors, missing required fields, warnings) but does not explicitly state whether the operation is read-only, possible side effects, authentication needs, or behavior with invalid JSON input. For a validation tool, the read-only nature is implied but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that starts with the action ('Validate'), names the target resource, and succinctly lists the output. There is no filler, and every part contributes to understanding the tool's core behavior. This is exemplary for a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters, no output schema, and a straightforward validation purpose, the description is mostly complete. It specifies the supported spec types and outlines the kinds of feedback returned. It could be improved by mentioning the output format (e.g., JSON) or explicitly explaining the strict flag, but overall it provides sufficient contextual information for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for both parameters (spec, strict), including defaults and descriptions. The tool description only mentions the 'spec' parameter and does not add extra meaning about the 'strict' flag or any constraints beyond what the schema already provides. Since schema coverage is high, the description adds minimal parameter-level value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Validate' plus the specific resource type 'OpenAPI 3.x or AsyncAPI spec JSON', and explicitly lists what it returns (structural errors, missing required fields, warnings). This distinguishes it from sibling tools like check_breaking_changes or generate_mock_from_spec, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a validation use case but provides no explicit guidance on when to use this tool versus alternatives like lint_api_schema or check_breaking_changes. There are no contextual notes, prerequisites, or exclusions, so the agent must infer the appropriate context from the tool name and purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityCmaintenanceA minimal MCP server template that runs on Cloudflare Workers + TypeScript, enabling quick creation of tools like calculations, API wrappers, and static data endpoints.7
- AlicenseAqualityFmaintenanceMCP server to manage Cloudflare Workers, KV, R2, Pages, DNS, and cache from your IDE.13344MIT
- Flicense-quality-maintenanceA Cloudflare Workers-based implementation of Model Context Protocol (MCP) server that enables AI models like Claude to access custom tools without requiring authentication.
- Alicense-qualityDmaintenanceEnables creation and deployment of MCP servers on Cloudflare Workers, with local testing and one-command deployment.85MIT