HeroUI Migration MCP
Provides tools to facilitate the migration of projects from NextUI v2 to HeroUI v3, including project scanning, file analysis for legacy patterns, automated code rewriting, and component API comparisons.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HeroUI Migration MCP scan my project for legacy HeroUI patterns and list the affected files"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HeroUI Migration MCP
Version: 0.3.0
A Model Context Protocol (MCP) server to help migrate HeroUI v2 / NextUI projects toward HeroUI v3 beta with a practical workflow based on project scanning, file analysis, guided rewrites, component comparison, and documentation lookup.
š Overview
HeroUI v3 introduces important changes compared with v2:
more compound component APIs
package and import changes
updated overlay and hook patterns
Tailwind/CSS workflow changes
some components that still require manual migration decisions
This server is designed to support a controlled, review-first migration workflow:
Scan a project.
Analyze impacted files.
Rewrite safe patterns.
Review manual changes.
Cross-check components against the generated documentation corpus.
Related MCP server: @gapra/nuxt-migration-mcp
Public API
By default, the server exposes the main public tools below:
corpus_statusā check whether generated documentation artifacts are present and usablescan_projectā scan a codebase and identify files using legacy HeroUI/NextUI patternsanalyze_fileā inspect a file and return findings about imports, components, props, hooks, and Tailwind usagerewrite_fileā apply heuristic rewrites and return the rewritten code plus diagnosticscompare_componentā compare a component across v2 and v3 and summarize migration statusaudit_tailwindā inspect a Tailwind config for legacy HeroUI patterns
Legacy tools
Some older compatibility/debugging tools still exist, but they are not enabled by default.
To enable them:
{
"mcpServers": {
"heroui-migration": {
"command": "node",
"args": ["/absolute/path/to/heroui-migration-mcp/dist/src/index.js"],
"env": {
"LEGACY_TOOLS_ENABLED": "true"
}
}
}
}⨠Features
Project scanning
Detects legacy HeroUI/NextUI usage across a project
Highlights affected files
Assigns priority levels to help sequence the migration work
File analysis
Detects legacy imports
Detects component usage that changed in v3
Flags hook migrations and prop migrations
Returns structured findings with severity, confidence, and manual steps
Code rewriting
Rewrites a subset of safe patterns automatically
Returns:
rewritten code
edits
warnings
manual review flag
confidence score
Component comparison
Looks up component presence and migration status between v2 and v3
Helps distinguish:
same component
renamed component
compound API migration
removed/unknown component
Documentation corpus
Uses generated v2/v3 docs optimized for migration lookup
Supports component-only and full documentation outputs
Exposes generated documentation as MCP resources
Tailwind audit
Detects outdated HeroUI/Tailwind patterns
Helps prepare CSS and config changes before component rewrites
š¦ Installation
1. Prerequisites
Node.js (v18+) installed.
A HeroUI v2 project you want to migrate.
2. Setup the MCP Server
Clone this repository and install dependencies:
git clone https://github.com/sctg-development/heroui-migration-mcp.git
cd heroui-migration-mcp
npm install
npm run build3. Build the documentation corpus
Before using the server seriously, generate the migration corpus and indexes:
npm run build-corpus -- --version all
npm run build-index -- --version all
npm run doctorWhat these commands do:
build-corpusgenerates v2/v3 documentation artifacts indata/generatedbuild-indexbuilds component indexes for faster and more reliable lookupsdoctorchecks that the generated artifacts are present and healthy
4. Configure in Your MCP Client
Configure the server in your MCP client (e.g., Claude Desktop, Cursor, or other MCP-compatible editors):
{
"mcpServers": {
"heroui-migration": {
"command": "node",
"args": ["/absolute/path/to/heroui-migration-mcp/dist/src/index.js"]
}
}
}Optional: Enable Legacy Tools (for backward compatibility)
{
"mcpServers": {
"heroui-migration": {
"command": "node",
"args": ["/absolute/path/to/heroui-migration-mcp/dist/src/index.js"],
"env": {
"LEGACY_TOOLS_ENABLED": "true"
}
}
}
}šÆ Recommended workflow
Recommended Migration Process
1. Verify the corpus
Call corpus_status to confirm the generated documentation artifacts are ready.
2. Scan the target project
Call scan_project on the app directory you want to migrate, for example apps/client.
Expected outcome:
list of affected files
priority classification
first overview of the migration scope
3. Analyze representative files
Use analyze_file on the files reported by the scan.
Focus first on:
app providers
layout and navbar files
modal/dropdown/table usage
auth and shell components
shared UI primitives
4. Rewrite safe patterns
Use rewrite_file on files where the analysis indicates mostly safe changes.
Always review:
imports
compound component nesting
modal structure
hooks and overlay logic
navbar-related code
5. Audit Tailwind
Use audit_tailwind on your Tailwind configuration before or during the migration.
6. Validate uncertain components
Use compare_component whenever a component mapping is unclear or looks suspicious.
7. Test incrementally
After each batch of changes:
run TypeScript checks
run lint
run unit tests
smoke-test critical UI flows
Command Line Interface
The project also provides standalone CLI utilities:
# Build documentation corpus
npm run build-corpus -- --version all
# Build component indexes
npm run build-index -- --version all
# Check corpus health
npm run doctor
# Scan a target project
npm run scan-project -- --directory ./apps/client --force
# Audit Tailwind config
npm run audit-tailwind -- --file ./tailwind.config.ts
# Run the test suite
npm run test
# Run tests once
npm run test:runš» Development
Running the Server
# Production mode
npm run start
# Development mode with auto-reload
npm run dev
# Using the MCP Inspector (test interface)
npm run inspect
# Inspector in watch mode
npm run inspect:devBuilding & Testing
# Compile TypeScript
npm run build
# Run tests
npm run test
# Run tests (non-watch)
npm run test:runš Project Architecture
src/ āāā cli/ # command-line utilities āāā core/ # analysis, rewriting, migration logic, AST helpers āāā indexers/ # component/document indexing helpers āāā knowledge/ # mappings, aliases, migration knowledge āāā types/ # contracts and schemas āāā server.ts # MCP server registration āāā index.ts # stdio entry point
data/ āāā generated/ # generated v2/v3 documentation corpus āāā index/ # generated component indexes
š File Formats
Generated documentation is available in multiple formats:
Format | Files | Purpose |
Full Text |
| Complete paginated documentation for LLMs |
Components Only |
| Component reference only |
JSON Index |
| Component metadata index |
Web Variant |
| v3 Web-specific documentation |
Native Variant |
| v3 React Native documentation |
ā ļø Migration guidance & Known Limitations
What works well
This server is especially useful for:
identifying migration hotspots quickly
detecting common v2 imports and patterns
converting many compound component cases
generating structured rewrite diagnostics
helping teams migrate incrementally
What still needs review
Manual review is still recommended for:
navbar-related code
overlay logic and hook migration
modal composition changes
advanced Tailwind/theming patterns
any rewrite with warnings or low confidence
Known limitations
Some migrations are heuristic and cannot be guaranteed correct automatically.
HeroUI v3 beta may still evolve.
Certain components or patterns require manual refactoring rather than direct renaming.
Generated corpus health and project migration progress are related but not identical concerns.
Best practices
Start with
scan_project, notrewrite_fileUse
analyze_filebefore rewriting complex filesReview all warnings before committing changes
Migrate in small batches
Keep the original v2 branch available for comparison
Re-run scans after each migration batch
š Official References
š License
This project is released under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
Copyright Ā© 2026 Ronan LE MEILLAT - SCTG Development
All source files include a header comment block with copyright information. The full license text is available in LICENSE.md.
What this means:
ā You can use, modify, and distribute this software
ā You must include the original license and copyright notice
ā You must disclose modifications to the source code
ā ļø You must distribute any derivative work under the same AGPL-3.0+ license
ā ļø Network usage counts as distribution (if you modify and run this server, you must provide access to the source)
For more details, see the full AGPL-3.0 License.
Available Tools
6 toolsanalyze_fileAnalyze fileC
Analyze code and return detailed findings about legacy imports, components, props, hooks and Tailwind patterns.
Inputs: code (required), filename.
audit_tailwindAudit Tailwind configB
Analyze a Tailwind configuration file for legacy HeroUI patterns.
Inputs: code (required).
compare_componentCompare componentB
Show presence/status of a component between v2 and v3, with alias lookup.
Inputs: component (required).
corpus_statusCorpus statusB
Checks the presence and metadata of generated documentation artifacts.
Inputs: no named parameters.
rewrite_fileRewrite fileC
Apply heuristic migrations to code and return the rewritten source plus diagnostics.
Inputs: code (required).
scan_projectScan project for HeroUI v2B
Recursively scans a directory for files using legacy HeroUI/NextUI components.
Inputs: directory (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose within the HeroUI migration domain: analyze_file focuses on code analysis, audit_tailwind targets configuration files, compare_component handles component comparisons, corpus_status checks documentation artifacts, rewrite_file performs code migrations, and scan_project scans directories. There is no overlap or ambiguity in their functions.
The tool names follow a consistent verb_noun pattern (e.g., analyze_file, audit_tailwind, compare_component) with clear, descriptive verbs. The only minor deviation is 'corpus_status', which uses a noun_verb structure, but overall the naming is highly predictable and readable.
With 6 tools, the server is well-scoped for its purpose of HeroUI migration. Each tool serves a specific role in the migration workflow, from scanning and analysis to comparison and rewriting, making the count appropriate and efficient for the domain.
The tool set covers key aspects of a migration workflow: scanning (scan_project), analysis (analyze_file, audit_tailwind), comparison (compare_component), documentation checks (corpus_status), and rewriting (rewrite_file). A minor gap might be tools for handling edge cases or rollback operations, but the core migration process is well-covered.
Maintenance
Related MCP Connectors
PHP2Shell (CVE-2026-109618) scanner and automated WordPress to Zero-PHP Next.js migration.
PHP2Shell (CVE-2026-109618) scanner and automated WordPress to Zero-PHP Next.js migration.
Find, read and install shadcn components with Salesforce Lightning's look, for Radix and Base UI.
Find retiring AI models and outdated API SDKs in your code, with dates, replacements and guides.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides comprehensive tools for TailwindCSS development including utility class retrieval, CSS-to-Tailwind conversion, and color palette generation. It enables AI assistants to search documentation, generate component templates, and provide framework-specific installation guides.82,989 npm40MIT
- AlicenseAqualityDmaintenanceProvides automated analysis, audit, and code generation to migrate Nuxt 2/3 projects to Nuxt 3/4, with orchestrated multi-server workflow support.2333 npm5MIT
- AlicenseBqualityDmaintenanceEnables AI agents to safely upgrade JavaScript and TypeScript projects through dependency analysis, upgrade path detection, breaking change identification, codemod application, and PR summary generation.1415 npmMIT
- FlicenseNot gradedqualityDmaintenanceAudits dbt Core projects for migration blockers and generates actionable guidance for migrating to dbt Cloud, including auto-fixing deprecated syntax.-