Skip to main content
Glama

api-contract-validator

lint_api_schema

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

TableJSON Schema
NameRequiredDescriptionDefault
specYesOpenAPI spec JSON object
rulesNoRules to apply (defaults to all)

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

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.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (check_, diff_, generate_, lint_, validate_), making the naming predictable and easy to navigate.

Tool Count5/5

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.

Completeness5/5

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.