Spring Boot Actuator分析工具

一款分析Spring Boot Actuator端点的MCP服务器,用于检测健康状态、性能指标、安全风险并提供可操作建议。

  • by Dmitriusan
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Dmitriusan/mcp-spring-boot-actuator

使用说明

MCP弹簧防尘套执行器

一个分析Spring Boot执行器端点(健康、指标、环境、bean、启动和缓存)的MCP服务器。检测问题、安全风险,并提供可操作的建议。

为什么是这个工具?

有 无其他MCP服务器 分析弹簧启动执行器端点。这是唯一一个让你的AI助手通过执行器数据了解Spring Boot应用程序的健康状况、性能、配置和启动行为的工具。

7种分析工具将原始执行器JSON转化为可操作的诊断——健康检查、JVM指标分析、环境/beans中的安全风险检测、启动瓶颈识别和缓存效率分析。

专业级别

生成可导出的诊断报告(HTML+PDF) 使用Pro许可证密钥。

  • 完整的JVM线程转储分析报告,其中包含可操作的建议
  • PDF导出以与您的团队共享
  • 优先支持

9.00美元/月 — 获取专业版许可证

Pro许可证密钥激活 generate_report MCP-jvm诊断中的MCP工具。

工具(7)

analyze_health

分析和诊断 /health 端点响应。使用特定于组件的建议检测不健康的组件(数据库、Redis、Kafka、Elasticsearch、磁盘空间)。

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

检测:

  • DOWN/OUT_OF_SERVICE组件
  • 磁盘空间不足警告(可用空间<15%)
  • 嵌套组件运行状况(例如,主/辅助数据库)
  • 受限制的健康终点(否 show-details)

analyze_metrics

分析JVM、HTTP和数据库池指标 /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
}

检测:

  • 堆利用率>=90%(临界)或>75%(警告)
  • 线程数高(>500)
  • GC长时间暂停(平均>200ms)
  • HTTP错误率>10%(严重)或>1%(警告)
  • 连接池耗尽>=90%(临界)
  • 等待连接请求

支持平面度量值和Spring Boot测量格式({ measurements: [{ statistic: "VALUE", value: N }] }).

analyze_env

分析 /env 端点安全风险和配置错误。

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

检测:

  • 公开的秘密(密码、API密钥、未使用掩码的令牌 ******)
  • 风险生产配置: ddl-auto: create-dropH2控制台启用, show-sql: true
  • 在生产环境中启用了DevTools
  • 所有执行器端点均已暴露(management.endpoints.web.exposure.include=*)
  • 缺少Spring配置文件(未设置活动配置文件)

analyze_beans

分析 /beans 架构问题的端点。

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

检测:

  • 循环依赖关系(A→ B → A)
  • 单例bean取决于原型作用域bean(作用域不匹配)
  • 依赖关系>10的Bean(上帝对象)
  • 大豆数(>500)
  • 多个应用程序上下文

analyze_startup

分析 /startup 执行器端点(弹簧防尘套3.2+)。解析启动时间线,以检测bean初始化缓慢和自动配置繁重。

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

参数:

  • json --The /startup 端点JSON响应

检测:

  • 启动缓慢(>30s严重,>15s警告)
  • 重型自动配置消耗了超过30%的启动时间
  • bean初始化速度慢(每个bean>2s)
  • 按持续时间排名的最慢步数

analyze_caches

分析 /caches 执行器端点。列出已注册的缓存并检测配置问题。

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

参数:

  • json --The /caches 端点JSON响应

检测:

  • 无限 ConcurrentMapCache 使用率(无驱逐,将无限期增长)
  • 缓存太多(>20,内存开销)
  • 缺少缓存管理器(未配置Spring cache)
  • 空缓存注册

analyze_loggers

分析 /loggers 执行器端点。检测影响生产中性能和安全性的详细日志记录配置。

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

参数:

  • json --The /loggers 端点JSON响应

检测:

  • ROOT日志设置为DEBUG/TRACE(淹没日志,降低性能)
  • 明确配置的DEBUG/TRACE记录器(可能是调试遗留的)
  • 详细框架日志(Spring、Hibernate、HikariCP、Micrometer、Apache)
  • 相关包之间的日志级别不一致
  • 超过5个详细记录器(剩余调试配置的迹象)

安装

npm install -g mcp-spring-boot-actuator

或者直接与npx一起使用:

npx mcp-spring-boot-actuator

配置

克劳德桌面版

添加到您的Claude桌面配置(~/.claude/claude_desktop_config.json):

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

快速演示

配置后,在Claude中尝试以下提示:

  1. “检查我的Spring Boot应用程序的运行状况:[粘贴/执行器/运行状况JSON]” --检测DOWN组件、磁盘空间不足,并提供特定于组件的建议
  2. “我的配置中是否存在任何安全风险?[粘贴/执行器/env JSON]” --查找暴露的秘密、风险设置,如 ddl-auto: create-drop,以及过度暴露的端点
  3. “我的应用程序的性能如何?[粘贴JVM/HTTP指标]” --分析堆使用情况、GC压力、HTTP错误率和连接池利用率
  • “为什么我的应用程序启动如此缓慢?”(粘贴 /actuator/startup JSON)
  • “我的缓存配置正确吗?”(粘贴 /actuator/caches JSON)

需求

  • Node.js 18+
  • 启用了执行器端点的Spring Boot应用程序

MCP Java后端套件的一部分

限制和已知问题

  • 执行器端点必须暴露:默认情况下,Spring Boot保护执行器端点。您必须通过以下方式显式公开端点 management.endpoints.web.exposure.include.
  • 启动分析:需要使用Spring Boot 3.2+ management.endpoint.startup.enabled=true旧版本不提供启动时间数据。
  • 单个实例:一次分析一个应用程序实例。对于集群应用程序,分别指向每个实例。
  • 度量累积:一些指标(HTTP请求计数、错误率)需要流量来积累数据。新启动的应用程序可能会显示零。
  • 环境遮蔽:默认情况下,Spring Boot会屏蔽敏感属性。这 analyze_env 工具看到掩码值(例如。, ******)并且无法检测到掩码属性中的实际凭证暴露。
  • 自定义健康指标:该工具识别标准健康指标模式。具有非标准状态值的自定义健康指标可能不会触发特定建议。
  • 缓存分析:支持并发MapCache、Caffeine、Redis和EhCache。其他缓存提供程序可能显示有限的分析。
  • 非JSON响应:优雅地处理带有“无效JSON”警告的HTML错误页面(401、403、500),但无法从中提取有用数据。
  • 循环依赖深度:检测任何长度的循环,包括多跳链(A→B→C→A).

许可证

麻省理工学院


生命终结:2026-05-10。

此MCP服务器不再维护或分发。公司 已经转向Apify市场参与者。看 irrationalways 关于Apify 和 irrcorp/bzp-poland-tenders 对于当前的公司工作。

npm包尚未发布。存储库已存档 仅供历史参考。