by adrianmikula
Automate Java EE to Jakarta EE migrations with dependency analysis, javax to jakarta namespace refactoring, and OpenRewr
Automates migration of Java applications from Java EE 8 (javax.*) to Jakarta EE 9+ (jakarta.*) with analysis and refactoring tools.
Jakarta Migration is a community-built MCP server published by adrianmikula that provides AI assistants with tools and capabilities via the Model Context Protocol. Automate Java EE to Jakarta EE migrations with dependency analysis, javax to jakarta namespace refactoring, and OpenRewr It is categorized under developer tools.
You can install Jakarta Migration in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server supports remote connections over HTTP, so no local installation is required.
NOASSERTION
Jakarta Migration is released under the NOASSERTION license.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
According to our notes, Jakarta Migration benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
I recommend Jakarta Migration for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
We wired Jakarta Migration into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Strong directory entry: Jakarta Migration surfaces stars and publisher context so we could sanity-check maintenance before adopting.
I recommend Jakarta Migration for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strong directory entry: Jakarta Migration surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Jakarta Migration is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Jakarta Migration is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Jakarta Migration is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
We evaluated Jakarta Migration against two servers with overlapping tools; this profile had the clearer scope statement.
showing 1-10 of 25
A Model Context Protocol (MCP) server that provides AI coding assistants with specialized tools for analyzing and migrating Java applications from Java EE 8 (javax.*) to Jakarta EE 9+ (jakarta.*).
Prerequisites: Java 21+ and Node.js 18+
# Install via npm (one-time)
npm install -g @jakarta-migration/mcp-server
# Or use with npx (no installation)
npx -y @jakarta-migration/mcp-server
See Local Setup (STDIO) below for client configuration.
A native IntelliJ IDEA plugin is also available for users who prefer an IDE-integrated experience:
Get it from JetBrains Marketplace →
Ctrl+Alt+S or Cmd+,)If you have IntelliJ AI Assistant installed:
The Jakarta Migration MCP Server enables your AI coding assistant to:
Migrating from Java EE 8 (javax.*) to Jakarta EE 9+ (jakarta.*) is complex because:
javax.* internallyjavax.* usage in XML configs, annotations, and dynamic loadingThis MCP server provides AI assistants with the specialized knowledge and tools to navigate these challenges effectively.
Your code and project data are handled with the utmost care. We understand that Java developers working with enterprise codebases need complete confidence in the security and privacy of their intellectual property.
✅ No Data Persistence - The service is completely stateless. Your project files, source code, and analysis results are never stored, logged, or persisted on our servers.
✅ No Data Collection - We don't collect, track, or analyze your code. Each request is processed independently with no memory of previous requests.
✅ Local Execution Option - For maximum privacy, you can run the entire service locally using the Local Setup option. Your code never leaves your machine.
When running locally via STDIO:
For maximum security and privacy, we recommend using the local STDIO setup for sensitive projects.
For local development, use STDIO transport which works with Cursor, Claude Code, and Antigravity. This is the recommended approach for maximum privacy and performance.
java -versionnode --versionOption 1: Global Install (Recommended)
Install the package globally for system-wide access:
npm install -g @jakarta-migration/mcp-server
After installation:
jakarta-migration-mcpOption 2: npx (No Installation)
Use npx to run without installing:
npx -y @jakarta-migration/mcp-server
The -y flag automatically accepts the package download. The JAR will be downloaded and cached on first use.
Option 3: Local Development Build
If you're building from source or want to use a local JAR:
# Build the JAR
./gradlew bootJar
# Set environment variable to use local JAR
export JAKARTA_MCP_JAR_PATH=/path/to/build/libs/jakarta-migration-mcp-1.0.0-SNAPSHOT.jar
# Run via npm wrapper
npx -y @jakarta-migration/mcp-server
Windows (PowerShell):
# Build the JAR
.\gradlew.bat bootJar
# Set environment variable
$env:JAKARTA_MCP_JAR_PATH = "E:\Source\JakartaMigrationMCP\build\libs\jakarta-migration-mcp-1.0.0-SNAPSHOT.jar"
# Run via npm wrapper
npx -y @jakarta-migration/mcp-server
The npm package is a lightweight Node.js wrapper that:
%USERPROFILE%\AppData\.cache\jakarta-migration-mcp\~/.cache/jakarta-migration-mcp/Pre-download the JAR:
You can pre-download the JAR without starting the server:
npx -y @jakarta-migration/mcp-server --download-only
This is useful for:
Verify Installation:
After installing, verify everything works:
# Test the wrapper can find Java and download JAR
npx -y @jakarta-migration/mcp-server --download-only
# Check if command is available (if installed globally)
jakarta-migration-mcp --download-only
You should see:
To use a custom JAR path or override transport, see NPM Installation Configuration.
Ctrl+, or Cmd+,)Windows:
{
"mcpServers": {
"jakarta-migration": {
"command": "npx",
"args": ["-y", "@jakarta-migration/mcp-server"]
}
}
}
Mac/Linux:
{
"mcpServers": {
"jakarta-migration": {
"command": "npx",
"args": ["-y", "@jakarta-migration/mcp-server"]
}
}
}
{
"name": "jakarta-migration",
"command": "npx",
"args": ["-y", "@jakarta-migration/mcp-server"]
}
If you've built the project locally and want to bypass the npm wrapper:
Windows:
{
"mcpServers": {
"jakarta-migration": {
"command": "java",
"args": [
"-jar",
"C:\path\ o\jakarta-migration-mcp-1.0.0-SNAPSHOT.jar",
"--spring.profiles.active=mcp-stdio",
"--spring.ai.mcp.server.transport=stdio",
"--spring.main.web-application-type=none"
]
}
}
}
Mac/Linux:
{
"mcpServers": {
"jakarta-migration": {
"command": "java",
"args": [
"-jar",
"/path/to/jakarta-migration-mcp-1.0.0-SNAPSHOT.jar",
"--spring.profiles.active=mcp-stdio",
"--spring.ai.mcp.serve
---
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.