Tool Reference¶
15 MCP tools. Arguments marked (optional) have safe defaults.
registry accepts any of the 39 supported registry ids
(tool schemas use the canonical id; the server also accepts the aliases listed
on the registries page when resolving clients).
At a glance¶
| Tool | Writes? | Purpose |
|---|---|---|
get_latest_version |
no | Latest version for one package |
get_package_info |
no | Latest version + description, homepage, publish date |
get_install_command |
no | Install command at latest version |
compare_versions |
no | Your pin vs latest (update-available / up-to-date / ahead-of-latest) |
check_multiple_packages |
no | Batch latest-version check |
check_compatibility |
no | Does version satisfy constraints? |
detect_conflicts |
no | Incompatible constraints in a dependency list |
find_compatible_version |
no | Highest published version that satisfies constraints |
suggest_upgrade_path |
no | Step-by-step multi-major path |
scan_project |
no | Inventory manifests and lock files |
check_outdated |
no | Project outdated report (type + risk) |
resolve_conflicts |
no | Project conflict detection + suggested resolution |
optimize_versions |
no | Whole-project upgrade plan |
validate_upgrade_plan |
no | Pre-flight gate on a plan |
apply_upgrades |
yes (opt-in) | Apply plan; dry_run: true by default |
Lookup¶
get_latest_version¶
Latest version of a package.
package_name(string) — format depends on registry (e.g.groupId:artifactIdfor Maven,owner/repofor GitHub)registry(string) — one of the supported registries
get_package_info¶
Latest version plus description, homepage, and publish date when the registry exposes them.
package_name(string)registry(string)
get_install_command¶
Ready-to-use install command for the package at its latest version
(npm install …, pip install …, cargo add …, etc.).
package_name(string)registry(string)dev(boolean, optional, default false) — dev dependency (npm)
compare_versions¶
Semver comparison of a version you hold against the latest. Reports
update-available / up-to-date / ahead-of-latest. Handles v-prefixes.
package_name(string)current_version(string)registry(string)
check_multiple_packages¶
Batch latest-version check; per-item success/error.
packages(array of{ package_name, registry })
Version reasoning¶
check_compatibility¶
Does version satisfy each given constraint?
package_name(string)version(string)dependencies(array of{ name, constraint })
detect_conflicts¶
Find packages required at incompatible versions.
dependencies(array of{ name, constraint, source? })
find_compatible_version¶
Highest published version satisfying all constraints.
package_name(string)registry(string)constraints(array of{ name, constraint })
suggest_upgrade_path¶
Step-by-step path from current to target (defaults to latest), stepping through intermediate majors, with risk and breaking-change notes.
package_name(string)registry(string)current_version(string)target_version(string, optional) — defaults to latestdependencies(array of{ name, constraint }, optional) — must stay compatible
Project tools¶
scan_project¶
Inventory dependency manifests (package.json, requirements.txt, go.mod,
Cargo.toml, Gemfile, pom.xml, pyproject.toml, …) and lock files.
project_path(string, absolute)include_lock_files(boolean, optional, default true)max_depth(number, optional, default 10)
check_outdated¶
Scan a project and check every dependency against its registry. Reports outdated packages with upgrade type (major/minor/patch) and estimated risk.
project_path(string, absolute)include_dev(boolean, optional, default true)include_lock_files(boolean, optional, default true)
resolve_conflicts¶
Detect version conflicts in a project (same package at incompatible versions across files) and suggest a compatible resolution per package. Read-only.
project_path(string, absolute)include_lock_files(boolean, optional, default true)allow_downgrade(boolean, optional, default false)prefer_latest(boolean, optional, default true)
optimize_versions¶
Whole-project upgrade plan (per dependency: keep / upgrade / downgrade /
remove, with risk). Read-only. Feed the result to validate_upgrade_plan and
apply_upgrades.
project_path(string, absolute)include_lock_files(boolean, optional, default true)allow_downgrade(boolean, optional, default false)prefer_latest(boolean, optional, default true)
validate_upgrade_plan¶
Check a plan for breaking (major) bumps, circular dependencies, and constraint violations before applying. Read-only.
project_path(string, absolute)plan(array of plan items, as fromoptimize_versions)allow_major_version_changes(boolean, optional, default true)strict_mode(boolean, optional, default false) — fail on warnings too
apply_upgrades¶
Apply a plan to the project's dependency manifests (package.json,
requirements.txt, Cargo.toml, go.mod, pom.xml, and other supported
formats).
This is the only tool that can write to disk.
project_path(string, absolute)plan(array of plan items)dry_run(boolean, optional, default true) — preview only; passfalseto writecreate_backup(boolean, optional, default true) — when writing, back up each file under.dependency-backups/first; ignored whendry_runis true
Recommended flow:
optimize_versions→ planvalidate_upgrade_plan→ confirm safeapply_upgradeswith defaultdry_run: true→ review previewapply_upgradeswithdry_run: false→ write (with backups)
Absolute paths in affectedFiles are normalized to project-relative before
apply. On write error, per-file changes roll back.
Plan item shape¶
{
"package": "express",
"registry": "npm",
"currentVersion": "4.18.0",
"currentConstraint": "^4.18.0",
"suggestedVersion": "4.21.2",
"suggestedConstraint": "^4.21.2",
"action": "upgrade",
"reason": "patch available",
"risk": "low",
"affectedFiles": ["package.json"]
}
| Field | Required | Notes |
|---|---|---|
package |
yes | Package name |
suggestedVersion |
yes | Target version, or "removed" to drop |
action |
yes | keep | upgrade | downgrade | remove |
affectedFiles |
yes | Paths relative to project_path |
registry |
no | Registry id |
currentVersion |
no | May be empty if unknown |
currentConstraint |
no | Current constraint string |
suggestedConstraint |
no | Defaults to suggestedVersion when writing |
reason |
no | Why this change is suggested |
risk |
no | low | medium | high |
Prompts and resources¶
The server also exposes MCP prompts (check-versions-reminder,
verify-package-version) and a registries resource so clients can remind the
model to check versions and list supported registries. Tools are the primary
interface.