New:Socket for Asana Is Now Available.Learn more
Get Started

mcp-spec-migrator

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mcp-spec-migrator

Codemod and compatibility-matrix tool for migrating MCP server repos across spec versions (2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25). Read-only detector + migration plan generator. CLI + MCP server.

latest
Source
npmnpm
Version
0.1.1
Version published
Weekly downloads
31
63.16%
Maintainers
1
Weekly downloads
 
Created
Source

mcp-spec-migrator

Codemod and compatibility-matrix tool for migrating MCP server repos across spec versions.

Detects which MCP spec a repo targets, computes the diff to a target version, generates a MIGRATION.md plan, and verifies completion. Read-only — never writes patches into your repo.

Install

npm install -g mcp-spec-migrator
# or one-shot
npx mcp-spec-migrator detect /path/to/your-mcp-server

Library:

npm install mcp-spec-migrator
import { detect, computeMatrix, generatePlan } from "mcp-spec-migrator";

const result = await detect("/path/to/repo");
console.log(result.detected, result.confidence);

Requires Node 20+.

Supported spec versions

VersionStatusReleased
2024-11-05legacy2024-11-05
2025-03-26legacy2025-03-26
2025-06-18reference2025-06-18
2025-11-25current2025-11-25

Migrator itself runs on 2025-06-18. It is intentionally not on 2025-11-25 until Inspector + Claude Desktop adopt the new spec — keeping the migrator backwards-compatible with older clients.

CLI

mcp-spec-migrator versions
mcp-spec-migrator detect <repo>          [--json]
mcp-spec-migrator plan <repo>            --target <version>  [--json]
mcp-spec-migrator check <repo>           --target <version>  [--json]
mcp-spec-migrator diff <v1> <v2>         [--format markdown|json]

Examples:

mcp-spec-migrator detect ./my-mcp-server
mcp-spec-migrator plan ./my-mcp-server --target 2025-11-25 > MIGRATION.md
mcp-spec-migrator check ./my-mcp-server --target 2025-11-25
mcp-spec-migrator diff 2025-06-18 2025-11-25

check exits with code 1 if migration is incomplete — useful as a pre-commit gate.

MCP server

The same logic is exposed as a 6-tool MCP server over stdio. All tools are readOnlyHint: true and destructiveHint: false.

ToolArgsReturns
detect_spec_version{ repo_path }{ detected, confidence, evidence[], sdkVersion, candidates[] }
compatibility_matrix{ from, to }{ breaking[], soft_deprecations[], new_features[], experimental[], unchanged_areas[] }
generate_migration_plan{ repo_path, target_version }{ plan_markdown, files_to_touch[], estimated_diff_kb, unscanned_files[] }
check_migration_complete{ repo_path, target_version }{ complete, missing_steps[], warnings[] }
list_supported_versions{}{ versions[], current_reference, latest, detail[] }
diff_spec_versions{ v1, v2, format? }{ diff, summary }

Wire it up in Claude Desktop / VS Code MCP / Inspector:

{
  "mcpServers": {
    "spec-migrator": {
      "command": "npx",
      "args": ["-y", "mcp-spec-migrator"]
    }
  }
}

Compatibility matrix

Migrator versionMCP SDKNodeSpec it runs onSpecs it can detect & plan
0.1.x^1.29.020+2025-06-182024-11-05, 2025-03-26, 2025-06-18, 2025-11-25

Detection strategy

Confidence is in [0, 1]. The migrator returns unknown below 0.50 rather than guessing.

  • 1.00 — Explicit meta.specVersion in the server constructor.
  • 0.85@modelcontextprotocol/sdk semver range maps unambiguously to one spec.
  • 0.60 — AST fingerprint pattern (request handler names, annotation field names).
  • <0.50unknown with full evidence list.

Source files outside src/, lib/, server/ are not scanned. Files larger than 256 KB are skipped. ts-morph parse failures are caught per-file so one bad source file does not halt detection.

  • Memory (56 tools, highest surface)
  • CRM (33 tools)
  • GEO (24 tools)
  • Crew (10 tools)
EventToolUse case
Stopdetect_spec_versionAuto-detect at session end. Warns on stale spec.
UserPromptSubmitlist_supported_versionsTrigger on phrase "spec version?" — direct answer.
PreCompactgenerate_migration_planPersist plan to memory before context compaction.
Stopcheck_migration_completePre-commit gate: block when target spec incomplete.
UserPromptSubmitdiff_spec_versionsTrigger on phrase "diff 2025-X 2025-Y".

All tools are read-only, deterministic, and run in <10s on typical repos. No network calls. No telemetry.

Out of scope

  • --apply flag (auto-applying patches). Separate build, intentionally deferred.
  • Python-SDK MCP servers. v2.
  • Live spec fetch at runtime. Spec data is committed as code.
  • Hosted SaaS wrapper. CLI + library only.

License

MIT — Copyright (c) 2026 Matthias Meyer (StudioMeyer).

Keywords

mcp

FAQs

Package last updated on 21 Jun 2026

Related posts