oasdiff
Server Details
Detect breaking changes, generate changelogs, diff, and validate OpenAPI specs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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 4.6/5 across 4 of 4 tools scored.
Each tool has a clearly distinct purpose: breaking changes, changelog, diff, and validation. The descriptions include explicit guidance on when to use each, eliminating ambiguity.
All tools follow a consistent 'oasdiff_' prefix followed by a descriptive noun (breaking_changes, changelog, diff, validate), making them easily distinguishable and predictable.
Four tools cover the essential operations for an API diff/validation server without being excessive. Each tool earns its place with a unique function.
The set covers detecting breaking changes, generating a changelog, producing a raw diff, and validating a single spec. Minor gaps like a summary tool are missing, but core workflows are well-covered.
Available Tools
4 toolsoasdiff_breaking_changesAInspect
Detect breaking API changes between two OpenAPI specifications. Pass the base (old) and revision (new) specs as YAML or JSON; returns the breaking and warning-level changes. Use this when the question is whether an API change breaks existing clients. Use oasdiff_changelog instead to list every change including non-breaking and informational ones, oasdiff_diff for the raw added/removed/modified structure, or oasdiff_validate to check a single spec rather than compare two. Both specs must be valid, self-contained OpenAPI (external $ref URLs or files are not resolved).
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | the base (old) OpenAPI specification, as YAML or JSON | |
| revision | Yes | the revision (new) OpenAPI specification, as YAML or JSON |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states the tool returns 'breaking and warning-level changes', and notes the limitation about unresolved external $refs. However, it does not describe error behavior for invalid specs or the exact output format. Slightly more detail on the response structure would improve transparency.
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 concise and well-structured. It starts with the core purpose and return type, then provides usage guidance and alternatives, and ends with constraints. Every sentence adds value and there is no redundancy.
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 of the tool (comparing two OpenAPI specs for breaking changes) and the absence of an output schema, the description covers purpose, return type, usage, sibling distinctions, and input constraints. It does not detail the output format or error handling, but overall it is sufficiently complete for an agent to select and invoke the tool correctly.
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%, with both parameters described as strings. The description adds meaning by specifying they can be YAML or JSON and that they must be valid, self-contained OpenAPI (no external $ref resolution). This significantly adds context 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 purpose: detecting breaking API changes between two OpenAPI specifications. It specifies the verb ('detect'), resource ('breaking API changes'), and scope ('between two OpenAPI specifications'). The description also distinguishes from siblings by naming alternative tools and their use cases.
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?
Explicit usage guidance is provided: 'Use this when the question is whether an API change breaks existing clients.' The description also lists when to use alternatives (oasdiff_changelog, oasdiff_diff, oasdiff_validate). Additionally, it states prerequisites: both specs must be valid, self-contained OpenAPI with no external $ref resolution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oasdiff_changelogAInspect
Produce a full changelog of every detected change between two OpenAPI specifications (base vs revision), down to informational changes. Pass both specs as YAML or JSON. Use this when you want the complete set of changes at every severity. Use oasdiff_breaking_changes instead when you only care whether the change is breaking (less noise), or oasdiff_diff for the raw structural diff without a backward-compatibility judgment. Both specs must be valid, self-contained OpenAPI (external $ref URLs or files are not resolved).
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | the base (old) OpenAPI specification, as YAML or JSON | |
| revision | Yes | the revision (new) OpenAPI specification, as YAML or JSON |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It correctly indicates the tool is read-only (produces a changelog) and warns about $ref limitations. Could mention potential performance or rate limits, but is otherwise clear about its non-destructive, analytical nature.
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?
Two efficient sentences: first states purpose and scope, second gives usage guidance and constraints. No wasted words, front-loaded with key information.
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 complexity (two input params, no output schema) and sibling tools explained, the description is largely complete. It covers purpose, when to use, and constraints. Missing a description of output format (e.g., 'returns a Markdown changelog'), but overall adequate.
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% with descriptions for both params. Description adds the constraint that they must be valid, self-contained OpenAPI (YAML or JSON), which goes beyond the schema. A score of 4 reflects that it adds meaningful context beyond the schema's basic type/description.
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 produces a full changelog of every change between two OpenAPI specs, down to informational changes. It specifies the verb 'produce', the resource 'changelog', and distinguishes from siblings oasdiff_breaking_changes and oasdiff_diff.
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?
Explicitly says when to use this tool ('when you want the complete set of changes at every severity') and when to use alternatives ('oasdiff_breaking_changes instead when you only care whether the change is breaking', 'oasdiff_diff for the raw structural diff'). Also provides prerequisites: both specs must be valid, self-contained OpenAPI.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oasdiff_diffAInspect
Show the structural diff between two OpenAPI specifications (base vs revision): what was added, removed, or modified. Pass both specs as YAML or JSON. Use this when you want the raw structural changes rather than a backward-compatibility verdict. Use oasdiff_breaking_changes to judge whether changes break clients, or oasdiff_changelog for a severity-classified changelog. Both specs must be valid, self-contained OpenAPI (external $ref URLs or files are not resolved).
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | the base (old) OpenAPI specification, as YAML or JSON | |
| revision | Yes | the revision (new) OpenAPI specification, as YAML or JSON |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description bears full responsibility. It discloses constraints: both specs must be valid, self-contained OpenAPI, no external $ref resolution. It does not explicitly state the tool is read-only, but that is implied. Could mention output format but acceptable.
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?
Three concise sentences that efficiently convey purpose, usage, constraints, and alternatives. No unnecessary words.
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?
Covers all essential aspects: purpose, usage, constraints, and sibling differentiation. Lacks output description, but given the tool's simplicity and no output schema, it is mostly 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?
Schema coverage is 100%, baseline 3. Description adds format clarification ('as YAML or JSON') and constraints (no external $refs) that augment the schema's property descriptions, justifying a higher score.
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 shows 'structural diff between two OpenAPI specifications' and specifies 'what was added, removed, or modified'. It distinguishes from siblings by explicitly naming and contrasting with oasdiff_breaking_changes and oasdiff_changelog.
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?
Provides explicit guidance: 'Use this when you want the raw structural changes rather than a backward-compatibility verdict' and directs to sibling tools for other purposes. No ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oasdiff_validateAInspect
Validate a single OpenAPI specification against the OpenAPI and JSON Schema rules. Pass the spec as YAML or JSON; returns the findings (empty when the spec is valid). Use this when you have one spec and want to check it is well-formed. For comparing two specs, use oasdiff_breaking_changes, oasdiff_changelog, or oasdiff_diff instead. The spec must be self-contained (external $ref URLs or files are not resolved).
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | the OpenAPI specification to validate, as YAML or JSON |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It discloses the important constraint that the spec must be self-contained (no external $ref resolution). Returns findings (empty when valid). While it does not detail the exact format of findings or error handling, for a validation tool this is reasonably transparent.
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 very concise: four sentences, each earning its place. It starts with the main purpose, then usage guidelines, then a constraint. There is no wasted text. Structurally excellent.
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 one parameter, no output schema, and no annotations, the description covers the key aspects: what it does, when to use it, input format (YAML/JSON), a constraint (self-contained), and expected output (findings, empty if valid). It does not explain the structure of findings or error messages, but for a validation tool this is adequate.
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 single parameter 'spec' is fully described in the schema (100% coverage). The description adds 'Pass the spec as YAML or JSON' which is redundant with the schema. It also mentions the self-contained constraint, which is about the spec content rather than parameter semantics. Hence, the description adds little 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?
Purpose is clearly stated: 'Validate a single OpenAPI specification against the OpenAPI and JSON Schema rules.' It uses a specific verb (validate) and resource (single OpenAPI spec). It also distinguishes itself from siblings by explicitly mentioning that for comparing two specs, one should use other 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?
Explicit usage guidance is provided: 'Use this when you have one spec and want to check it is well-formed.' It also gives alternatives for different needs: 'For comparing two specs, use oasdiff_breaking_changes, oasdiff_changelog, or oasdiff_diff instead.' This is excellent.
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
- AlicenseAqualityCmaintenanceEnables AI clients to validate OpenAPI specs, compare versions, detect breaking changes, and generate changelogs.Last updated4MIT
- Flicense-qualityBmaintenanceValidates OpenAPI documents, JSON Schemas, and JSON payloads. Also compares OpenAPI specs and displays breaking changes.Last updated
- Alicense-qualityDmaintenanceEnables natural language exploration of OpenAPI/Swagger specs, allowing users to register APIs, browse endpoints, describe schemas, and detect breaking changes through conversational queries.Last updated94MIT
- AlicenseAqualityBmaintenanceA read-only API change deploy gate for AI coding agents that analyzes OpenAPI specs to determine if changes are safe to deploy. It provides tools for comparing specs, explaining breaking changes, and generating migration guides.Last updated573MIT