JVM MCP Server

JVM MCP Server

site icon
2025.03.25 49
PythonJVM监控Java进程分析开发效率
JVM MCP Server 是一个基于 Arthas 的 JVM 监控 MCP 服务器实现,提供了简单易用的 Python 接口,用于监控和分析 Java 进程。
View on GitHub

Overview

基本能力

产品定位

JVM MCP Server 是一个用于监控和分析 Java 进程的工具,旨在帮助开发人员快速诊断和解决 JVM 相关问题。

核心功能

  • 自动下载和管理 Arthas 工具
  • 支持本地和远程 Java 进程监控
  • Java 进程列表查询
  • 实时 JVM 线程信息
  • JVM 内存使用监控
  • 线程堆栈跟踪信息
  • 类加载信息查询
  • 支持类和方法反编译
  • 方法调用监控
  • 动态日志级别调整
  • AI 驱动的 JVM 性能分析

适用场景

  • 开发环境中的 JVM 性能监控
  • 生产环境中的 JVM 问题诊断
  • 远程服务器上的 Java 进程监控
  • JVM 内存泄漏分析
  • 线程死锁检测

工具列表

  • Arthas:用于 JVM 监控和分析的核心工具
  • uv:用于项目环境管理和依赖同步的工具

常见问题解答

  1. Java 未安装:确保 Java 运行时环境(JRE 8+)已安装。
  2. Arthas 下载失败:检查网络连接,或手动下载 arthas-boot.jar 到主目录。
  3. 权限问题:确保对目标 Java 进程有访问权限。
  4. 远程连接失败:检查 SSH 配置和用户权限。

使用教程

使用依赖

  • Python 3.10+
  • Java Runtime Environment (JRE) 8+
  • 网络连接(用于下载 Arthas)
  • SSH 访问目标服务器(如果使用远程模式)

安装教程

  1. 安装 uv 工具
# linux shell
curl -LsSf https://astral.sh/uv/install.sh | sh
# or install using pip
pip install uv
# or install using pipx (if you have pipx installed)
pipx install uv 
# windows powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. 克隆项目
git clone https://github.com/xzq-xu/jvm-mcp-server.git
cd jvm-mcp-server
  1. 使用 uv 初始化项目环境
# 创建虚拟环境
uv venv
# 同步项目依赖
uv sync
  1. 配置环境变量(可选,用于远程连接) 创建 .env 文件并添加以下配置:
# Linux/Mac
ARTHAS_SSH_HOST=user@remote-host
ARTHAS_SSH_PORT=22  # Optional, default is 22
ARTHAS_SSH_PASSWORD=your-password  # If using password authentication

# Windows PowerShell
$env:ARTHAS_SSH_HOST="user@remote-host"
$env:ARTHAS_SSH_PORT="22"  # Optional, default is 22
$env:ARTHAS_SSH_PASSWORD="your-password"  # If using password authentication

调试方式

  1. 启动服务器
# 本地模式启动
uv run jvm-mcp-server

# 使用环境文件启动(如果配置了远程连接)
uv run --env-file .env jvm-mcp-server

# 在特定目录启动(如果需要)
uv --directory /path/to/project run --env-file .env jvm-mcp-server
  1. 在 Python 代码中使用
from jvm_mcp_server import JvmMcpServer

server = JvmMcpServer()
server.run()

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。