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.3/5 across 5 of 5 tools scored.
Each tool has a clearly distinct purpose: breaking changes detection, request/response diffing, mock generation, linting, and structural validation. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., check_breaking_changes, diff_request_response), making them predictable and easy to understand.
5 tools is well-scoped for an API contract validation server, covering essential operations without being too few or too many.
The tool set covers core validation tasks (validation, linting, breaking changes, mock generation, diffing), but could benefit from additional capabilities like schema extraction or security checks.
Available Tools
5 toolscheck_breaking_changesBInspect
두 버전의 OpenAPI 스펙을 비교하여 파괴적 변경 사항(Breaking Changes)을 감지합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| spec_new | Yes | 새 버전의 OpenAPI 스펙 | |
| spec_old | Yes | 이전 버전의 OpenAPI 스펙 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It does not disclose whether the tool is read-only, how results are returned (e.g., list, boolean), or any side effects. Minimal behavioral insight.
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 with no wasted words, effectively communicating the tool's purpose.
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 has two object parameters, no output schema, and no annotations, the description is too sparse. It does not specify return format, constraints (e.g., valid specs), or error handling, leaving an agent underinformed.
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% (both parameters have descriptions), so the baseline is 3. The description adds no extra meaning beyond what the schema already states.
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 compares two OpenAPI specs to detect breaking changes, using a specific verb and resource. It distinguishes from sibling tools like diff_request_response or validate_openapi_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 usage for comparing two versions of an OpenAPI spec, but lacks explicit guidance on when to use this tool over alternatives like diff_request_response, or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_request_responseBInspect
실제 HTTP 요청/응답 데이터를 OpenAPI 스펙과 비교하여 계약 위반 사항을 감지합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI 스펙 JSON 객체 | |
| request | Yes | 검증할 HTTP 요청 | |
| response | No | 검증할 HTTP 응답 (선택) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states the tool detects violations but does not specify what output is produced (e.g., list of violations), whether it is read-only, or any side effects. The absence of behavioral detail is a significant gap.
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 concise sentence that front-loads the core purpose. It is free of fluff, but could benefit from slight restructuring or additional context. Still, it is efficient.
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 has no output schema and relatively complex parameters (nested objects), the description is minimal. It does not explain what the tool returns (e.g., a report, violations list, or success indicator) or handle edge cases. The lack of completeness hinders effective use.
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% description coverage, so parameters are already documented. The tool description adds no extra parameter-level details beyond what the schema provides. Baseline score of 3 is appropriate.
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 purpose: comparing actual HTTP request/response data with an OpenAPI spec to detect contract violations. It uses specific verbs ('compare', 'detect') and resources, and distinguishes itself from sibling tools like 'validate_openapi_spec' or 'check_breaking_changes' by focusing on actual vs. spec comparison.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions. The description only states functionality without contextual usage advice.
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
OpenAPI 스펙에서 Mock 응답 데이터를 자동으로 생성합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | 특정 경로 (지정 시 해당 경로만 생성) | |
| spec | Yes | OpenAPI 스펙 JSON 객체 | |
| method | No | HTTP 메서드 (path와 함께 사용) | |
| statusCode | No | 응답 상태 코드 (기본값: 200) | 200 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden but only states 'automatically generate'. It does not disclose whether it modifies state, permission needs, or how it handles different inputs like status codes or path combinations.
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?
Single sentence, front-loaded, no wasted words. Concisely conveys core purpose.
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?
With 4 parameters and nested objects, the description is brief. It doesn't explain how mock data is generated (e.g., based on schema examples, random), nor return format. Adequate but not complete for complex use.
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?
Input schema has 100% coverage with descriptions for each parameter. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
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 generates mock response data from an OpenAPI spec, using a specific verb ('generate') and resource ('mock response data'). It is distinct from sibling tools which focus on analysis and validation, not generation.
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?
No explicit guidance on when to use or avoid this tool vs alternatives. The context implies generation versus analysis siblings, but no when-not-to or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_api_schemaBInspect
API 스펙에 대한 품질 검사 및 모범 사례 준수 여부를 린팅합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI 스펙 JSON 객체 | |
| rules | No | 적용할 규칙 목록 (미지정 시 전체 규칙 적용): operation-id-kebab-case, response-success-required, tags-defined, no-empty-description, security-defined |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of disclosing behavior. It only states the tool lints quality and best practices but does not clarify if it is read-only, requires authentication, or any side effects.
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 concise sentence, which is efficient but could benefit from more structured format (e.g., bullet points) for clarity.
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 complexity (open-ended object input, no output schema), the description is too brief. It does not explain the output format, error behavior, or how to interpret results.
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 coverage is 100%, so the schema already documents the parameters adequately. The description adds minimal value beyond restating the parameter roles; it does not explain parameter semantics in more detail.
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 performs linting on API specs for quality and best practices, distinguishing it from sibling tools like validate_openapi_spec which likely focus on structural validation.
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?
No guidance is provided on when to use this tool versus alternatives such as validate_openapi_spec or check_breaking_changes. The description does not mention contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_openapi_specBInspect
OpenAPI 3.x 또는 AsyncAPI 스펙 JSON을 검증하여 구조 오류, 누락 필드, 경고를 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI 또는 AsyncAPI 스펙 JSON 객체 | |
| strict | No | 경고도 오류로 처리 (기본값: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the full burden. It mentions the types of issues returned (structural errors, missing fields, warnings), which is basic transparency. However, it does not disclose additional behavioral traits like output format, error handling, or performance implications.
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?
One sentence that is concise and front-loaded. Every word earns its place, with no wasted content.
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 no output schema, the description should explain the return format (e.g., list of errors/warnings, structure). It does not, leaving the agent without knowledge of what the tool returns. For a validation tool, this is a significant 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?
Schema coverage is 100% (both parameters have descriptions). The description does not add any new meaning beyond the schema definitions for 'spec' and 'strict'. Baseline 3 is appropriate as the schema already handles parameter semantics.
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 validates OpenAPI 3.x or AsyncAPI spec JSON and returns structural errors, missing fields, and warnings. It is distinct from sibling tools like check_breaking_changes and lint_api_schema, though it does not explicitly differentiate them.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., lint_api_schema) or when not to use it. The description only states what the tool does, without any context for decision-making.
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!