Arthas JVM Monitor
STDIOArthas-based JVM monitoring server providing Python interface for Java process analysis.
Arthas-based JVM monitoring server providing Python interface for Java process analysis.
A JVM monitoring MCP server implementation based on Arthas, providing a simple and easy-to-use Python interface for monitoring and analyzing Java processes.
## 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"
git clone https://github.com/xzq-xu/jvm-mcp-server.git cd jvm-mcp-server
# Create virtual environment uv venv # Sync project dependencies uv sync
Create a .env
file and add the following configurations:
# 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
# Start in local mode uv run jvm-mcp-server # Start with environment file (if remote connection is configured) uv run --env-file .env jvm-mcp-server # Start in a specific directory (if needed) uv --directory /path/to/project run --env-file .env jvm-mcp-server
from jvm_mcp_server import JvmMcpServer server = JvmMcpServer() server.run()
Using configuration file:
{ "mcpServers": { "jvm-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/jvm-mcp-server", "run", "--env-file", "/path/to/jvm-mcp-server/.env", "jvm-mcp-server" ] } } }
Without using configuration file, it will read system environment variables, if not present it will monitor local threads:
{ "mcpServers": { "jvm-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/jvm-mcp-server", "run", "jvm-mcp-server" ] } } }
If you encounter any issues, please submit an Issue or Pull Request.