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 작업 실시간 모니터링
- 상태 분석: 빌드 성공률 및 실패 패턴 자동 분석
- 자동 실행: 파라미터 기반 작업 실행 및 관리
🎯 분석 기능
- 빌드 트렌드 분석: 성공률 추이 및 성능 메트릭 분석
- 실패 로그 분석: 근본 원인 분석 및 해결방안 제시
- 종합 작업 분석: 프로젝트별 성능 비교 및 최적화 방안
🔧 자동화 기능
- 실패 패턴 감지: 공통 실패 원인 식별 및 알림
- 성능 모니터링: 빌드 시간 및 리소스 사용량 추적
- 인프라 관리: 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")
🛡️ 보안 고려사항
- 인증 정보 보호: 환경 변수를 통한 안전한 인증 정보 관리
- 네트워크 보안: 내부 네트워크 접근 제한
- 권한 관리: 최소 필요 권한 원칙 적용
- 로그 보안: 민감한 정보 로그 제외
🔧 문제 해결
자주 발생하는 문제
-
연결 오류
# Jenkins 서버 상태 확인 curl -I $JENKINS_URL -
인증 실패
# 환경 변수 확인 echo $JENKINS_URL $JENKINS_USERNAME # .env 파일 확인 cat .env -
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