Skip to main content
Glama

upgrade-pilot-mcp

English | Русский

MCP server that helps AI agents safely upgrade JavaScript / TypeScript projects — from dependency analysis to PR summary generation.

Supported packages

Languages & tooling: TypeScript, ESLint, Prettier, Babel, SWC Bundlers: Vite, Webpack, Rollup, esbuild, tsup, PostCSS, Sass Testing: Vitest, Jest, Mocha, Playwright, Cypress, Storybook, Supertest, MSW Frameworks: React, Next.js, Vue, Nuxt, Astro, SvelteKit, Remix, Angular, NestJS, Express, Fastify, Hono Data & state: Prisma, Drizzle ORM, TypeORM, Mongoose, Redux Toolkit, TanStack Query, Pinia, RxJS Networking: Axios, GraphQL, Socket.IO, Zod Infra & DX: Turbo, Nx, Husky, lint-staged, commitlint, Tailwind CSS, Lodash

Scoped families @nestjs/*, @storybook/*, @remix-run/*, @angular/* are recognized automatically.

Related MCP server: breaking-changes-mcp

Tools

Analysis & planning

Tool

Purpose

analyze_project

Fingerprint the project: deps, configs, lockfile, stack

detect_upgrade_paths

Compute safe upgrade steps per package

find_breaking_changes

Surface version-aware migration guides and risk areas

scan_repo_for_deprecations

Find deprecated patterns in the codebase

generate_upgrade_plan

Build a phased upgrade plan

run_upgrade_pipeline

All-in-one: analyze → paths → breaking → scan → plan

Execution

Tool

Purpose

apply_safe_codemods

Run deterministic codemods (dry-run by default)

install_upgrade

Install specific package versions via npm/yarn/pnpm

check_compatibility

Verify peerDependency compatibility before installing

Validation & rollback

Tool

Purpose

validate_upgrade

Run type-check, lint, test, build

create_checkpoint

Tag current HEAD for safe rollback

restore_checkpoint

Hard-reset to a previous checkpoint

list_checkpoints

List all upgrade-pilot checkpoint tags

Reporting

Tool

Purpose

write_upgrade_pr_summary

Generate a reviewer-friendly markdown summary

Token-saving features

  • Compact output — 5 diagnostic tools accept outputFormat: "compact" (default) to strip verbose fields and return counts instead of arrays.

  • Analysis cachingvalidate_upgrade, generate_upgrade_plan, and write_upgrade_pr_summary reuse a cached analysis when available, eliminating redundant project scans.

  • Quiet validationvalidate_upgrade accepts quietOnSuccess: true (default) to return a one-line summary when all checks pass.

  • Pipeline toolrun_upgrade_pipeline replaces 5 sequential calls with one, storing full artifacts as resources while returning only a compact summary.

Resources

Each URI returns the latest artifact from the current session:

URI

Content

upgrade://analysis/latest

Project analysis snapshot

upgrade://paths/latest

Upgrade path results

upgrade://breaking-changes/latest

Breaking change references

upgrade://findings/latest

Deprecation findings

upgrade://plan/latest

Upgrade plan

upgrade://pipeline/latest

Full pipeline result

upgrade://codemods/latest

Codemod results

upgrade://validation/latest

Validation results

upgrade://summary/latest

PR summary (markdown)

Prompts

  • plan_upgrade_route — walk the agent through a safe upgrade workflow

  • draft_upgrade_pr — turn artifacts into a PR description

Codemods

ID

Purpose

prisma-relation-mode

Add relationMode = "prisma" to Prisma schema

eslint-flat-config

Generate eslint.config.mjs FlatCompat bridge from legacy

tailwind-v4-import

Replace @tailwind directives with @import "tailwindcss"

Setup

npm install
npm run build

MCP client configuration

Recommended after publishing:

Use this when the package is consumed from npm. If you are inside this repository itself, prefer the local development config below.

{
  "mcpServers": {
    "upgrade-pilot": {
      "command": "npx",
      "args": ["-y", "upgrade-pilot-mcp@latest"]
    }
  }
}

Local development:

{
  "mcpServers": {
    "upgrade-pilot": {
      "command": "node",
      "args": ["path/to/upgrade-pilot-mcp/dist/server.js"]
    }
  }
}

Windows note: if a client does not resolve npx, use npx.cmd as the command.

Security

  • stdio transport only — no HTTP listener

  • All operations are read-only by default

  • Codemods require explicit mode: "apply"

  • install_upgrade runs the detected package manager (npm/yarn/pnpm install)

  • restore_checkpoint performs git reset --hard — destructive by design

  • Validation runs only local scripts from the target repo

  • No remote code execution


upgrade-pilot-mcp (RU)

English | Русский

MCP-сервер, помогающий AI-агентам безопасно обновлять JavaScript / TypeScript проекты — от анализа зависимостей до генерации описания PR.

Поддерживаемые пакеты

Языки и тулинг: TypeScript, ESLint, Prettier, Babel, SWC Сборщики: Vite, Webpack, Rollup, esbuild, tsup, PostCSS, Sass Тестирование: Vitest, Jest, Mocha, Playwright, Cypress, Storybook, Supertest, MSW Фреймворки: React, Next.js, Vue, Nuxt, Astro, SvelteKit, Remix, Angular, NestJS, Express, Fastify, Hono Данные и стейт: Prisma, Drizzle ORM, TypeORM, Mongoose, Redux Toolkit, TanStack Query, Pinia, RxJS Сеть: Axios, GraphQL, Socket.IO, Zod Инфра и DX: Turbo, Nx, Husky, lint-staged, commitlint, Tailwind CSS, Lodash

Scoped-семейства @nestjs/*, @storybook/*, @remix-run/*, @angular/* распознаются автоматически.

Инструменты

Анализ и планирование

Инструмент

Назначение

analyze_project

Отпечаток проекта: зависимости, конфиги, lockfile, стек

detect_upgrade_paths

Безопасные шаги обновления по каждому пакету

find_breaking_changes

Версионные migration guides и зоны риска

scan_repo_for_deprecations

Поиск устаревших паттернов в коде

generate_upgrade_plan

Пофазный план обновления

run_upgrade_pipeline

Всё-в-одном: анализ → пути → breaking → скан → план

Выполнение

Инструмент

Назначение

apply_safe_codemods

Детерминистические кодмоды (dry-run по умолчанию)

install_upgrade

Установка конкретных версий через npm/yarn/pnpm

check_compatibility

Проверка совместимости peerDependencies

Валидация и откат

Инструмент

Назначение

validate_upgrade

Запуск type-check, lint, тестов и build

create_checkpoint

Тег текущего HEAD для безопасного отката

restore_checkpoint

Hard-reset к предыдущему чекпоинту

list_checkpoints

Список всех чекпоинт-тегов upgrade-pilot

Отчётность

Инструмент

Назначение

write_upgrade_pr_summary

Markdown-описание для PR

Экономия токенов

  • Компактный вывод — 5 диагностических инструментов принимают outputFormat: "compact" (по умолчанию), убирая многословные поля и заменяя массивы на счётчики.

  • Кеширование анализаvalidate_upgrade, generate_upgrade_plan и write_upgrade_pr_summary используют кешированный анализ, если он есть, устраняя повторные сканирования.

  • Тихая валидацияvalidate_upgrade принимает quietOnSuccess: true (по умолчанию) и возвращает однострочный итог, если все проверки пройдены.

  • Pipelinerun_upgrade_pipeline заменяет 5 последовательных вызовов одним, сохраняя полные артефакты в ресурсах и возвращая только компактный итог.

Ресурсы

Каждый URI возвращает последний артефакт текущей сессии:

URI

Содержимое

upgrade://analysis/latest

Снимок анализа проекта

upgrade://paths/latest

Пути обновления

upgrade://breaking-changes/latest

Breaking changes

upgrade://findings/latest

Найденные устаревшие паттерны

upgrade://plan/latest

План обновления

upgrade://pipeline/latest

Полный результат pipeline

upgrade://codemods/latest

Результаты кодмодов

upgrade://validation/latest

Результаты валидации

upgrade://summary/latest

Саммари для PR (markdown)

Промпты

  • plan_upgrade_route — проводит агента через безопасный процесс обновления

  • draft_upgrade_pr — превращает артефакты в описание PR

Кодмоды

ID

Назначение

prisma-relation-mode

Добавляет relationMode = "prisma" в схему Prisma

eslint-flat-config

Генерирует eslint.config.mjs FlatCompat-мост из legacy-конфигов

tailwind-v4-import

Заменяет директивы @tailwind на @import "tailwindcss"

Установка

npm install
npm run build

Конфигурация MCP-клиента

Рекомендуемый вариант после публикации:

Используй этот вариант, когда пакет ставится из npm. Если ты находишься внутри самого репозитория, лучше использовать локальную конфигурацию ниже.

{
  "mcpServers": {
    "upgrade-pilot": {
      "command": "npx",
      "args": ["-y", "upgrade-pilot-mcp@latest"]
    }
  }
}

Для локальной разработки:

{
  "mcpServers": {
    "upgrade-pilot": {
      "command": "node",
      "args": ["path/to/upgrade-pilot-mcp/dist/server.js"]
    }
  }
}

Примечание для Windows: если клиент не находит npx, укажи в command значение npx.cmd.

Безопасность

  • Только stdio transport — без HTTP

  • Все операции read-only по умолчанию

  • Кодмоды требуют явный mode: "apply"

  • install_upgrade запускает обнаруженный пакетный менеджер (npm/yarn/pnpm install)

  • restore_checkpoint выполняет git reset --hard — деструктивная операция

  • Валидация запускает только локальные скрипты целевого репозитория

  • Никакого удалённого выполнения кода

Available Tools

14 tools
analyze_projectAnalyze JS/TS projectB

Read package metadata, lockfiles, and config files to fingerprint the upgrade surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootPathNo
outputFormatNocompact
includeScriptsNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose a key behavioral trait: it only reads files and does not modify anything. However, 'fingerprint the upgrade surface' is vague and does not reveal what the tool actually does with the data, whether there are side effects, or what output format to expect. More detail would be needed for full transparency.

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?

The entire description is a single, well-structured sentence that immediately conveys the tool's core function. It is front-loaded with the verb 'Read' and includes the specific file types and purpose. There is no wasted words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema and has no annotations, so the description must provide more context about invocation and expected results. It provides the 'what' but not the 'how' or 'what to expect'. For instance, it does not mention the outputFormat or includeScripts parameters, nor does it describe the return value. This leaves the agent with significant gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the three parameters (rootPath, outputFormat, includeScripts). The agent receives no guidance on what these parameters mean or how to use them, making parameter handling purely guesswork. The description must compensate for the schema's lack of descriptions, but it does not.

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 clearly states a specific action ('Read package metadata, lockfiles, and config files') and a specific outcome ('fingerprint the upgrade surface'). It distinguishes itself from sibling tools like generate_upgrade_plan or find_breaking_changes by focusing on analysis/reading rather than modification or planning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is an initial analysis step to understand the upgrade surface, but it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or complementary tools. The context is clear enough for a human but an agent would benefit from explicit guidance.

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

apply_safe_codemodsApply safe codemodsC

Run deterministic, local codemods that are explicitly allowed by the v1 safety model.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNodry-run
rootPathNo
codemodIdsNo

TDQS

C2.7/5.0
Behavior3/5

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

The description correctly states the tool runs deterministic, local, safe codemods, hinting at non-destructive behavior. However, no annotations are provided, so the description carries the full burden. It does not mention what happens during 'apply' vs 'dry-run', permissions needed, or side effects. With no annotations, a 3 is generous because it at least signals safety.

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 description is a single, short sentence that is front-loaded with key information. It could benefit from expanding on context, but it is not verbose. Every word serves a purpose, though the phrase 'v1 safety model' could be more concrete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and three parameters at 0% schema coverage, the description is too sparse. An agent needs more details to use this tool effectively: parameter semantics, return behavior, and relation to upgrade pipeline. The sibling set suggests upgrade context, but the description does not connect to it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description must compensate for the three parameters ('mode', 'rootPath', 'codemodIds'). The description only mentions 'codemods' indirectly; it does not explain 'mode' roles ('dry-run' vs 'apply'), 'rootPath' scope, or how to specify 'codemodIds'. This leaves the agent guessing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Run deterministic, local codemods that are explicitly allowed by the v1 safety model.' It provides a verb ('Run') and resource ('codemods') but does not distinguish the tool from siblings like 'run_upgrade_pipeline' or 'apply safe codemods' might overlap with 'apply' operations in other tools. It also introduces an unclear concept ('v1 safety model') without explanation, which could confuse an agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus siblings (e.g., 'run_upgrade_pipeline', 'validate_upgrade'). It lacks context on prerequisites, alternatives, or when not to use it. The agent is left to infer usage from the name alone, which is insufficient given the large sibling set.

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

check_compatibilityCheck peer dependency compatibilityA

Verify peerDependency compatibility for a set of packages before installing.

ParametersJSON Schema
NameRequiredDescriptionDefault
packagesYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the intent ('verify') without disclosing return format, failure behavior, side effects, or whether it requires permissions. This is a significant gap for a tool with no structured annotation support.

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?

The description is a single sentence that is front-loaded and contains no unnecessary words. Every word contributes to the purpose, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should explain return values and other behavioral context. It only mentions 'verify' and 'before installing', leaving the agent uncertain about what to do with the result and how this tool fits into the broader upgrade workflow compared to siblings like validate_upgrade.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate for explaining the 'packages' parameter. It only says 'a set of packages' without elaborating that each package needs a name and version, or how the format relates to peerDependency compatibility. The schema structure is clear, but the description adds no meaningful semantics beyond what the schema already shows.

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 clearly states the tool's function: 'Verify peerDependency compatibility for a set of packages before installing.' It uses a specific verb (verify) and resource (peerDependency compatibility), and adds scope ('before installing') that distinguishes it from sibling tools like validate_upgrade or generate_upgrade_plan.

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?

The description provides clear context by saying 'before installing', indicating when this tool should be used. However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of the highest bar.

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

create_checkpointCreate git checkpointB

Tag current HEAD so the upgrade can be rolled back if needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNopre-upgrade
rootPathNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates the tool creates a git tag for rollback purposes, implying a write operation that is non-destructive (tags can be removed). However, it does not explain failure modes, authentication needs, or what happens if the label already exists. This is adequate but could be more transparent.

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?

The description is a single, clear sentence that front-loads the action and purpose. It contains no filler or redundant information, making it highly efficient for an AI agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no required params, no output schema) and the context of sibling tools (which include related upgrade and checkpoint operations), the description is moderately complete. It covers the core purpose and rolls back context but lacks parameter details and edge-case behavior, resulting in a somewhat complete but not fully thorough description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does not explain the 'label' parameter beyond its existence, nor 'rootPath' at all. The schema has a default for 'label' ('pre-upgrade'), which is helpful but not described. The description adds no meaning beyond what the schema minimally provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Tag current HEAD') and its purpose ('so the upgrade can be rolled back if needed'). It distinguishes from tools like 'restore_checkpoint' and 'list_checkpoints' by focusing on creation. However, it does not explicitly mention that this creates a git tag, which would be more precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage during upgrades by mentioning 'the upgrade can be rolled back,' which provides some context. However, it lacks explicit guidance on when to use this tool versus alternatives like 'restore_checkpoint,' and does not specify prerequisites or when not to use it.

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

detect_upgrade_pathsDetect upgrade pathsC

Compute constrained, package-aware upgrade steps for the supported route.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsNo
rootPathNo
outputFormatNocompact

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'constrained, package-aware' but does not state whether the operation is read-only, what the output looks like, or any side effects. The phrase 'supported route' is vague and could mislead an agent.

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

Conciseness3/5

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

The description is a single compact sentence with no wasted words, making it concise. However, it under-specifies to the point of ambiguity, so it is not as effective as a clear, slightly longer description would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, no parameter descriptions, and no annotations, the description is insufficient. It fails to explain what targets/rootPath/outputFormat mean, what the 'supported route' is, or how this tool relates to its many siblings, making it incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the description does not mention any of the parameters (targets, rootPath, outputFormat). The parameter names and the outputFormat enum provide limited hints, but the description adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'compute' and identifies the resource as 'upgrade steps for the supported route,' which gives some clear intent. However, 'supported route' is undefined, and sibling tools like generate_upgrade_plan suggest overlapping functionality, so it does not clearly differentiate the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as generate_upgrade_plan, analyze_project, or apply_safe_codemods. There are no exclusions, prerequisites, or context clues to help an agent select it correctly.

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

find_breaking_changesFind breaking changesD

Attach official migration references and curated risk areas to selected packages.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsNo
rootPathNo
outputFormatNocompact

TDQS

D1.8/5.0
Behavior1/5

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

No annotations exist, so the description must fully disclose behavioral traits. It does not state whether the tool is read-only, modifies anything, requires authentication, has side effects, or returns data. The description's single sentence provides no behavioral context at all, leaving the agent blind to how the tool behaves when invoked.

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

Conciseness2/5

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

The description is a single sentence, which is concise in length, but it is not effectively structured. It is not front-loaded with the core action; the verb 'attach' is misleading. The sentence is wasteful because it fails to convey the tool's purpose clearly. Its brevity does not serve the goal of helping the agent correctly select and invoke the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, no annotations, and three parameters, the description is severely incomplete. It does not explain what the tool returns (if anything), how packages are selected, or what 'migration references' and 'risk areas' consist of. The tool is part of a complex upgrade pipeline (14 sibling tools), yet the description offers no context to fit into that workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no meaning to the three parameters (targets, rootPath, outputFormat). It does not explain what 'targets' refers to, how rootPath is used, or what the outputFormat enum values mean. The description only mentions 'selected packages' which loosely ties to targets but adds no semantic value beyond the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Attach official migration references and curated risk areas to selected packages.' The verb 'attach' is ambiguous for a find operation, and the title 'Find breaking changes' doesn't fully align with the action described. It vaguely implies the tool provides migration references and risk areas, but fails to clearly state that it identifies breaking changes. This is better than a tautology but lacks precision and sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (e.g., detect_upgrade_paths, scan_repo_for_deprecations). The description does not mention prerequisites, expected inputs, or scenarios where this tool is appropriate. The agent must infer usage from the name alone, which is insufficient.

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

generate_upgrade_planGenerate upgrade planC

Turn dependency intelligence and repo findings into an ordered upgrade plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsNo
rootPathNo

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior. However, it says nothing about side effects (e.g., does it create checkpoints, modify files, or require network access?), whether it is read-only, or if it requires specific permissions. The phrase 'generate...plan' implies a computational operation but lacks detail on output format, size limits, or any other behavioral traits.

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 description is a single concise sentence, which is front-loaded and easy to parse. However, it is too sparse to be actually useful, trading completeness for brevity. For a tool with no annotations or schema descriptions, the description should expand to include essential context, but as a standalone sentence it is structurally efficient even if lacking in content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 params, 13 siblings, 0% schema coverage, no annotations, no output schema), the description is severely incomplete. It does not explain the relationship to sibling tools, specify the output format, clarify parameter semantics, or provide any usage guidance. Even as a 'plan generation' tool, it lacks critical context about prerequisites, side effects, and failure modes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the two parameters ('targets' and 'rootPath') at all. 'Targets' could be upgrade targets, dependency names, or something else; 'rootPath' is somewhat self-explanatory but could still use context (e.g., file system root for the repo). The description adds zero meaning beyond the schema property names, which is insufficient for a 2-parameter tool with no schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it 'Turn[s] dependency intelligence and repo findings into an ordered upgrade plan,' which identifies the general action (generating a plan) and the inputs (dependency intelligence and repo findings). However, it does not clearly distinguish this tool from siblings like 'detect_upgrade_paths' or 'run_upgrade_pipeline,' which could also produce upgrade-related outputs. The verb 'turn...into' is vague about the specific transformation, and 'ordered upgrade plan' is not precisely defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'analyze_project,' 'detect_upgrade_paths,' or 'run_upgrade_pipeline.' It doesn't mention prerequisites, what inputs are expected (beyond the vague 'dependency intelligence and repo findings'), or what kind of 'findings' are needed. There is no discussion of when NOT to use it, leaving the agent without context to decide.

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

install_upgradeInstall package upgradesC

Install specific package versions using the detected package manager (npm/yarn/pnpm).

ParametersJSON Schema
NameRequiredDescriptionDefault
packagesYes
rootPathNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosure. It does not mention destructive behavior (like overwriting existing packages), side effects on node_modules or lock files, permission requirements (e.g., write access), or what happens if installation fails (rollback?). This is a significant gap for a mutation tool.

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 description is a single short sentence that conveys the core capability without redundancy. It could be improved by front-loading the action and resource more explicitly, but it is otherwise efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters (one nested array with subfields), no output schema, and no annotations, the description is insufficient. It does not explain the return value, error handling (e.g., version mismatch), or how failures are reported. The scope of installation (single or batch) is implied but not confirmed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate heavily. It only mentions 'specific package versions' and 'detected package manager', but does not explain the nested 'packages' object structure (name, version, dev flag) or the 'rootPath' parameter. The agent would need to infer usage from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('install specific package versions') and resource ('package manager'). It distinguishes from siblings like 'generate_upgrade_plan' and 'validate_upgrade' by focusing on the actual installation step. A slight deduction for not explicitly naming the output or scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for executing the install after planning, given sibling tools like 'generate_upgrade_plan' and 'run_upgrade_pipeline', but it does not explicitly state when to use it versus alternatives (e.g., 'apply_safe_codemods'). No exclusions or prerequisites (like having an upgrade plan) are mentioned.

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

list_checkpointsList git checkpointsC

List all upgrade-pilot checkpoint tags in the repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootPathNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only states the basic function without disclosing any behavioral traits like read-only nature, performance implications, or required permissions.

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

Conciseness3/5

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

The description is very short, but it sacrifices completeness for brevity. It could be improved by front-loading key details about the parameter and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and parameter documentation, the description is insufficient for an agent to correctly select and invoke the tool with appropriate parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0% and the description does not explain the single parameter 'rootPath' (e.g., its purpose, expected format, or default behavior), leaving the agent without necessary context.

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 clearly states the verb 'List' and the resource 'upgrade-pilot checkpoint tags', distinguishing it from sibling tools like create_checkpoint and restore_checkpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as create_checkpoint or restore_checkpoint, nor any prerequisites or context for its use.

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

restore_checkpointRestore git checkpointC

Hard-reset to a previously created checkpoint tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
rootPathNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description must carry full behavioral transparency weight. 'Hard-reset' implies a destructive, irreversible operation (losing uncommitted changes), but the description does not state this explicitly, nor does it mention permissions or side effects. The agent cannot infer safety profile from this alone.

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

Conciseness3/5

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

One short sentence is efficient, but it omits critical information about the tool's behavior (see behavioral transparency). Conciseness is about being not verbose, not about being incomplete. The sentence earns its place but fails to convey enough.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (destructive operation, multiple params, sibling ecosystem) with no annotations and no output schema. The description is not complete enough: it does not explain the effect on the working directory, whether it's reversible, what happens, or how rootPath relates to checkpoint. Significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (no param descriptions in schema), so the description must compensate. It mentions 'label' is a checkpoint tag (which adds some meaning), but 'rootPath' is entirely undocumented. Baseline 3 would require full schema coverage; here, partial compensation plus one uncovered param yields a 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Hard-reset') and clearly identifies the resource ('previously created checkpoint tag'). It distinguishes from sibling tools like 'create_checkpoint' (which creates, not resets) and 'list_checkpoints' (which lists). A 5 would require explicit mention of differentiation from siblings, but the action is still clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage context is provided, no when or when-not to use, no alternatives mentioned. Given that sibling tools include 'check_compatibility' and many other operations that might be prerequisites or safer alternatives, the description offers zero guidance, making this dimension critically weak.

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

run_upgrade_pipelineRun full upgrade pipelineB

Run analyze → paths → breaking changes → deprecations → plan in a single call. Returns a compact summary to save tokens while storing all artifacts for later resource access.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsNo
rootPathNo
skipStepsNo

TDQS

B3.3/5.0
Behavior3/5

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

The description reveals that the tool returns a compact summary (token-saving) and stores all artifacts for later access, which are useful behavioral cues. However, since no annotations exist, the description carries the full burden: it does not clarify whether the tool is read-only (analysis/planning) or mutates state. Given the sibling 'apply_safe_codemods' suggests actual changes are separate, but the description lacks an explicit statement about side effects or permissions.

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 covering purpose and key behavioral traits (compact summary, artifact storage) with no redundant words. Each sentence adds new information, and the purpose is front-loaded in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a five-step pipeline with 3 parameters, no output schema, and no annotations, the description leaves several gaps. It omits parameter explanations, does not state whether the tool performs writes or is safe to run, and does not describe what the compact summary contains. The agent would need external documentation or trial-and-error to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for 3 parameters, the description must explain parameter meanings and valid values. It does not mention targets, rootPath, or skipSteps at all, leaving the agent to guess from names and types. For example, the 'skipSteps' parameter's enum values ('findings', 'breakingChanges') are not explained in context of the five-step pipeline. This is a critical omission.

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 clearly states the tool runs a composite pipeline of five steps (analyze, paths, breaking changes, deprecations, plan) in a single call. The verb 'Run' and resource 'full upgrade pipeline' are specific, and the step sequence distinguishes it from sibling tools that handle individual steps or related tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for executing a full multi-step upgrade analysis in one go, but provides no explicit guidance on when to use this composited approach versus running individual steps. It does not mention alternatives from the sibling list (e.g., analyze_project, find_breaking_changes) or scenarios where this might be inappropriate (e.g., needing only a specific step).

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

scan_repo_for_deprecationsScan repository for deprecated patternsC

Find high-signal repo-level patterns that are known to complicate upgrades.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsNo
rootPathNo
maxFindingsNo
outputFormatNocompact

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It does not mention whether the tool is read-only, if it modifies the repository, or any side effects. The phrase 'high-signal repo-level patterns' is vague and does not clarify what gets destroyed or what permissions are needed.

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 description is one efficient sentence with no wasted words. It front-loads the core verb and domain. However, it could be slightly more structured by adding a second sentence for usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters with 0% schema coverage and no output schema, the description is severely incomplete. It fails to explain what patterns are found, how output is structured, or how parameters control behavior. A scan tool needs more detail about its scope and format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning the description must explain parameter meaning, but it does not. 'targets', 'rootPath', 'maxFindings', and 'outputFormat' are not described. The description adds no value beyond the schema structure, leaving the agent to guess semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Find' and resource 'high-signal repo-level patterns' related to upgrades. It distinguishes from siblings by focusing on scanning for deprecation patterns rather than generating plans (generate_upgrade_plan) or analyzing projects broadly (analyze_project).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. Sibling tools like detect_upgrade_paths or find_breaking_changes could overlap, but no exclusions or context are given. The purpose is implied by 'complicate upgrades' but lacks clear decision support.

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

validate_upgradeValidate upgradeC

Execute type-check, lint, test, and build commands when they are available.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNo
rootPathNo
timeoutMsNo
outputFormatNocompact
quietOnSuccessNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It fails to say whether this tool mutates state, requires specific permissions, or has side effects like modifying configs. The phrase 'when they are available' is vague and does not explain behavior if commands are missing or fail.

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

Conciseness3/5

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

The description is a single sentence, which is concise but underspecified. The core action is front-loaded, but the brevity sacrifices clarity on scope, behavior, and parameters. Every word is necessary, but it does not earn its keep due to missing critical guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, zero schema description coverage, no output schema, and 14 sibling tools, the description is far from complete. It omits return behavior, error handling, and how validation results are reported. The agent would lack sufficient context to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all 5 parameters. The description names only the tool's actions but provides zero detail on parameters like 'include', 'rootPath', 'timeoutMs', 'outputFormat', or 'quietOnSuccess'. This leaves the agent guessing their usage and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it executes type-check, lint, test, and build commands, which gives a clear verb (execute) and resource (available commands). However, it does not differentiate this from siblings like 'check_compatibility' or 'run_upgrade_pipeline', which could overlap in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'scan_repo_for_deprecations' or 'apply_safe_codemods'. There is no mention of prerequisites (e.g., needing a project set up) or when it is appropriate to skip this step. The context of 14 sibling tools makes this a significant gap.

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

write_upgrade_pr_summaryWrite upgrade PR summaryC

Generate a reviewer-friendly markdown summary of the planned upgrade route.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsNo
rootPathNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool generates a summary, but does not clarify if it reads existing data, modifies state, requires network access, or has side effects. There is no mention of output format details, error cases, or performance considerations. The agent is left guessing about mutation risk and dependencies.

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 description is a single concise sentence with no fluff. However, it sacrifices necessary detail for brevity, leading to gaps in parameter semantics and behavioral transparency. It earns high marks for conciseness but loses some for not being front-loaded with critical info like parameter explanations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the sibling tools (e.g., generate_upgrade_plan, detect_upgrade_paths) and lack of output schema or annotations, the description is too sparse. It does not specify what input the summary is based on (e.g., an existing plan), how the upgrade route is determined, or what the output contains. The tool is contextually incomplete for reliable agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description must fully explain both parameters. The description mentions neither 'targets' nor 'rootPath' – it does not define what targets are (e.g., package names, file paths), what rootPath refers to, or how they affect the summary. The agent has no semantic guidance beyond the parameter names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Generate') and resource ('reviewer-friendly markdown summary of the planned upgrade route'). It clearly indicates the tool produces a structured summary for a specific audience (reviewers) related to an upgrade plan. However, it does not differentiate from siblings like generate_upgrade_plan or analyze_project, which could overlap in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as generate_upgrade_plan or analyze_project. The description does not mention prerequisites (e.g., need a prior plan), context (e.g., after detecting paths), or when not to use it. The agent must infer usage from the name alone.

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. 14 tool updatesv0.3.3
    • First observedanalyze_project
    • First observedapply_safe_codemods
    • First observedcheck_compatibility
    • First observedcreate_checkpoint
    • First observeddetect_upgrade_paths
    • First observedfind_breaking_changes
    • First observedgenerate_upgrade_plan
    • First observedinstall_upgrade
    • First observedlist_checkpoints
    • First observedrestore_checkpoint
    • First observedrun_upgrade_pipeline
    • First observedscan_repo_for_deprecations
    • First observedvalidate_upgrade
    • First observedwrite_upgrade_pr_summary

TDQS

B3/5.0

Scored across 14 tools

Disambiguation5/5

Each tool targets a distinct phase or operation in the upgrade workflow (e.g., analysis, planning, codemods, validation, rollback). There is no overlap in purpose, and the descriptions clearly differentiate them.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern (e.g., generate_*, analyze_*, detect_*, apply_*) with one exception: run_upgrade_pipeline vs. the more descriptive 'run' verbs elsewhere. Overall the pattern is clear and predictable.

Tool Count4/5

14 tools is a reasonable count for a specialized upgrade assistant. Each tool covers a needed step, and the set is not overly large or sparse for its domain.

Completeness5/5

The tool set provides end-to-end lifecycle coverage: project analysis, upgrade path detection, breaking changes, safe codemods, validation, installation, checkpoint/rollback, and PR summary. No obvious gaps in the upgrade workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides symbol-level dependency analysis and LLM-ready migration prompts for TypeScript/JavaScript projects, enabling AI editors to scan projects, analyze packages, and generate refactoring prompts.
    139
    19
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides structured migration briefs for LLM coding agents covering breaking changes, codemod coverage, and hallucination warnings for major version bumps of packages like tailwindcss, next, and react.
    -