MCP JVM Diagnostics
Servidor MCP de diagnóstico JVM para análisis de volcados de hilos y registros de GC. Detecta interbloqueos, contención de bloqueos y presión de GC. Se ejecuta mediante npx en Node.js: no requiere JVM ni Docker.
Documentación
MCP JVM Diagnostics
Un servidor de Model Context Protocol (MCP) que brinda a los asistentes de IA la capacidad de analizar volcados de hilos (thread dumps) y registros de GC de JVM. Detecta interbloqueos (deadlocks), identifica puntos críticos de contención de bloqueos, analiza la presión de recolección de basura y recomienda parámetros de ajuste de JVM.
¿Por qué esta herramienta?
Existen servidores MCP de diagnóstico JVM (TDA, jfr-mcp, Arthas), pero todos están basados en Java, lo que requiere un runtime de JVM solo para diagnosticar problemas de JVM. Esta herramienta se ejecuta en Node.js mediante npx — sin JVM, sin Docker, sin SSH.
Analiza artefactos offline (volcados de hilos, registros de GC, histogramas de heap) en lugar de requerir una JVM en ejecución. Pega un volcado de hilos o un registro de GC y obtén un análisis instantáneo.
Características
- 6 herramientas MCP para diagnóstico integral de JVM
- Análisis de volcados de hilos — detección de interbloqueos, puntos críticos de contención, desglose de estados de hilos
- Análisis de registros de GC — estadísticas de pausas, tendencias de heap, detección de fugas de memoria
- Análisis de histogramas de heap — candidatos a fugas de memoria, fugas de classloader, problemas de finalización
- Resumen JFR — análisis de archivos Java Flight Recorder
- Diagnóstico unificado — correlaciona datos de hilos y GC
- Compatibilidad con formatos de GC G1, ZGC, Parallel, Serial y Shenandoah
- Sin dependencias externas — funciona con entrada de texto local, no se necesitan claves API
Nivel Pro
Genera informes de diagnóstico exportables (HTML + PDF) con una clave de licencia Pro.
- Informe completo de análisis de volcados de hilos JVM con recomendaciones accionables
- Exportación a PDF para compartir con tu equipo
- Soporte prioritario
$9.00/mes — Obtén la licencia Pro
La clave de licencia Pro activa la herramienta MCP generate_report en mcp-jvm-diagnostics.
Instalación
npx mcp-jvm-diagnostics
O instala globalmente:
npm install -g mcp-jvm-diagnostics
Configuración
Claude Desktop
Agrega a ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"jvm-diagnostics": {
"command": "npx",
"args": ["-y", "mcp-jvm-diagnostics"]
}
}
}
No se necesitan variables de entorno — esta herramienta funciona con la entrada de texto que proporciones.
Demo rápida
Prueba estos prompts en Claude (pega tu salida de JVM):
- "Analiza este volcado de hilos: [pega la salida de jstack]" — Detecta interbloqueos, puntos críticos de contención y desglose de estados de hilos
- "Analiza este registro de GC: [pega el registro de GC]" — Muestra estadísticas de pausas, tendencias de heap y recomendaciones de ajuste
- "Compara estos histogramas de heap para encontrar fugas de memoria: ANTES: [pega] DESPUÉS: [pega]" — Identifica clases en crecimiento, fugas de classloader y problemas de finalizadores
Herramientas
analyze_thread_dump
Analiza un volcado de hilos de JVM y examina los estados de los hilos, detecta interbloqueos e identifica contención de bloqueos.
Parámetros:
thread_dump— El texto completo del volcado de hilos (dejstack <pid>,kill -3o VisualVM)
Ejemplo de prompt: "Analiza este volcado de hilos y dime si hay interbloqueos"
analyze_gc_log
Analiza un registro de GC y examina los patrones de recolección de basura, los tiempos de pausa y la presión de memoria.
Parámetros:
gc_log— El texto del registro de GC (de-Xlog:gc*o-verbose:gc)
Ejemplo de prompt: "Analiza este registro de GC y dime si hay problemas de rendimiento"
analyze_heap_histo
Analiza la salida de jmap -histo y detecta candidatos a fugas de memoria, puntos críticos de creación de objetos y fugas de classloader.
Parámetros:
histo— El texto de salida de jmap -histo (dejmap -histo <pid>ojmap -histo:live <pid>)
Ejemplo de prompt: "Analiza este histograma de heap y dime si hay candidatos a fugas de memoria"
diagnose_jvm
Diagnóstico unificado de JVM que combina el análisis de volcados de hilos y registros de GC para un análisis integral de causa raíz.
Parámetros:
thread_dump(opcional) — Texto del volcado de hilosgc_log(opcional) — Texto del registro de GC
Ejemplo de prompt: "Tengo un volcado de hilos y un registro de GC del mismo momento — diagnostica qué está mal"
compare_heap_histos
Compara dos instantáneas de jmap -histo tomadas en momentos diferentes para detectar patrones de crecimiento de memoria y candidatos a fugas.
Parámetros:
before— La primera salida de jmap -histo (más antigua)after— La segunda salida de jmap -histo (más reciente)
Ejemplo de prompt: "Compara estos dos histogramas de heap y dime qué está creciendo"
Detecta:
- Clases con recuentos crecientes de instancias/bytes (candidatos a fugas)
- Clases nuevas que aparecieron entre instantáneas
- Clases que desaparecieron (recolectadas por GC o descargadas)
- Tasa general de crecimiento del heap
- Fugas de classloader y crecimiento de la cola de finalizadores
Recopilación de diagnósticos JVM
Volcado de hilos
# Using jstack
jstack <pid> > thread-dump.txt
# Using kill signal (Linux/Mac)
kill -3 <pid>
# Using jcmd
jcmd <pid> Thread.print > thread-dump.txt
Registro de GC
Agrega estas banderas de JVM a tu aplicación:
# Java 9+ (unified logging)
-Xlog:gc*:file=gc.log:time,level,tags
# Java 8
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log
Contribuciones
- Clona el repositorio
npm installnpm run buildnpm test
Limitaciones y problemas conocidos
- Solo entrada de texto: Los volcados de hilos, registros de GC e histogramas de heap deben proporcionarse como texto. El servidor no puede conectarse a una JVM en ejecución ni capturar datos automáticamente.
- Registros de GC de Java 9+: El analizador de registros de GC está optimizado para el formato de registro unificado (
-Xlog:gc*). El formato heredado-verbose:gc(Java 8) tiene soporte básico pero puede omitir algunos eventos. - Shenandoah GC: Soporte limitado. G1, ZGC, Parallel y Serial están totalmente soportados.
- Hilos virtuales (Java 21+): El analizador de volcados de hilos maneja hilos virtuales, pero las recomendaciones de análisis están ajustadas para hilos de plataforma.
- Comparación de histogramas de heap: Requiere el formato estándar de
jmap -histoojcmd GC.class_histogram. Los formatos personalizados o la salida truncada pueden no analizarse correctamente. - Detección de interbloqueos: Detecta interbloqueos basados en monitores. Los interbloqueos de ReentrantLock pueden no detectarse si las direcciones de bloqueo no son visibles en el volcado de hilos.
- Sin análisis histórico: Cada análisis es una instantánea en un momento dado. Para análisis de tendencias, compara múltiples instantáneas manualmente.
- Solo HotSpot/OpenJDK: El analizador está dirigido al formato de volcado de hilos de HotSpot/OpenJDK. Los volcados de GraalVM native-image o Eclipse OpenJ9 pueden analizarse de forma incompleta.
- Detección de fugas de classloader: El análisis de heap señala instancias de ClassLoader en crecimiento, pero no puede probar definitivamente una fuga sin datos de un perfilador de memoria.
Parte del MCP Java Backend Suite
- mcp-db-analyzer — Análisis de esquemas PostgreSQL/MySQL/SQLite
- mcp-spring-boot-actuator — Análisis de salud, métricas y beans de Spring Boot
- mcp-redis-diagnostics — Diagnóstico de memoria, slowlog y clientes de Redis
- mcp-migration-advisor — Análisis de riesgo de migraciones Flyway/Liquibase
Licencia
MIT
Fin de vida útil: 2026-05-10.
Este servidor MCP ya no se mantiene ni se distribuye. La Corporación
ha cambiado a actores del marketplace de Apify. Consulta
irrationalways en Apify y
irrcorp/bzp-poland-tenders para el trabajo actual de la Corporación.
El paquete npm se ha retirado de la publicación. El repositorio está archivado solo como referencia histórica.