JVM MCP 서버
영어 | 중국어
Arthas를 기반으로 한 JVM 모니터링 MCP 서버 구현으로, Java 프로세스를 모니터링하고 분석하기 위한 간단하고 사용하기 쉬운 Python 인터페이스를 제공합니다.
특징
- Arthas 도구의 자동 다운로드 및 관리
- 로컬 및 원격 Java 프로세스 모니터링 지원
- Java 프로세스 목록 쿼리
- 실시간 JVM 스레드 정보
- JVM 메모리 사용량 모니터링
- 스레드 스택 추적 정보
- 클래스 로딩 정보 쿼리
- 클래스 및 메서드 디컴파일 지원
- 메서드 호출 모니터링
- 동적 로그 레벨 조정
- AI 기반 JVM 성능 분석
시스템 요구 사항
- 파이썬 3.10+
- 자바 런타임 환경(JRE) 8+
- 네트워크 연결(아서스 다운로드용)
- 대상 서버에 대한 SSH 액세스(원격 모드를 사용하는 경우)
설치 및 환경 설정
1. UV 도구 설치
지엑스피1
2. 프로젝트 복제
git clone https://github.com/xzq-xu/jvm-mcp-server.git
cd jvm-mcp-server
3. uv를 사용하여 프로젝트 환경 초기화
# Create virtual environment
uv venv
# Sync project dependencies
uv sync
4. 환경 변수 구성(선택 사항, 원격 연결의 경우)
.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
빠른 시작
- 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
- Python 코드에서 사용:
from jvm_mcp_server import JvmMcpServer
server = JvmMcpServer()
server.run()
- MCP 도구 사용:
구성 파일 사용:
{
"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"
]
}
}
}
구성 파일을 사용하지 않고 시스템 환경 변수를 읽고, 해당 변수가 없으면 로컬 스레드를 모니터링합니다.
{
"mcpServers": {
"jvm-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/jvm-mcp-server",
"run",
"jvm-mcp-server"
]
}
}
}
사용 가능한 도구
사용 가능한 도구 목록
중요 참고 사항
- 런타임 환경에 Java가 설치되어 있는지 확인하세요.
- Arthas 도구는 첫 번째 실행 시 자동으로 다운로드됩니다(arthas는 홈 디렉토리에 다운로드되며, 미리 다운로드하여 arthas-boot.jar라는 이름으로 지정할 수 있음)
- 대상 Java 프로세스에 대한 액세스 권한이 필요합니다.
- 원격 모드에는 SSH 액세스 및 적절한 사용자 권한이 필요합니다.
- 개발 환경에서의 사용을 권장하며, 실제 운영 환경에서의 사용은 신중하게 평가되어야 합니다.
피드백
문제가 발생하면 이슈나 풀 리퀘스트를 제출해 주세요.
특허
MIT 라이센스