Servidor MCP de JVM
Una implementación de servidor MCP de monitoreo de JVM basada en Arthas, que proporciona una interfaz Python simple y fácil de usar para monitorear y analizar procesos Java.
Características
Descarga y gestión automática de herramientas de Arthas
Soporte para la monitorización de procesos Java locales y remotos
Consulta de lista de procesos de Java
Información de subprocesos de JVM en tiempo real
Monitoreo del uso de memoria de JVM
Información de seguimiento de la pila de subprocesos
Consulta de información de carga de clases
Soporte para la descompilación de clases y métodos
Monitoreo de llamadas de método
Ajuste dinámico del nivel de registro
Análisis del rendimiento de JVM impulsado por IA
Related MCP server: MCP System Info Server
Requisitos del sistema
Python 3.10+
Entorno de ejecución de Java (JRE) 8+
Conexión de red (para descargar Arthas)
Acceso SSH al servidor de destino (si se utiliza el modo remoto)
Instalación y configuración del entorno
1. Instalar la herramienta 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"2. Clonar el proyecto
git clone https://github.com/xzq-xu/jvm-mcp-server.git
cd jvm-mcp-server3. Inicializar el entorno del proyecto usando uv
# Create virtual environment
uv venv
# Sync project dependencies
uv sync4. Configurar variables de entorno (opcional, para conexiones remotas)
Cree un archivo .env y agregue las siguientes configuraciones:
# 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 authenticationInicio rápido
Inicie el servidor usando 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-serverUso en código Python:
from jvm_mcp_server import JvmMcpServer
server = JvmMcpServer()
server.run()Usando herramientas MCP:
Usando el archivo de configuración:
{
"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"
]
}
}
}Sin usar el archivo de configuración, leerá las variables de entorno del sistema, si no están presentes, monitoreará los subprocesos locales:
{
"mcpServers": {
"jvm-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/jvm-mcp-server",
"run",
"jvm-mcp-server"
]
}
}
}Herramientas disponibles
Lista de herramientas disponibles
Notas importantes
Asegúrese de que Java esté instalado en el entorno de ejecución
La herramienta Arthas se descargará automáticamente en la primera ejecución (arthas se descargará al directorio de inicio, puede descargarse con anticipación y nombrarse como arthas-boot.jar)
Requiere permisos de acceso al proceso Java de destino
El modo remoto requiere acceso SSH y permisos de usuario adecuados
Recomendado para uso en entornos de desarrollo, el uso en producción debe evaluarse cuidadosamente.
Comentario
Si encuentra algún problema, envíe un problema o una solicitud de extracción.