Skip to main content
Glama

Get breaking changes between package versions

get_breaking_changes

Identify breaking changes between two versions of an npm package by comparing TypeScript type declarations. Get removed exports, changed signatures, and migration notes to safely upgrade dependencies.

Instructions

Structured breaking-change diff between two versions of an npm package, computed from its TypeScript type declarations: removed exports, changed signatures, removed/changed class or interface members, plus new exports. Each entry has before/after signatures and a short migration note. The response includes a confidence score: 0.9 when both versions ship bundled types, 0.8 when DefinitelyTyped @types/* declarations were used. Use this before writing or upgrading code that targets a dependency version you are not certain about — e.g. when the installed version is newer than the API surface you know. The first request for a version pair may take up to a couple of minutes while the diff is computed; results are cached after that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoexact semver of the version to compare against; omit to use the latest published version
fromYesexact semver of the version you know or currently have installed, e.g. "3.24.0" (from a lockfile); ranges like "^3.0.0" are not accepted
packageYesnpm package name, e.g. "zod" or "@scope/pkg"
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses computation from TypeScript type declarations, confidence score based on bundled types vs DefinitelyTyped, latency (first request may take minutes), and caching behavior. It also describes response content (before/after signatures, migration note). No contradictions observed.

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?

Four well-organized sentences with no fluff: first sentence introduces purpose, second explains response contents, third gives usage scenario, fourth warns about latency and caching. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (breaking changes diff, confidence score, caching), the description covers key behavioral aspects and response content adequately. No output schema but description compensates by describing entry structure. Could have mentioned response format or edge cases, but still quite 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?

Schema coverage is 100% with descriptions for all 3 parameters. The description adds value by explaining default behavior for 'to' (latest published version), that 'from' must be exact semver (no ranges), and reinforces the role of 'package'. Baseline 3, and extra context raises it to 4.

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 computes a structured breaking-change diff between two npm package versions from TypeScript type declarations. It specifies the resource (npm package versions) and action (get breaking changes diff), and distinguishes from sibling tool 'resolve_package' which likely resolves package info.

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 gives explicit usage context: 'Use this before writing or upgrading code that targets a dependency version you are not certain about.' It also provides an example situation. However, it does not explicitly state when not to use the tool, but the context strongly implies its specific use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcurmi05/vdiff'

If you have feedback or need assistance with the MCP directory API, please join our Discord server