Token导航 LogoToken导航TokenDH.com
JMX MCP logo
AI代理stdio官方级别未说明来源级核验

JMX MCP

MCP Server

一款基于Model Context Protocol (MCP)的JMX监控服务器,提供全面的Java应用监控和管理功能,支持通过自然语言与AI助手交互。

工具数

12

提示词数

0

GitHub Stars

9

资源数

0
JavaClaude性能分析Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

itz4blitz

提供方

itz4blitz

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 comprehensive-test.py

详细介绍

JMX MCP服务器

![Java](https://openjdk.java.net/) ![Spring Boot](https://spring.io/projects/spring-boot) ![MCP](https://modelcontextprotocol.io/) ![License](LICENSE)

一个强大的 模型上下文协议(MCP)服务器 它为Claude Desktop等AI助手提供了全面的JMX监控和管理功能。监控Java应用程序,管理MBean,并通过自然语言交互执行JMX操作。

🎥 演示视频

观看JMX MCP服务器的运行!了解Claude Desktop如何通过自然语言监控和管理Java应用程序:

https://github.com/user-attachments/assets/722e1885-5aeb-4584-8116-b93324e0abc1

*该演示通过Claude Desktop展示了实时JMX监控、MBean探索和AI驱动的Java应用程序管理。*

🚀 特性

🔍 全面的JMX集成

  • 实时MBean发现:自动发现并编目所有可用MBean
  • 属性管理:读取和写入具有完全类型安全性的MBean属性
  • 操作执行:执行带有参数验证的MBean操作
  • 领域探索:按域浏览和筛选MBean

🤖 人工智能监控

  • 自然语言查询:问“当前堆内存使用情况如何?”
  • 智能分析:人工智能可以关联指标并识别性能问题
  • 自动化洞察:根据JMX数据模式获取建议

🛡️ 企业就绪

  • 安全验证:内置安全控制和访问验证
  • 连接管理:强大的本地和远程JMX连接处理
  • 错误处理:全面的错误处理和恢复机制
  • 生产测井:针对不同环境的可配置日志记录

🔌 MCP协议合规性

  • 工具:12个用于AI交互的JMX管理工具
  • 资源:所有JMX属性都作为可发现资源公开
  • STDIO传输:针对Claude Desktop集成进行了优化
  • JSON-RPC 2.0:完全符合协议,实现可靠通信

📋 先决条件

  • Java 17+ (OpenJDK或Oracle JDK)
  • Maven 3.6+ 用于建筑
  • 克劳德桌面 或任何与MCP兼容的AI客户端

🛠️ 快速开始

1.克隆和构建

git clone https://github.com/itz4blitz/JMX-MCP.git
cd JMX-MCP
mvn clean package

2.测试服务器

# Test with comprehensive validation
python3 comprehensive-test.py

3.配置克劳德桌面

添加到您的Claude Desktop MCP配置文件中:

地点:

  • macOS: ~/.config/claude/mcp_servers.json
  • 视窗: %APPDATA%\Claude\mcp_servers.json

配置:

{
  "mcpServers": {
    "jmx-mcp-server": {
      "command": "java",
      "args": [
        "-Xmx512m",
        "-Xms256m",
        "-Dspring.profiles.active=stdio",
        "-Dspring.main.banner-mode=off",
        "-Dlogging.level.root=OFF",
        "-Dspring.main.log-startup-info=false",
        "-jar",
        "/path/to/your/jmx-mcp-server-1.0.0.jar"
      ],
      "env": {
        "JAVA_OPTS": "-Djava.awt.headless=true"
      }
    }
  }
}

4.开始与Claude一起使用

重新启动Claude Desktop并尝试以下查询:

"What JMX tools are available?"
"Show me the current heap memory usage"
"List all MBean domains"
"What's the garbage collection performance?"

🔧 可用工具(共12个)

核心JMX运营

工具说明示例用法
listMBeans列出所有已发现的具有可选域筛选的MBean“显示所有与内存相关的MBean”
getMBeanInfo获取特定MBean的详细信息“告诉我运行时MBean的情况”
getAttribute读取MBean属性的值“当前堆内存使用情况如何?”
setAttribute设置可写MBean属性的值“将日志级别设置为DEBUG”
listDomains列出所有可用的MBean域“哪些域可用?”

连接管理

工具说明示例用法
listJmxConnections列出所有已配置的JMX连接“显示所有可用连接”
addJmxConnection添加新的JMX连接“连接到生产服务器”
removeJmxConnection删除JMX连接“删除旧的测试连接”
switchJmxConnection切换到其他JMX连接“切换到临时环境”
getConnectionInfo获取当前JMX连接状态和统计信息“JMX连接是否正常?”

服务发现

工具说明示例用法
discoverJmxServices在系统上发现启用JMX的Java应用程序“查找启用JMX的所有Java应用程序”
autoRegisterDiscoveredConnections自动注册发现的JMX服务“自动连接到所有发现的Java应用程序”

📊 可用资源

服务器自动公开 所有JMX属性 作为MCP资源,使其可被AI助手发现和访问:

  • 内存指标:堆使用、非堆使用、内存池
  • 垃圾收集:GC统计数据、收集次数、收集计数
  • 线程:线程计数、死锁检测、线程状态
  • 运行时信息:JVM正常运行时间、启动时间、系统属性
  • 类加载:加载类、卸载类、类路径
  • 操作系统:CPU使用率、系统负载、可用处理器

资源URI格式:

jmx://domain:type=Type,name=Name/attributes/AttributeName

示例资源:

jmx://java.lang:type=Memory/attributes/HeapMemoryUsage
jmx://java.lang:type=Runtime/attributes/Uptime
jmx://java.lang:type=GarbageCollector,name=G1_Young_Generation/attributes/CollectionCount

💬 交互示例

内存监控

User: "What's the current memory situation?"
Claude: I'll check the JMX memory metrics for you.

[Uses getAttribute tool to read HeapMemoryUsage]

The current heap memory usage is:
- Used: 245 MB
- Committed: 512 MB  
- Max: 2048 MB
- Usage: 12% of maximum heap

The application is running efficiently with low memory pressure.

性能分析

User: "Are there any performance issues?"
Claude: Let me analyze the JMX performance metrics.

[Uses multiple tools to check GC, threads, and memory]

Performance analysis:
✅ Memory: Healthy (12% heap usage)
✅ GC: Efficient (avg 15ms collection time)
⚠️  Threads: High count (245 threads) - consider investigation
✅ CPU: Normal load

Recommendation: Monitor thread creation patterns.

🏗️ 建筑

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Claude AI     │◄──►│  JMX MCP Server  │◄──►│  Java App JMX   │
│                 │    │                  │    │                 │
│ Natural Language│    │ • Tools (12)     │    │ • MBeans        │
│ Queries         │    │ • Resources(224+)│    │ • Attributes    │
│                 │    │ • JSON-RPC 2.0   │    │ • Operations    │
│                 │    │ • Multi-Connect  │    │ • Discovery     │
└─────────────────┘    └──────────────────┘    └─────────────────┘

核心组件

  • JMX连接管理器:管理本地和远程JMX连接
  • MBeandiscoveryService:发现并编目可用的MBean
  • Jmx服务:为AI交互提供@Tool注释方法
  • JMXToMCPMapper:将JMX属性映射到MCP资源
  • Jmx安全验证器:验证操作的安全合规性

⚙️ 配置文件

默认配置文件

标准配置,具有完整的日志记录,用于开发和调试。

STDIO配置文件

针对Claude Desktop集成进行了优化:

  • 无声操作:无控制台输出,避免JSON-RPC干扰
  • 最少日志记录:仅记录错误以防止文件系统问题
  • 快速启动:优化初始化以实现快速AI响应

🧪 测试

综合测试套件

# Run the comprehensive integration test
python3 comprehensive-test.py

测试覆盖范围:

  • ✅ MCP协议合规性
  • ✅ JSON-RPC 2.0通信
  • ✅ 所有12个工具的注册和执行
  • ✅ 多连接管理
  • ✅ 服务发现和自动注册
  • ✅ 资源发现和访问
  • ✅ 错误处理和恢复

单元测试

mvn test

🔒 安全

内置安全功能

  • 对象名称验证:阻止访问敏感的MBean
  • 操作筛选:限制危险操作
  • 类型安全:在操作之前验证属性类型
  • 访问控制:可配置的安全策略

安全配置

jmx:
  security:
    enabled: true
    allowed-domains:
      - "java.lang"
      - "java.nio"
      - "com.myapp"
    blocked-operations:
      - "shutdown"
      - "restart"

🚀 部署

地方发展

java -jar target/jmx-mcp-server-1.0.0.jar

生产部署

java -Xmx1g -Xms512m \
     -Dspring.profiles.active=production \
     -jar jmx-mcp-server-1.0.0.jar

Docker部署

FROM openjdk:17-jre-slim
COPY target/jmx-mcp-server-1.0.0.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

开发设置

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 确保所有测试通过
  6. 提交拉取请求

代码的风格

  • 遵循Java编码规范
  • 使用有意义的变量和方法名称
  • 添加全面的JavaDoc注释
  • 保持测试覆盖率在80%以上

📚 文档

🐛 故障排除

常见问题

服务器无法从Claude Desktop启动:

  • 验证是否安装了Java 17+
  • 检查配置中的JAR路径
  • 确保STDIO配置文件处于活动状态

没有可见的工具/资源:

  • 配置更改后重新启动Claude Desktop
  • 检查服务器日志是否有错误
  • 验证MCP协议合规性

连接问题:

  • 确认目标应用程序上启用了JMX
  • 检查远程连接的网络连接
  • 验证安全设置

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

贡献者快速入门

# Fork the repository on GitHub
git clone https://github.com/YOUR_USERNAME/JMX-MCP.git
cd JMX-MCP

# Build and test
mvn clean compile
mvn test

# Run the application
mvn spring-boot:run

贡献方式

  • 🐛 报告错误 -帮助我们识别和解决问题
  • 💡 建议功能 -分享新功能的想法
  • 📝 改进文档 -帮助他人理解项目
  • 🔧 提交代码 -修复错误或实现新功能
  • 🧪 编写测试 -提高测试覆盖率和可靠性
  • 🎨 UI/UX改进 -增强用户体验

社区

  • GitHub讨论:提问并分享想法
  • 问题:报告错误和请求功能
  • 拉取请求:促进代码改进
  • 维基:协作文件

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

  • Spring AI团队 优秀的MCP框架
  • 模型上下文协议 用于标准化的AI集成协议
  • Anthropic 用于Claude Desktop和AI助手功能
  • OpenJDK社区 强大的Java平台

📞 支持

  • 问题:
  • 讨论:
  • 文档: 维基

______________________________________________________________________

由以下材料制成❤️ 面向AI和Java社区

目录标签

目录标签

JavaClaude性能分析JMX监控本地部署Java应用管理AI集成企业级工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP