Back to the catalog

io.github.SolvoHQ/dependency-migration-mcp

Through-the-upgrade dependency-migration briefs for LLM coding agents.

Open source Open in the app JSON README (API)

About

Through-the-upgrade dependency-migration briefs for LLM coding agents.

Details

Kind
MCP servers
Topic
AI, RAG & memory
Publisher
solvohq
Origin
official
Category
ferramentas
Transport
local
Version
0.1.2
Last push
2026-05-16T17:59:53Z
Repository state
ativo
Language
Python
Added
2026-08-29 03:02:16
Updated
2026-08-29 03:02:16
Origin id
io.github.SolvoHQ/dependency-migration-mcp

README

# dependency-migration-mcp

<!-- mcp-name: io.github.SolvoHQ/dependency-migration-mcp -->

**Through-the-upgrade migration briefs for LLM coding agents.**

Official codemods auto-apply the mechanical ~90% of a major version bump.
This MCP server briefs your agent on the **non-mechanical ~10% that still
leaves the build red**, and corrects the agent's **stale-v3-training
hallucination** of the old API surface — the part a codemod cannot do.

For one `(package, from, to)` triple it returns a structured brief: per
breaking change — category, before/after, how to grep every occurrence in
*your* code, the fix, and whether the free codemod already covers it — plus a
top-level list of the specific old-API hallucinations the agent must suppress.

## Supported matrix

| package       | from → to | tier | source |
|---------------|-----------|------|--------|
| `tailwindcss` | 3 → 4     | **flagship — verified** against the upstream upgrade guide (2026-05-16) | https://tailwindcss.com/docs/upgrade-guide |
| `next`        | 14 → 15   | reasonable-accuracy | https://nextjs.org/docs/app/guides/upgrading/version-15 |
| `react`       | 18 → 19   | reasonable-accuracy | https://react.dev/blog/2024/04/25/react-19-upgrade-guide |

Versions are normalised by major (`3`, `3.4.1`, `v3`, `^3` → `3`). An unknown
package or unsupported pair returns a clean structured `not_found` (with the
supported matrix) — never an exception. Data is hand-curated and offline (no
runtime network calls).

## Install (one command, zero account)

```bash
uvx --from git+https://github.com/SolvoHQ/dependency-migration-mcp dependency-migration-mcp
```

That fetches, builds, and runs the stdio MCP server straight from public
GitHub. No clone, no signup, no API key. (Need `uvx`? `pip install uv`.)

Prefer pip? A venv fallback:

```bash
python3 -m venv .venv && . .venv/bin/activate
pip install "git+https://github.com/SolvoHQ/dependency-migration-mcp.git"
dependency-migration-mcp        # runs the stdio server
```

## Wire it into your agent

**Claude Code** — `claude mcp add`:

```bash
claude mcp add dependency-migration -- uvx --from git+https://github.com/SolvoHQ/dependency-migration-mcp dependency-migration-mcp
```

or drop this into `.mcp.json` at your project root:

```json
{
  "mcpServers": {
    "dependency-migration": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/SolvoHQ/dependency-migration-mcp",
        "dependency-migration-mcp"
      ]
    }
  }
}
```

**Cursor** — `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "dependency-migration": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/SolvoHQ/dependency-migration-mcp",
        "dependency-migration-mcp"
      ]
    }
  }
}
```

## Tool

`get_migration(package: str, from_version: str, to_version: str) -> dict`

Read-only. Returns a JSON-able brief: `summary` (counts, codemod command +
what it does/doesn't cover, `stale_training_hallucination_warnings`,
positioning) and `breaking_changes[]` (each with `id`, `title`, `category`
∈ `{mechanical, non-mechanical, behavioural, removed-api, config-shape}`,
`what_changed.{description,before,after}`,
`find_occurrences.{guidance,patterns}`, `fix`, `codemod_covered`, and
`codemod_command` when covered).

Use it mid-upgrade: right after bumping a major version and seeing the build
go red, ask the agent to call `get_migration` before it starts editing.

## Smoke test

```bash
pip install -r requirements.txt          # mcp>=1.2, pydantic>=2  (Python 3.10+)
python smoke_test.py
```

Imports the server, calls `get_migration("tailwindcss","3","4")` and asserts
the `@tailwind`→`@import` change, the CSS-first config-shape change, and a
stale-training hallucination warning are present; then asserts an unknown
pair returns a clean `not_found`.

More