
jvm-mcp-server
This is an implementation project of a JVM-based MCP (Model Context Protocol) server. The project aims to provide a standardized MCP server implementation for the JVM platform, enabling AI models to better interact with the Java ecosystem.
3 years
Works with Finder
2
Github Watches
7
Github Forks
47
Github Stars
JVM MCP Server
A JVM monitoring MCP server implementation based on Arthas, providing a simple and easy-to-use Python interface for monitoring and analyzing Java processes.
Features
- Automatic download and management of Arthas tools
- Support for local and remote Java process monitoring
- Java process list querying
- Real-time JVM thread information
- JVM memory usage monitoring
- Thread stack trace information
- Class loading information querying
- Support for class and method decompilation
- Method call monitoring
- Dynamic log level adjustment
- AI-driven JVM performance analysis
System Requirements
- Python 3.10+
- Java Runtime Environment (JRE) 8+
- Network connection (for downloading Arthas)
- SSH access to target server (if using remote mode)
Installation and Environment Setup
1. Install uv tool
## 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"
2. Clone the project
git clone https://github.com/xzq-xu/jvm-mcp-server.git
cd jvm-mcp-server
3. Initialize project environment using uv
# Create virtual environment
uv venv
# Sync project dependencies
uv sync
4. Configure environment variables (Optional, for remote connections)
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
Quick Start
- Start the server using uv:
# 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
- Use in Python code:
from jvm_mcp_server import JvmMcpServer
server = JvmMcpServer()
server.run()
- Using MCP tools:
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"
]
}
}
}
Available Tools
Important Notes
- Ensure Java is installed in the runtime environment
- Arthas tool will be automatically downloaded on first run (arthas will be downloaded to home directory, can be downloaded in advance and named as arthas-boot.jar)
- Requires access permissions to target Java process
- Remote mode requires SSH access and appropriate user permissions
- Recommended for use in development environment, production use should be carefully evaluated
Feedback
If you encounter any issues, please submit an Issue or Pull Request.
License
相关推荐
I find academic articles and books for research and literature reviews.
Converts Figma frames into front-end code for various mobile frameworks.
Confidential guide on numerology and astrology, based of GG33 Public information
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Advanced software engineer GPT that excels through nailing the basics.
Delivers concise Python code and interprets non-English comments
💬 MaxKB is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
MCP server to provide Figma layout information to AI coding agents like Cursor
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
Python code to use the MCP3008 analog to digital converter with a Raspberry Pi or BeagleBone black.
Reviews

user_xkSNXCcY
I have been using jvm-mcp-server by xzq-xu and it has greatly enhanced my monitoring capabilities for JVM applications. The tool is extremely user-friendly and seamlessly integrates with my existing setup. I highly recommend it to anyone needing robust performance monitoring. Check it out on GitHub!