Skip to main content
Glama

Wisco Labs: developer tools

Will my npm packages accept this upgrade? (peer dependencies)

peer_check
Read-onlyIdempotent

Before upgrading a core npm package (react, typescript, eslint, vite...), checks every dependency in the project that declares it as a peer dependency: does the installed version accept the new version, and if not, the smallest release that does, with that upgrade's risk. Also checks the new version's own peer requirements against what's installed. Answers the questions behind npm's ERESOLVE errors without running npm.

Input Schema

NameRequiredDescriptionDefault
limitNoMax breaking changes shown for each suggested fix5
upgradeYesThe package and version to upgrade to: react@19 (newest stable 19.x), react@19.1.0 (exact), or react (latest stable)
requirementsYesThe project's dependencies: the contents of package-lock.json (best), package.json, or one 'name@version' per line

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add genuine behavioral context — that no npm process is executed, that the analysis is bidirectional (dependents' peer ranges plus the new version's own peer requirements), and that suggestions include risk and the smallest acceptable release. It does not describe result shape or how 'risk' is graded, which is the only remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger condition is front-loaded, and the second sentence ('Answers the questions behind npm's ERESOLVE errors without running npm') efficiently justifies the tool's existence. The first sentence is long and clause-heavy with parenthetical examples, but no sentence is filler, so it stays readable.

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 carries the burden of describing returns and does so: acceptance per dependency, the smallest release that does accept, that upgrade's risk, plus the new version's own peer requirements. What is missing is the shape of that output (how risk is expressed, what 'limit' truncates), which matters for a 3-parameter analytical tool whose result the agent must interpret.

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, but the description adds real interpretation: it explains how the 'requirements' blob is actually consumed (filtered down to packages declaring the target as a peer dependency) rather than merely restating its accepted formats. It does not explain 'limit' or how it interacts with the risk output, leaving one parameter to the schema alone.

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 names a concrete operation — check whether every dependency that declares the upgraded package as a peer dependency accepts the new version — and bounds it to a specific ecosystem (npm peer deps) and trigger (pre-upgrade of react/typescript/eslint/vite). Combined with the title, an agent can tell this apart from upgrade_check, node_check, and native_check without opening the schema.

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?

It states the usage context clearly: 'Before upgrading a core npm package' and 'Answers the questions behind npm's ERESOLVE errors without running npm', which tells the agent both the moment to call it and why to prefer it over shelling out to npm. It does not explicitly name a sibling alternative or an exclusion case, so it stops short of a 5.

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.

Resources