关于 Spring Boot Runtime Diagnostics
Spring Boot Runtime Diagnostics 是只读 MCP 服务,可检查运行中的 Spring Boot 应用所授权的 Actuator 和 OpenAPI 数据。它帮助开发者和编码 Agent 调查 Bean、路由、健康状态、迁移、配置来源及启动情况,并将证据不足标记为部分或未知。
主要功能
- 01Bean 依赖与条件报告
- 02已注册路由和 Controller 映射
- 03健康与就绪状态
- 04Flyway 和 Liquibase 迁移记录
- 05启动步骤与配置来源
适用场景
- 01查明 Spring Bean 未创建的原因
- 02不调用业务端点而验证路由
- 03检查异常组件或失败迁移
- 04调查启动缓慢及属性来源
MCP 相关
通过读取已授权的 Actuator 端点和 `/actuator/openapi`,向 MCP 客户端提供诊断工具。该服务为只读模式,且仅连接回环地址。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cursor | string | 否 | |
| maxDepth | integer | 否 | |
| targetId | string | 否 | |
| maxResults | integer | 否 | |
| minDurationMs | number | 否 | |
| beanNamePattern | string | 否 | 有界、区分大小写的 glob:仅 * 和 ? 是通配符;其他允许的字符均按字面值处理。不支持正则表达式。 |
| stepNamePattern | string | 否 | 有界、区分大小写的 glob:仅 * 和 ? 是通配符;其他允许的字符均按字面值处理。不支持正则表达式。 |
详细介绍
Spring Boot 运行时诊断 MCP
让你的编码助手了解 Spring Boot 应用中实际运行的内容。此 MCP 服务会读取经过授权的 Actuator 和 OpenAPI 数据,帮助排查 Bean、路由、健康状态、数据库迁移和启动问题。
可以检查什么?
| 你的问题 | 提供的信息 |
|---|---|
| 为什么没有创建某个 Bean? | Bean、依赖关系和条件报告;证据充分时还会提供阻塞链 |
| 此路由已注册吗? | 实际路径、HTTP 方法、Controller 以及 MVC/WebFlux 映射 |
| 哪些组件不健康? | 可见组件以及存活状态/就绪状态 |
| 迁移是否失败? | Flyway/Liquibase 报告的记录、状态和校验和 |
| 什么导致启动变慢? | 耗时较长的步骤及其父级链 |
| 配置值来自哪里? | 已注册属性的来源;配置诊断需要选择启用 |
| 此 API 是否在 OpenAPI 中? | 文档中的操作、架构和引用 |
| 进程是否符合我的预期? | 将 Bean、路由、迁移版本和你提供的 Profile 预期进行比较 |
例如,可以询问:“检查 GET /orders/{id} 是否已注册,并告诉我由哪个 Controller 处理。”服务会读取映射元数据,而不会调用业务端点。
开始使用
你需要 Python 3.11+、uv 以及一个经授权的本地 Spring Boot 应用。使用目标应用设置指南确认其管理端点和权限,然后检查并启动 0.2.12 Alpha:
uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.12 --version
uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.12 --base-url http://127.0.0.1:18081
将第二条命令用作 MCP 客户端的 STDIO 服务命令。在终端中运行时,它会等待客户端请求。请参阅英文首次查询指南;其他客户端配置模板涵盖了更多客户端。
无需准备应用即可使用公开软件包试用合成路由演示,然后分享首次查询反馈。回放无需 Spring 进程,也无法证明与实际应用或客户端兼容。
限制
此服务只连接 loopback 地址,使用固定端点,并支持通过指定环境变量进行可选的 Bearer 身份验证。OpenAPI 使用 /actuator/openapi。配置诊断默认禁用,需通过 CLI 标志(--config-prefix、--config-property、--config-profiles)显式启用。启用后,只有同时设置 --config-allow-values 和工具的 includeValues=true,才会显示值。输出经过清理,每个工具响应上限为 16 KiB。缺少的证据会标记为 partial/unknown。
工具不会向目标应用写入数据、重启应用,也不会读取堆转储或原始日志。完整的 Boot/Java/客户端兼容性矩阵,以及 Windows/macOS 和生产集群兼容性仍未经验证。
Apache-2.0 · 贡献指南 · 报告安全问题
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。