jenkins-mcp-server

yonghyuk/jenkins-mcp-server

3.1

If you are the rightful owner of jenkins-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Jenkins MCP Server connects Claude Code with Jenkins to automate and monitor CI/CD processes.

Tools
6
Resources
0
Prompts
0

Jenkins MCP Server

Claude Code와 Jenkins를 연결하는 MCP(Model Context Protocol) 서버입니다.

🌟 주요 기능

Jenkins CI/CD 시스템을 Claude Code를 통해 완전히 자동화하고 모니터링할 수 있습니다.

✨ 핵심 기능

  • 🔍 실시간 모니터링: 모든 Jenkins 작업 상태 추적
  • 📊 지능형 분석: 빌드 성공률 및 실패 패턴 자동 분석
  • ⚡ 자동 실행: 빌드 실행 및 관리 자동화
  • 🛠️ 문제 진단: 실패 원인 자동 분석 및 해결방안 제시
  • 📈 트렌드 분석: 대규모 프로젝트 성능 모니터링
  • 🔧 인프라 관리: Docker 컨테이너 및 시스템 자동 관리

🚀 빠른 시작

1. 환경 설정

# 저장소 클론
git clone https://github.com/yonghyuk/jenkins-mcp-server.git
cd jenkins-mcp-server

# Python 가상환경 생성
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows

# 의존성 설치
pip install -e .

2. Jenkins 연결 설정

# .env 파일 생성 (예시 파일 복사 후 편집)
cp .env.example .env

# .env 파일에 실제 값 입력:
# JENKINS_URL=http://your-jenkins-server:8080
# JENKINS_USERNAME=your-username
# JENKINS_PASSWORD=your-api-token

3. Claude Code 통합

claude_config.example.json 파일을 참조하여 Claude Code 설정:

# 예시 파일을 복사하여 실제 설정 생성
cp claude_config.example.json ~/.config/claude-code/claude_config.json

# 설정 파일에서 실제 경로와 인증 정보로 수정

📋 사용 가능한 도구

🔍 조회 및 모니터링

도구설명사용법
jenkins_get_jobs모든 Jenkins 작업 목록 조회매개변수 없음
jenkins_get_job_info특정 작업의 상세 정보job_name: 작업 이름
jenkins_get_build_status빌드 상태 확인job_name, build_number
jenkins_get_console_output콘솔 로그 조회job_name, build_number

⚡ 실행 및 제어

도구설명사용법
jenkins_build_job작업 실행job_name, parameters (선택사항)
jenkins_stop_build빌드 중단job_name, build_number

🛠️ 고급 분석 도구

프로젝트에는 여러 전문 분석 스크립트가 포함되어 있습니다:

📊 빌드 트렌드 분석

python analyze_build_trend.py
  • 빌드 성공률 추이 분석
  • 성능 메트릭 및 건강도 평가
  • 트렌드 분석 및 권장사항 제공

🔍 실패 로그 분석

python analyze_failure_logs.py
  • 모든 실패 빌드의 상세 로그 분석
  • 공통 실패 패턴 식별
  • 근본 원인 분석 및 해결 방안 제시

🌐 프로젝트 작업 분석

python analyze_project_jobs.py
  • 특정 프로젝트 관련 작업들의 종합 분석
  • 성능 비교 및 상대적 평가
  • 프로젝트 트렌드 분석

📁 시스템 상태 점검

python check_system_status.py
  • 시스템 구조 자동 점검
  • 상태 모니터링

🔄 Docker 관리

python restart_docker.py
  • Docker 컨테이너 자동 재시작
  • 인프라 상태 관리

🏗️ 실제 구현 사례

구현 예시

📊 Jenkins 작업 관리
  • 작업 목록 조회: 모든 Jenkins 작업 실시간 모니터링
  • 상태 분석: 빌드 성공률 및 실패 패턴 자동 분석
  • 자동 실행: 파라미터 기반 작업 실행 및 관리
🎯 분석 기능
  1. 빌드 트렌드 분석: 성공률 추이 및 성능 메트릭 분석
  2. 실패 로그 분석: 근본 원인 분석 및 해결방안 제시
  3. 종합 작업 분석: 프로젝트별 성능 비교 및 최적화 방안
🔧 자동화 기능
  • 실패 패턴 감지: 공통 실패 원인 식별 및 알림
  • 성능 모니터링: 빌드 시간 및 리소스 사용량 추적
  • 인프라 관리: Docker 컨테이너 상태 모니터링 및 관리

💡 고급 사용 예시

Claude Code와 대화하기

사용자: "Jenkins Job 리스트를 보여줘"
Claude: jenkins_get_jobs 도구를 사용하여 작업 목록을 조회합니다...

사용자: "빌드 실패 원인을 분석해줘"
Claude: jenkins_get_console_output으로 로그를 분석합니다...

사용자: "특정 작업 상태를 확인해줘"
Claude: jenkins_get_build_status로 실시간 상태를 제공합니다...

자동 모니터링 설정

# 예시: 정기적인 건강도 체크
async def health_check():
    jobs = await jenkins_client.get_jobs()
    for job in jobs:
        if job.status != 'SUCCESS':
            await send_alert(f"Job {job.name} needs attention")

🛡️ 보안 고려사항

  • 인증 정보 보호: 환경 변수를 통한 안전한 인증 정보 관리
  • 네트워크 보안: 내부 네트워크 접근 제한
  • 권한 관리: 최소 필요 권한 원칙 적용
  • 로그 보안: 민감한 정보 로그 제외

🔧 문제 해결

자주 발생하는 문제

  1. 연결 오류

    # Jenkins 서버 상태 확인
    curl -I $JENKINS_URL
    
  2. 인증 실패

    # 환경 변수 확인
    echo $JENKINS_URL $JENKINS_USERNAME
    # .env 파일 확인
    cat .env
    
  3. MCP 서버 오류

    # 서버 수동 실행
    python3 -m jenkins_mcp_server.main
    

진단 도구

# 연결 테스트
python test_connection.py

# 시스템 상태 점검
python check_system_status.py

🤝 기여하기

개발 환경 설정

# 개발 의존성 설치
pip install -e ".[dev]"

# 코드 포맷팅
black src/
isort src/

# 타입 검사
mypy src/

# 테스트 실행
pytest

코드 품질 표준

  • Black: 코드 포맷팅
  • isort: Import 정렬
  • mypy: 정적 타입 검사
  • pytest: 단위 테스트

📚 추가 리소스

관련 문서

분석 도구 출력 예시

  • 빌드 트렌드 분석 보고서
  • 실패 로그 분석 결과
  • 프로젝트별 성능 분석 보고서

📞 지원

문의사항

  • 기술 문제: GitHub Issues
  • 기능 요청: GitHub Discussions
  • 버그 보고: GitHub Issues (bug label)

버전 정보

  • 현재 버전: v1.0.0
  • 지원 Python 버전: 3.8+
  • 지원 Jenkins 버전: 2.400+

📈 기대 효과

이 MCP 서버를 통해 기대할 수 있는 주요 효과:

  • Jenkins 작업 자동화: 완전 자동화된 작업 모니터링
  • 지능형 분석: 실패 원인 식별 및 해결방안 제시
  • 실시간 모니터링: 트렌드 분석 및 예측적 유지보수
  • 인프라 관리: 시스템 자동 관리 및 최적화
  • 대규모 프로젝트 지원: 복잡한 빌드 파이프라인 관리

🎯 목표: Jenkins 관리 효율성 향상, 장애 대응 시간 단축


💡 참고: 이 프로젝트는 Jenkins CI/CD 시스템과의 원활한 통합을 위해 개발되었으며, 다양한 사용 사례에 맞게 확장 가능합니다.

라이선스: MIT License