Search / io.github.oasdiff/oasdiff
oasdiff
R0· no sign-inDetect breaking changes, generate changelogs, diff, and validate OpenAPI specs.
v1.0.0 · active · descriptor JSON · versions
Search / io.github.oasdiff/oasdiff
R0· no sign-inDetect breaking changes, generate changelogs, diff, and validate OpenAPI specs.
v1.0.0 · active · descriptor JSON · versions
{
"mcpServers": {
"oasdiff": {
"type": "http",
"url": "https://api.oasdiff.com/mcp"
}
}
}claude mcp add --transport http oasdiff https://api.oasdiff.com/mcp[mcp_servers.oasdiff]
url = "https://api.oasdiff.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"oasdiff": {
"type": "remote",
"url": "https://api.oasdiff.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"oasdiff": {
"type": "http",
"url": "https://api.oasdiff.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=oasdiff&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLm9hc2RpZmYuY29tL21jcCJ9"
}{
"servers": {
"oasdiff": {
"type": "http",
"url": "https://api.oasdiff.com/mcp"
}
}
}{
"mcpServers": {
"oasdiff": {
"httpUrl": "https://api.oasdiff.com/mcp"
}
}
}extensions:
"oasdiff":
enabled: true
name: "oasdiff"
type: streamable_http
uri: "https://api.oasdiff.com/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: oasdiff_breaking_changes (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); oasdiff_changelog (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); oasdiff_diff (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 778 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+reachable +uptime-100% ~updated-125d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.oasdiff.com/mcp streamable-http | none | yes | 100% | 238 ms | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 | 2026-10-19 |
oasdiff_breaking_changes | 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). |
oasdiff_changelog | 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). |
oasdiff_diff | 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). |
oasdiff_validate | 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). |
Schemas: list_tools.
{
"name": "io.github.oasdiff/oasdiff",
"title": "oasdiff",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.oasdiff.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"description": "Detect breaking changes, generate changelogs, diff, and validate OpenAPI specs."
}