Skip to main content
Glama

What changed in a package since my training data

package_changes
Read-only

Check which third-party npm package APIs changed after your training cutoff before writing code that calls them, listing removed exports, new required parameters, and deprecations.

Instructions

Before writing or changing code that calls a third-party npm package, call this to learn which of its APIs changed after your training cutoff: removed or renamed exports, new required parameters, removed options, deprecations with replacements, and breaking changelog entries. Pass the version the project pins (from package.json or the lockfile) when you know it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "package_changes"
  }
}

Input Schema

NameRequiredDescriptionDefault
apisNoExports you are about to use, to rank changes to them first
nameYesnpm package name, e.g. `ai`, `next`, `@tanstack/react-query`
modelNoYour own model id (e.g. claude-opus-5-5). Defaults to the model configured in the coding agent's settings.
cutoffNoTraining cutoff (YYYY-MM or YYYY-MM-DD) to use instead of a model id.
versionNoVersion or range the project uses (default: latest)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the description only needs to add what they don't cover, and it does: it discloses the returned change taxonomy (removed/renamed exports, new required params, removed options, deprecations with replacements, breaking changelog entries) and that results are ranked toward the APIs you name. It does not mention caching, freshness, or behavior for unknown packages/versions.

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?

Two sentences, front-loaded with the trigger condition, then the payload, then the one argument that needs interpretation. Every clause carries information; nothing is repeated from the schema or title.

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?

With no output schema, the description correctly compensates by enumerating what comes back, and the read-only/open-world annotations cover the safety and live-data profile. Minor gaps remain: no guidance on what happens when the version is unknown or unpinned, or how model/cutoff selection affects results (left to the schema).

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%, so the baseline is 3; the description goes beyond it by telling the agent where to source the version value (package.json or the lockfile) and by explaining the apis parameter's ranking effect. It adds real invocation guidance rather than restating field descriptions.

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?

States a specific verb+resource (report which npm package APIs changed after the model's training cutoff) and enumerates the exact change categories it surfaces. It is clearly scoped to a single package, which separates it from the sibling project_changes and search_changes without needing to name them.

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?

Gives an explicit trigger: 'Before writing or changing code that calls a third-party npm package, call this.' It also gives conditional guidance for the version argument ('pass the version the project pins ... when you know it'). It does not name or exclude the sibling tools (search_changes, project_changes), so routing among them is left to inference.

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