MCP Spring Boot Actuator

Servidor MCP de Spring Boot Actuator: analiza los endpoints de salud, métricas, entorno, beans e inicio. Detecta problemas de configuración y riesgos de seguridad con recomendaciones prácticas.

Documentación

npm version License: MIT

MCP Spring Boot Actuator

Un servidor MCP que analiza los endpoints de Spring Boot Actuator: salud, métricas, entorno, beans, arranque y cachés. Detecta problemas, riesgos de seguridad y proporciona recomendaciones accionables.

¿Por qué esta herramienta?

No existe ningún otro servidor MCP que analice los endpoints de Spring Boot Actuator. Esta es la única herramienta que permite a tu asistente de IA comprender la salud, el rendimiento, la configuración y el comportamiento de arranque de tu aplicación Spring Boot a través de los datos de actuator.

7 herramientas analíticas convierten el JSON crudo de actuator en diagnósticos accionables: comprobaciones de salud, análisis de métricas JVM, detección de riesgos de seguridad en entorno/beans, identificación de cuellos de botella en el arranque y análisis de eficiencia de caché.

Nivel Pro

Genera informes de diagnóstico exportables (HTML + PDF) con una clave de licencia Pro.

  • Informe completo de análisis de volcado de hilos JVM con recomendaciones accionables
  • Exportación a PDF para compartir con tu equipo
  • Soporte prioritario

$9.00/mes — Obtener licencia Pro

La clave de licencia Pro activa la herramienta MCP generate_report en mcp-jvm-diagnostics.

Herramientas (7)

analyze_health

Analiza y diagnostica la respuesta del endpoint /health. Detecta componentes no saludables (base de datos, Redis, Kafka, Elasticsearch, espacio en disco) con recomendaciones específicas por componente.

curl http://localhost:8080/actuator/health | jq '.' > health.json

Detecta:

  • Componentes DOWN/OUT_OF_SERVICE
  • Advertencias de espacio en disco bajo (< 15% libre)
  • Salud de componentes anidados (p. ej., bases de datos primarias/secundarias)
  • Endpoints de salud restringidos (sin show-details)

analyze_metrics

Analiza métricas de JVM, HTTP y pool de base de datos desde los endpoints /metrics.

# Collect metrics into a single JSON object:
{
  "jvm.memory.used": 800000000,
  "jvm.memory.max": 1000000000,
  "jvm.threads.live": 150,
  "jvm.gc.pause.count": 500,
  "jvm.gc.pause.total": 8.5,
  "http.server.requests.count": 10000,
  "http.server.requests.error.count": 50,
  "hikaricp.connections.active": 8,
  "hikaricp.connections.max": 10
}

Detecta:

  • Utilización del heap >= 90% (CRÍTICO) o > 75% (ADVERTENCIA)
  • Recuento alto de hilos (> 500)
  • Pausas GC largas (promedio > 200 ms)
  • Tasa de error HTTP > 10% (CRÍTICO) o > 1% (ADVERTENCIA)
  • Agotamiento del pool de conexiones >= 90% (CRÍTICO)
  • Solicitudes de conexión pendientes

Admite tanto valores de métricas planos como el formato de medición de Spring Boot ({ measurements: [{ statistic: "VALUE", value: N }] }).

analyze_env

Analiza el endpoint /env en busca de riesgos de seguridad y configuraciones incorrectas.

curl http://localhost:8080/actuator/env | jq '.' > env.json

Detecta:

  • Secretos expuestos (contraseñas, claves API, tokens no enmascarados con ******)
  • Configuraciones de producción riesgosas: ddl-auto: create-drop, consola H2 habilitada, show-sql: true
  • DevTools habilitado en producción
  • Todos los endpoints de actuator expuestos (management.endpoints.web.exposure.include=*)
  • Perfiles de Spring faltantes (sin perfiles activos configurados)

analyze_beans

Analiza el endpoint /beans en busca de problemas arquitectónicos.

curl http://localhost:8080/actuator/beans | jq '.' > beans.json

Detecta:

  • Dependencias circulares (A → B → A)
  • Beans singleton que dependen de beans con alcance prototype (desajuste de alcance)
  • Beans con más de 10 dependencias (objetos Dios)
  • Recuentos grandes de beans (> 500)
  • Múltiples contextos de aplicación

analyze_startup

Analiza el endpoint de actuator /startup (Spring Boot 3.2+). Analiza la línea de tiempo de arranque para detectar inicialización lenta de beans y auto-configuraciones pesadas.

curl -X POST http://localhost:8080/actuator/startup | jq '.' > startup.json

Parámetros:

  • json — La respuesta JSON del endpoint /startup

Detecta:

  • Arranque lento (> 30 s CRÍTICO, > 15 s ADVERTENCIA)
  • Auto-configuraciones pesadas que consumen > 30% del tiempo de arranque
  • Inicialización lenta de beans (> 2 s por bean)
  • Los pasos más lentos clasificados por duración

analyze_caches

Analiza el endpoint de actuator /caches. Enumera las cachés registradas y detecta problemas de configuración.

curl http://localhost:8080/actuator/caches | jq '.' > caches.json

Parámetros:

  • json — La respuesta JSON del endpoint /caches

Detecta:

  • Uso ilimitado de ConcurrentMapCache (sin desalojo, crecerá indefinidamente)
  • Demasiadas cachés (> 20, sobrecarga de memoria)
  • Gestores de caché faltantes (sin Spring Cache configurado)
  • Registros de caché vacíos

analyze_loggers

Analiza el endpoint de actuator /loggers. Detecta configuraciones de registro verbosas que afectan el rendimiento y la seguridad en producción.

curl http://localhost:8080/actuator/loggers | jq '.' > loggers.json

Parámetros:

  • json — La respuesta JSON del endpoint /loggers

Detecta:

  • Logger ROOT configurado en DEBUG/TRACE (inunda los registros, degrada el rendimiento)
  • Loggers DEBUG/TRACE configurados explícitamente (probablemente restos de depuración)
  • Registro verboso del framework (Spring, Hibernate, HikariCP, Micrometer, Apache)
  • Niveles de registro inconsistentes entre paquetes relacionados
  • Más de 5 loggers verbosos (señales de configuración de depuración residual)

Instalación

npm install -g mcp-spring-boot-actuator

O úsalo directamente con npx:

npx mcp-spring-boot-actuator

Configuración

Claude Desktop

Añade a tu configuración de Claude Desktop (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "spring-boot-actuator": {
      "command": "npx",
      "args": ["-y", "mcp-spring-boot-actuator"]
    }
  }
}

Demostración rápida

Una vez configurado, prueba estos prompts en Claude:

  1. "Comprueba la salud de mi aplicación Spring Boot: [pega el JSON de /actuator/health]" — Detecta componentes DOWN, espacio en disco bajo y proporciona recomendaciones específicas por componente
  2. "¿Hay riesgos de seguridad en mi configuración? [pega el JSON de /actuator/env]" — Encuentra secretos expuestos, configuraciones riesgosas como ddl-auto: create-drop y endpoints sobreexpuestos
  3. "¿Cómo está funcionando mi aplicación? [pega las métricas JVM/HTTP]" — Analiza el uso del heap, la presión de GC, las tasas de error HTTP y la utilización del pool de conexiones
  • "¿Por qué mi aplicación arranca tan lentamente?" (pega el JSON de /actuator/startup)
  • "¿Están mis cachés configuradas correctamente?" (pega el JSON de /actuator/caches)

Requisitos

  • Node.js 18+
  • Aplicación Spring Boot con endpoints de Actuator habilitados

Parte del MCP Java Backend Suite

Limitaciones y problemas conocidos

  • Los endpoints de Actuator deben estar expuestos: Spring Boot protege los endpoints de actuator de forma predeterminada. Debes exponer explícitamente los endpoints mediante management.endpoints.web.exposure.include.
  • Análisis de arranque: Requiere Spring Boot 3.2+ con management.endpoint.startup.enabled=true. Las versiones anteriores no proporcionan datos de tiempo de arranque.
  • Instancia única: Analiza una instancia de aplicación a la vez. Para aplicaciones en clúster, apunta a cada instancia por separado.
  • Acumulación de métricas: Algunas métricas (recuentos de solicitudes HTTP, tasas de error) requieren tráfico para acumular datos. Una aplicación recién iniciada puede mostrar ceros.
  • Enmascaramiento de entorno: Spring Boot enmascara las propiedades sensibles de forma predeterminada. La herramienta analyze_env ve valores enmascarados (p. ej., ******) y no puede detectar la exposición real de credenciales en propiedades enmascaradas.
  • Indicadores de salud personalizados: La herramienta reconoce patrones estándar de indicadores de salud. Los indicadores de salud personalizados con valores de estado no estándar pueden no activar recomendaciones específicas.
  • Análisis de caché: Admite ConcurrentMapCache, Caffeine, Redis y EhCache. Otros proveedores de caché pueden mostrar un análisis limitado.
  • Respuestas no JSON: Maneja páginas de error HTML (401, 403, 500) con elegancia con advertencias de "JSON no válido", pero no puede extraer datos útiles de ellas.
  • Profundidad de dependencias circulares: Detecta ciclos de cualquier longitud, incluidas cadenas de múltiples saltos (A→B→C→A).

Licencia

MIT


Fin de vida útil: 2026-05-10.

Este servidor MCP ya no se mantiene ni se distribuye. The Corporation ha cambiado a actores del marketplace de Apify. Consulta irrationalways en Apify y irrcorp/bzp-poland-tenders para el trabajo actual de The Corporation.

El paquete npm se ha dejado de publicar. El repositorio está archivado solo como referencia histórica.