MCP Spring Boot Actuator

Servidor MCP do Spring Boot Actuator — analisa endpoints de saúde, métricas, ambiente, beans e inicialização. Detecta problemas de configuração e riscos de segurança com recomendações acionáveis.

Documentação

npm version License: MIT

MCP Spring Boot Actuator

Um servidor MCP que analisa endpoints do Spring Boot Actuator — health, metrics, environment, beans, startup e caches. Detecta problemas, riscos de segurança e fornece recomendações acionáveis.

Por que esta ferramenta?

Não existe nenhum outro servidor MCP que analise endpoints do Spring Boot Actuator. Esta é a única ferramenta que permite que seu assistente de IA entenda a saúde, o desempenho, a configuração e o comportamento de inicialização da sua aplicação Spring Boot por meio dos dados do actuator.

7 ferramentas analíticas transformam JSON bruto do actuator em diagnósticos acionáveis — verificações de saúde, análise de métricas JVM, detecção de riscos de segurança em environment/beans, identificação de gargalos de inicialização e análise de eficiência de cache.

Nível Pro

Gere relatórios de diagnóstico exportáveis (HTML + PDF) com uma chave de licença Pro.

  • Relatório completo de análise de thread dump da JVM com recomendações acionáveis
  • Exportação em PDF para compartilhar com sua equipe
  • Suporte prioritário

US$ 9,00/mês — Obtenha a Licença Pro

A chave de licença Pro ativa a ferramenta MCP generate_report no mcp-jvm-diagnostics.

Ferramentas (7)

analyze_health

Analisa e diagnostica a resposta do endpoint /health. Detecta componentes não saudáveis (banco de dados, Redis, Kafka, Elasticsearch, espaço em disco) com recomendações específicas por componente.

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

Detecta:

  • Componentes DOWN/OUT_OF_SERVICE
  • Avisos de pouco espaço em disco (< 15% livre)
  • Saúde de componentes aninhados (ex.: bancos de dados primário/secundário)
  • Endpoints de saúde restritos (sem show-details)

analyze_metrics

Analisa métricas de JVM, HTTP e pool de banco de dados dos 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:

  • Utilização de heap >= 90% (CRÍTICO) ou > 75% (AVISO)
  • Alto número de threads (> 500)
  • Pausas longas de GC (média > 200ms)
  • Taxa de erro HTTP > 10% (CRÍTICO) ou > 1% (AVISO)
  • Esgotamento do pool de conexões >= 90% (CRÍTICO)
  • Solicitações de conexão pendentes

Suporta tanto valores de métricas planos quanto o formato de medição do Spring Boot ({ measurements: [{ statistic: "VALUE", value: N }] }).

analyze_env

Analisa o endpoint /env para riscos de segurança e configurações incorretas.

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

Detecta:

  • Segredos expostos (senhas, chaves de API, tokens não mascarados com ******)
  • Configurações de produção arriscadas: ddl-auto: create-drop, console H2 habilitado, show-sql: true
  • DevTools habilitado em produção
  • Todos os endpoints do actuator expostos (management.endpoints.web.exposure.include=*)
  • Perfis Spring ausentes (nenhum perfil ativo definido)

analyze_beans

Analisa o endpoint /beans para problemas arquiteturais.

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

Detecta:

  • Dependências circulares (A → B → A)
  • Beans singleton dependendo de beans com escopo prototype (incompatibilidade de escopo)
  • Beans com mais de 10 dependências (objetos God)
  • Contagens altas de beans (> 500)
  • Múltiplos contextos de aplicação

analyze_startup

Analisa o endpoint do actuator /startup (Spring Boot 3.2+). Analisa a linha do tempo de inicialização para detectar inicialização lenta de beans e auto-configurações pesadas.

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

Parâmetros:

  • json — A resposta JSON do endpoint /startup

Detecta:

  • Inicialização lenta (> 30s CRÍTICO, > 15s AVISO)
  • Auto-configurações pesadas consumindo > 30% do tempo de inicialização
  • Inicialização lenta de beans (> 2s por bean)
  • Etapas mais lentas classificadas por duração

analyze_caches

Analisa o endpoint do actuator /caches. Lista caches registrados e detecta problemas de configuração.

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

Parâmetros:

  • json — A resposta JSON do endpoint /caches

Detecta:

  • Uso de ConcurrentMapCache sem limites (sem remoção, crescerá indefinidamente)
  • Muitos caches (> 20, sobrecarga de memória)
  • Gerenciadores de cache ausentes (nenhum Spring Cache configurado)
  • Registros de cache vazios

analyze_loggers

Analisa o endpoint do actuator /loggers. Detecta configurações de logging verbosas que impactam desempenho e segurança em produção.

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

Parâmetros:

  • json — A resposta JSON do endpoint /loggers

Detecta:

  • Logger ROOT definido como DEBUG/TRACE (inunda logs, degrada desempenho)
  • Loggers DEBUG/TRACE configurados explicitamente (provavelmente restos de depuração)
  • Logging verboso de frameworks (Spring, Hibernate, HikariCP, Micrometer, Apache)
  • Níveis de log inconsistentes entre pacotes relacionados
  • Mais de 5 loggers verbosos (sinais de configuração de depuração restante)

Instalação

npm install -g mcp-spring-boot-actuator

Ou use diretamente com npx:

npx mcp-spring-boot-actuator

Configuração

Claude Desktop

Adicione à sua configuração do Claude Desktop (~/.claude/claude_desktop_config.json):

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

Demonstração Rápida

Após configurar, experimente estes prompts no Claude:

  1. "Verifique a saúde da minha aplicação Spring Boot: [cole o JSON de /actuator/health]" — Detecta componentes DOWN, pouco espaço em disco e fornece recomendações específicas por componente
  2. "Existem riscos de segurança na minha configuração? [cole o JSON de /actuator/env]" — Encontra segredos expostos, configurações arriscadas como ddl-auto: create-drop e endpoints superexpostos
  3. "Como está o desempenho da minha aplicação? [cole métricas JVM/HTTP]" — Analisa uso de heap, pressão de GC, taxas de erro HTTP e utilização do pool de conexões
  • "Por que minha aplicação está iniciando tão lentamente?" (cole o JSON de /actuator/startup)
  • "Meus caches estão configurados corretamente?" (cole o JSON de /actuator/caches)

Requisitos

  • Node.js 18+
  • Aplicação Spring Boot com endpoints do Actuator habilitados

Parte do MCP Java Backend Suite

Limitações e Problemas Conhecidos

  • Endpoints do Actuator devem estar expostos: O Spring Boot protege os endpoints do actuator por padrão. Você deve expor explicitamente os endpoints via management.endpoints.web.exposure.include.
  • Análise de inicialização: Requer Spring Boot 3.2+ com management.endpoint.startup.enabled=true. Versões mais antigas não fornecem dados de tempo de inicialização.
  • Instância única: Analisa uma instância de aplicação por vez. Para aplicações em cluster, aponte para cada instância separadamente.
  • Acúmulo de métricas: Algumas métricas (contagens de solicitações HTTP, taxas de erro) exigem tráfego para acumular dados. Uma aplicação recém-iniciada pode mostrar zeros.
  • Mascaramento de environment: O Spring Boot mascara propriedades sensíveis por padrão. A ferramenta analyze_env vê valores mascarados (ex.: ******) e não pode detectar exposição real de credenciais em propriedades mascaradas.
  • Indicadores de saúde personalizados: A ferramenta reconhece padrões padrão de indicadores de saúde. Indicadores de saúde personalizados com valores de status não padrão podem não acionar recomendações específicas.
  • Análise de cache: Suporta ConcurrentMapCache, Caffeine, Redis e EhCache. Outros provedores de cache podem mostrar análise limitada.
  • Respostas não JSON: Lida com páginas de erro HTML (401, 403, 500) graciosamente com avisos de "JSON inválido", mas não pode extrair dados úteis delas.
  • Profundidade de dependência circular: Detecta ciclos de qualquer comprimento, incluindo cadeias de múltiplos saltos (A→B→C→A).

Licença

MIT


Fim de vida: 2026-05-10.

Este servidor MCP não é mais mantido ou distribuído. A Corporation mudou para atores do marketplace Apify. Veja irrationalways no Apify e irrcorp/bzp-poland-tenders para o trabalho atual da Corporation.

O pacote npm foi despublicado. O repositório está arquivado apenas para referência histórica.