关于 JVM Diagnostics MCP
JVM Diagnostics MCP 通过 MCP 服务提供 JVM 命令行诊断能力,面向开发者和运维人员。它封装 jstat、jps、jcmd 等工具,并支持分析线程转储和堆转储;目前通过 stdio 在本地运行。
主要功能
- 01使用 jstat 监控指标
- 02使用 jps 检查进程
- 03使用 jcmd 执行诊断
- 04分析线程转储和堆转储
- 05以 Java 应用或 Docker 容器运行
适用场景
- 01检查 JVM 性能指标
- 02查找并检查 JVM 进程
- 03执行 JVM 诊断命令
- 04分析线程或堆转储
MCP 相关
该服务通过 MCP 暴露 JVM 诊断命令行工具,供兼容客户端调用。目前使用 stdio 传输,设计为在本地运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e JAVA_HOME ghcr.io/brunoborges/jvm-diagnostics-mcp:latestJAVA_HOME本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/brunoborges/jvm-diagnostics-mcp:lateststdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
JVM Diagnostics MCP
这是一个 MCP 服务,用于封装各种 JVM 诊断工具(CLI),例如 jstat、jcmd、jps,添加实用的提示词来改进这些工具的使用方式,并将它们提供出来。
它能做什么?
它可以使用各种 JVM 诊断工具,因此能够执行以下任务:
- 使用
jstat监控 JVM 性能指标。 - 使用
jps检查和管理 JVM 进程。 - 使用
jcmd执行诊断命令。 - 分析线程转储、堆转储及其他 JVM 相关诊断信息。
使用安全吗?
由于 MCP 服务由大模型驱动,我们建议谨慎使用,并验证它生成的命令。如果你使用 Claude 3.7 或 GPT-4o 这类可靠的大模型,它们针对 JVM 工具的训练数据非常出色,根据我们的经验,使用效果很好。
请阅读我们的 许可证,其中声明“本软件按‘原样’提供,不附带任何形式的保证”,因此使用此 MCP 服务的风险由你自行承担。
它是否安全?我应该在远程服务上运行它吗?
简短回答:不应该。
此 MCP 服务会为你运行 JVM 诊断命令,攻击者可能利用它来运行其他命令。与目前大多数 MCP 服务一样,当前实现仅支持 stdio 传输:它应该在你的机器本地运行,并使用你的 JVM 工具,就像你自己操作一样。
未来,此 MCP 服务可能会支持 http 传输和基于令牌的身份验证,以便不同的用户远程使用。待 MCP 规范和 SDK 更加稳定后,我们会考虑此事。
如何安装?
此 MCP 服务目前仅支持 stdio 传输,因此应在你的机器本地运行,并使用你的 JVM 诊断工具。
此服务可以作为 Java 应用运行,也可以在 Docker 容器中运行。 如果你的机器上已安装 Java,第一种方式可能最简单。如果没有安装 Java,或者你希望安全性更高一些,可以使用第二种方式。
使用 Java 安装和配置服务
- 确保已安装 Java 17 或更高版本。你可以在终端中运行
java -version进行检查。 - 确保你的环境中可以使用
jstat、jcmd和jps等 JVM 诊断工具。
GitHub Release 页面提供了二进制文件,以下是使用 GitHub CLI 下载最新版本的方法:
- 下载最新版本:
gh release download --repo brunoborges/jvm-diagnostics-mcp --pattern='jvm-diagnostics-mcp.jar'
要在 Claude Desktop 中使用此服务,请将其添加到你的 claude_desktop_config.json 文件中。请注意,你需要指定下载的 jvm-diagnostics-mcp.jar 文件所在的位置。
{
"mcpServers": {
"jvm-diagnostics": {
"command": "java",
"args": [
"-jar",
"~/Downloads/jvm-diagnostics-mcp.jar"
]
}
}
}
要在 VS Code Insiders 中使用此服务,请按以下步骤进行配置:
- 安装 GitHub Copilot
- 使用命令面板安装此 MCP 服务:
MCP: Add Server... - 点击聊天窗口底部的箭头,将 GitHub Copilot 设置为在
Agent模式下运行 - 在聊天窗口顶部,你应该能看到配置为工具的
jvm-diagnostics-mcp服务
使用 Docker 安装和配置服务
要在 Claude Desktop 中使用此服务,请将其添加到你的 claude_desktop_config.json 文件中。JAVA_HOME 环境变量应设置为 Java 安装位置。
{
"mcpServers": {
"jvm-diagnostics": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JAVA_HOME",
"ghcr.io/brunoborges/jvm-diagnostics-mcp:latest"
],
"env": {
"JAVA_HOME": "/path/to/java/home"
}
}
}
}
要在 VS Code Insiders 中使用此服务,请按以下步骤进行配置:
- 安装 GitHub Copilot
- 使用命令面板安装此 MCP 服务:
MCP: Add Server... - 点击聊天窗口底部的箭头,将 GitHub Copilot 设置为在
Agent模式下运行 - 在聊天窗口顶部,你应该能看到配置为工具的
jvm-diagnostics-mcp服务
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。