Dependency migration intelligence for AI coding agents. Answers: library went A -> B, what broke and what edits does my code need?
Two well-named, focused tools with strong descriptions (180+ chars each) and complete input schemas. Both tools are read-only, reducing risk. Schemas use proper Zod validation with min/max constraints on string parameters. Descriptions clearly state WHEN to use each tool and what it returns. However, output schemas are not documented in the visible code, only input schemas are explicit. Tool annotations are referenced but not visible in the provided source. Error handling is mentioned (NotFoundError imported) but recovery guidance is not visible in the tool definitions themselves.
Check whether a package actually exists and is safe to install. Returns existence, latest version, deprecation status, security advisory count, and a `suspicious` flag when the name resembles a popular package but behaves like a typosquat (no repository, placeholder version, one release). Call this before running any install command for a package you have not verified in this session -- LLM-generated package names are a known malware vector.
Given a package and two versions, return the breaking changes between them: removed and renamed symbols, concrete before/after code fragments, and security advisories the upgrade resolves. Every claim links to a primary source. Use this BEFORE writing or fixing code against a library version you are unsure about, and whenever a build fails after a dependency upgrade. It is far cheaper than iterating on failed builds.
Output schemas not documented in tool definitions. LLMs cannot plan downstream operations without knowing what fields to expect (e.g., does check_package return a 'suspicious' boolean? does get_migration_delta return 'breaking_changes' array?). Visible code shows renderCheck() and renderDelta() but not the structured response format.
Tool annotations referenced (CHECK_PACKAGE_ANNOTATIONS, GET_MIGRATION_DELTA_ANNOTATIONS) but not visible in provided source. Cannot verify readOnlyHint, destructiveHint, or idempotentHint are correctly set. These are important for protocol readiness (2026-07-28 spec).
Error recovery guidance not visible in tool descriptions. Description mentions 'LLM-generated package names are a known malware vector' but does not say what to do if check_package returns suspicious=true. get_migration_delta description does not explain what happens if a version is not found or if breaking changes data is unavailable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
STDIO-only transport. Server runs over stdio (StdioServerTransport) and is not remotely accessible. This is a hard cap at 50 for protocol readiness, cannot be used by hosted MCP clients or tested in production agent environments.