jarp-mcp
Servidor MCP del Protocolo de Lectura de Archivos Java: otorga a los agentes de IA visión de rayos X en código Java compilado mediante la descompilación de archivos JAR/WAR/EAR y dependencias de Maven/Gradle
Documentación
JARP-MCP
Java Archive Reader Protocol — Dale a los agentes de IA visión de rayos X sobre el código Java compilado
⚡ Comienza en 10 segundos
Añade esto a la configuración MCP de tu editor de IA:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Eso es todo. Sin instalación. Sin configuración. Descompilador CFR incluido.
Lo que esto permite: Tu agente de IA (Claude, Cursor, Windsurf, Cline, etc.) ahora puede:
- Descompilar cualquier clase Java de tus dependencias
- Analizar la estructura de clases, métodos y campos
- Leer el código fuente real en lugar de adivinar
Reinicia tu editor de IA y prueba: "Muéstrame el código fuente de JpaRepository"
El Problema
Los agentes de IA como Claude, GPT-4 y Cursor no pueden leer código Java compilado. Al trabajar con Spring Boot, Maven o cualquier proyecto Java:
"Muéstrame cómo funciona JpaRepository.saveAll()" → El agente alucina la firma del método
"¿Qué parámetros toma esta función de biblioteca interna?" → El agente adivina mal
"¿Por qué esta dependencia lanza esta excepción?" → El agente no puede ver el código fuente
Los desarrolladores pasan de 5 a 10 minutos por clase descompilando manualmente con JD-GUI, copiando el código fuente y pegándolo en el chat.
La Solución
JARP-MCP da a los agentes de IA acceso instantáneo al código fuente Java descompilado de tus dependencias Maven y Gradle.
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ LLM Agent │ ───▶ │ JARP-MCP │ ───▶ │ Maven/Gradle │
│ (Claude/ │ │ (MCP Server) │ │ + .m2 Repo │
│ Cursor) │ │ │ │ │
└─────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────┐
│ CFR 0.152 │
│ Decompiler │
└──────────────┘
Impacto
| Métrica | Antes | Después |
|---|---|---|
| Tiempo para inspeccionar una clase | 5-10 min | <2 segundos |
| Precisión de las respuestas de IA | ~60% (adivinando) | 100% (código fuente real) |
| Pasos manuales | 4+ | 0 |
Herramientas MCP
| Herramienta | Qué hace |
|---|---|
scan_dependencies | Escanea tu proyecto Maven/Gradle, construye índice de clase → JAR |
decompile_class | Devuelve el código fuente Java completo de cualquier clase |
analyze_class | Analiza la estructura de clases, métodos, campos, herencia |
Ejemplo de uso
// In your AI assistant chat:
"Scan my Spring Boot project and decompile JpaRepository"
El agente usa JARP-MCP para:
- Escanear todas las dependencias en
pom.xml - Encontrar el JAR que contiene
JpaRepository - Descompilarlo usando CFR
- Devolver el código fuente real
Resultado: Respuestas precisas basadas en código real, no en suposiciones.
Stack Tecnológico
JARP-MCP
├── Language: TypeScript 5.7
├── Runtime: Node.js 16+
├── Protocol: Model Context Protocol (MCP)
├── Decompiler: CFR 0.152 (bundled)
├── Build: tsc
├── Package: npm (zero-setup with npx)
└── License: Apache-2.0
Detalles clave de implementación
- Cero dependencias externas — Descompilador CFR incluido (JAR de 2.2MB)
- Resolución inteligente de rutas — Funciona con
npx,npm install -g, desarrollo local - Soporte Maven y Gradle — Analiza
pom.xmlybuild.gradle - Caché inteligente — Primera descompilación ~2s, siguientes <100ms
- Auto-indexación — Construye el índice de clases bajo demanda si falta
Instalación
Configuración cero (Recomendado)
npx jarp-mcp
No se requiere instalación. Todo está incluido.
Instalación global
npm install -g jarp-mcp
jarp-mcp start
Desde el código fuente
git clone https://github.com/tersePrompts/jarp-mcp.git
cd jarp-mcp
npm install
npm run build
Configuración MCP
Configuración rápida — Funciona con cualquier editor de IA compatible con MCP:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Configuración específica por plataforma
Claude Code (CLI)
Crea .claude/mcp-config.json en la raíz de tu proyecto Java:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Cursor IDE
Configuración → Servidores MCP → Añadir servidor:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
O en .cursorrules:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Postman (con soporte MCP)
- Abre Postman → Configuración → Servidores MCP
- Añade un nuevo servidor:
{
"name": "jarp-mcp",
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
Windsurf IDE
En .windsurfrules o configuración del proyecto:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Cline (Extensión de VSCode)
En .clinerules o configuración del proyecto:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Rendimiento
| Operación | Primera ejecución | En caché |
|---|---|---|
| Escanear 100 JARs | ~30s | N/A |
| Descompilar clase | ~2s | <100ms |
| Analizar estructura | ~2s | <100ms |
Caso real: Proyecto Spring Boot con 156 dependencias, 12,458 clases
- Escaneo inicial: 45 segundos
- Cada clase: ~1.5s la primera vez, instantáneo después
Enlaces
- npm: https://www.npmjs.com/package/jarp-mcp
- GitHub: https://github.com/tersePrompts/jarp-mcp
- MCP Protocol: https://modelcontextprotocol.io
Funciona con cualquier cliente MCP sobre STDIO — Claude, Cursor, Windsurf, Cline, Postman y más.
Licencia
Apache License 2.0 — ver LICENSE
Agradecimientos
- handsomestWei — Original java-class-analyzer-mcp-server
- Lee Benfield — CFR Decompiler
- Anthropic — Claude y ecosistema MCP
Construido con ❤️ para la comunidad de desarrollo impulsada por IA