Ripedeps
Server Details
Deterministic package.json upgrade plans: age gate, aligned peers, reasons per change. No AI.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 1 tool
There is only one tool, so there is nothing to confuse it with. Its purpose (produce a deterministic version-upgrade plan for a package.json) is stated unambiguously.
A single snake_case verb_noun name, plan_upgrade, which clearly describes the action and object. No naming conflicts are possible with only one tool.
One tool for the whole surface is thin: the workflow the description itself recommends (re-run with maxBump minor then major, optionally with focus) is left entirely to the agent, with no companion tools to validate a file, apply a plan, or inspect current versions. The single tool is well-scoped but the set does not earn a broader surface.
Planning is covered thoroughly (input by text or URL, diff output, per-package reasons, focus and minAgeDays controls), but the lifecycle stops at planning: no tool applies the patch, re-validates the resulting package.json, or checks a lockfile. The unified diff is workable around this, but it is a real gap for a dependency-upgrade domain.
Available Tools
1 toolplan_upgradePlan package.json upgradesARead-onlyInspect
Recommends version upgrades for a package.json: the newest versions that are old enough and within the allowed step size, kept aligned with each other (peer dependencies and the first-level dependencies of the packages). Deterministic, no AI. Returns the new package.json, a unified diff (apply with patch -p1) and a per-package table with the reasons. Every package has an explanation sentence and notes lists other changes to the file (the ripedeps entry): relay them to the user as the rationale for each change.
Send the file as packageJson (text) or as packageJsonUrl (https URL of a raw file), exactly one of them.
Recommended: minAgeDays 7 (versions younger than 7 days are not proposed). The default is 0, or the ripedeps entry of the file. maxBump defaults to minor. Use focus to restrict the upgrade to some packages (and their direct neighbours).
Try more than one level: a plan only suggests and writes nothing, so calling again is cheap. Start with minor; if a package is held with a level-limit reason (a newer major exists), call again with maxBump "major" (optionally with focus) and compare. A held result is a reasoned decision for that one package, not a ban on the level: its reason names what blocks it (a peer or dependency constraint). Apply a larger step only when the user approves it.
Privacy: We do not keep your package.json: every upload is processed from scratch and discarded, nothing about its content or your IP address is remembered. Only anonymous statistics (file size, number of dependencies, number of changes) are counted.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Exact names or * globs; a bare name like "trpc" also matches @trpc/*. Empty means global | |
| maxBump | No | Default minor, or the ripedeps entry of the file | |
| minAgeDays | No | Minimum age of a version since its release (default 0, or the ripedeps entry of the file) | |
| packageJson | No | The full text of package.json (formatting is preserved in the diff) | |
| packageJsonUrl | No | https URL of a package.json that the service downloads (use the raw file URL) | |
| skipAdoptConfig | No | Do not write the effective settings into the output package.json |
Output Schema
| Name | Required | Description |
|---|---|---|
| diff | Yes | Unified diff (a/package.json, b/package.json) that `patch -p1` applies |
| meta | Yes | |
| notes | Yes | Changes to the output file that are not package upgrades (e.g. the ripedeps entry) |
| packages | Yes | |
| warnings | Yes | |
| updatedPackageJson | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds that it is deterministic, that it returns the new package.json plus a unified diff applicable with `patch -p1` and a per-package table, and that the `notes` field must be relayed to the user. The privacy paragraph (uploads discarded, only anonymous stats kept) supplies trust context annotations cannot express.
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?
Input format and the escalation strategy are front-loaded, then defaults, then privacy – a sensible ordering with little waste. It runs long, and the privacy paragraph, while useful, is the one part that could be trimmed without losing invocation guidance.
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?
For a tool with six optional parameters and an output schema, the description covers the input contract, defaults, recommended values, the multi-call strategy and the special `held`/`level-limit` reason semantics. The only unmentioned parameter, skipAdoptConfig, is fully documented in the schema.
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%, so the baseline is 3, but the description earns an extra point by stating that exactly one of packageJson/packageJsonUrl must be given and by explaining focus as also pulling in direct neighbours. skipAdoptConfig is never mentioned, which keeps it from a 5.
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?
States a specific verb and resource ('Recommends version upgrades for a package.json') and pins down the exact selection rule (newest versions old enough and within the allowed step size, aligned with peer dependencies). An agent knows precisely what it gets back 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the two mutually exclusive input paths, a recommended minAgeDays value, the default for maxBump, and the escalation workflow: start with minor, re-call with major (optionally with focus) when a package is held for 'level-limit', and only apply a bigger step with user approval. Alternatives and when-not conditions are spelled out rather than implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
plan_upgrade
Related MCP Connectors
Check exact npm/PyPI upgrades for evidence-backed breaking changes; query APIs and components.
npm/PyPI package dependency upgrade reviews: security, runtime compatibility, cited migration.
Translates a lockfile diff into a human-readable upgrade plan for npm, PyPI, and GitHub Actions.
What breaks between versions, vulnerabilities, compatible versions, EOL dates: npm, PyPI, Rust, PHP.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI coding agents to ground dependency setup, compatibility checks, and major-version migration advice in a project's real runtime, lockfiles, and config files. It parses local project state and npm registry metadata deterministically, then returns tag-pinned install commands, breaking changes, and upgrade steps rather than generic documentation.595 npmMIT

@4da/mcp-serverofficial
AlicenseAqualityAmaintenanceEnables AI coding agents to learn, from locally read lockfiles, what changes between the dependency version installed and a target version, which of the user's files that upgrade touches, and which vulnerabilities it resolves. It also performs OSV-matched vulnerability scans, ranks upgrade plans, and stores decision memory, running entirely on the user's machine with no account or API keys.11126 npmApache 2.0- AlicenseBqualityDmaintenanceEnables AI agents to safely upgrade JavaScript and TypeScript projects through dependency analysis, upgrade path detection, breaking change identification, codemod application, and PR summary generation.141 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to verify, compare, and safely upgrade npm packages by scoring packages from public signals and sandboxed co-installation, detecting breaking API surface changes, and rewriting code that upgrades break.33 npm8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.