mcp_jenkins
Jenkins MCP 서버. MCP(Model Context Protocol)를 사용하면 AI 도구(예: 챗봇)가 Jenkins 설정과 통신하고 이를 제어할 수 있습니다. 즉, 정보를 검색하고 설정을 수정할 수 있습니다.
참고: 이것은 MCP Jenkins 서버의 최소 실험 버전이며 현재 초기 개발 단계에 있습니다.
설명
이 프로젝트는 Jenkins와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버를 제공합니다. 사용자는 MCP 인터페이스를 통해 Jenkins 작업을 트리거하고, 빌드 상태를 가져오고, 기타 Jenkins 관련 작업을 수행할 수 있습니다.
Related MCP server: mcp-jenkins
구성 요소
server.py: 핵심 MCP Jenkins 서버 애플리케이션.functions_schema.md: MCP Jenkins 서버에서 노출된 함수에 대한 스키마를 정의합니다.client.py: MCP Jenkins 서버와 상호작용하는 방법을 보여주는 예제 클라이언트(참조용으로만 제공됨).functional tests: MCP Jenkins 서버에 대한 기능 테스트가 포함되어 있습니다.
설치
패키지를 설치하려면 다음을 실행하세요.
지엑스피1
용법
일반적인 워크플로
서버 실행
MCP 서버를 실행하려면:
예제 클라이언트 실행
예제 클라이언트를 실행하려면:
예를 들어, 특정 모델을 사용하여 "백업"이라는 작업에 대한 빌드를 나열하려면 다음을 실행할 수 있습니다.
참고: 패키지가 pip install . 통해 설치된 경우 mcp_jenkins_client 콘솔 스크립트도 사용할 수 있습니다.
이렇게 하면 다음과 유사한 출력이 생성될 수 있습니다.
Docker로 빌드 및 테스트
개발 및 테스트를 위한 일반적인 워크플로는 먼저 Docker 이미지를 빌드한 다음 테스트를 실행하는 것입니다.
Docker 이미지 빌드: 이 단계에서는 테스트에 필요한 환경을 준비합니다.
./docker/build테스트 실행: 빌드가 완료된 후 테스트를 실행합니다.
./docker/run.tests
이 시퀀스는 일관된 Docker 환경에서 최신 빌드에 대한 테스트가 수행되도록 보장합니다.
테스트 환경 배포
인증 없이 기능 테스트에만 사용할 수 있는 로컬 Jenkins 테스트 인스턴스를 배포하려면 다음을 수행합니다.
기존 Jenkins 인스턴스에 연결
기존 Jenkins 인스턴스와 함께 MCP Jenkins 서버를 사용하려면 다음 환경 변수를 구성해야 합니다.
JENKINS_URL: Jenkins 인스턴스의 전체 URL(예:http://your-jenkins-host:8080). 필수 입니다.JENKINS_USER: (선택 사항) 인증이 필요한 경우 Jenkins 사용자 이름입니다.JENKINS_API_TOKEN: (선택 사항) Jenkins API 토큰입니다. 인증을 사용하는 경우JENKINS_USER와 함께 제공해야 합니다. Jenkins 사용자 설정 페이지(<Jenkins URL>/me/configure)에서 API 토큰을 생성할 수 있습니다.MCP_API_KEY: 이 MCP 서버를 보호하는 비밀 API 키입니다. MCP 서버에 대한 요청은X-API-Key헤더에 이 키를 포함해야 합니다.DEBUG_MODE``true로 설정되어 있지 않은 경우 필수 입니다.DEBUG_MODE: MCP 서버를 디버그 모드로 실행하려면true로 설정합니다. 이렇게 하면MCP_API_KEY요구 사항을 무시하고 더 자세한 로깅을 제공합니다. 프로덕션 환경에서는 사용하지 마세요.
구성 예(Bash):
이러한 환경 변수가 설정되면 Docker 스크립트를 사용하여 MCP 서버를 실행할 수 있습니다.
그러면 MCP 서버는 지정된 Jenkins 인스턴스에 연결을 시도합니다.
OpenWebUI 통합
open-webui/open_webui_interface.py 파일은 MCP Jenkins 서버를 OpenWebUI 인스턴스와 통합하는 방법의 예를 제공합니다.
사용하려면:
OpenWebUI 인터페이스에서 도구를 추가하거나 구성하기 위한 섹션으로 이동합니다.
새로운 도구를 만듭니다.
open-webui/open_webui_interface.py파일의 전체 내용을 복사하여 OpenWebUI의 도구 구성에 붙여넣습니다.중요 : 붙여넣은 코드 내에서 연결 매개변수를 조정해야 합니다. 특히 다음과 같습니다.
MCP_JENKINS_SERVER_URL: OpenWebUI 환경에서 이 환경 변수를 실행 중인 MCP Jenkins 서버의 URL(예:http://localhost:5000)로 설정합니다. 이 변수가 설정되지 않으면 스크립트는 기본적으로http://localhost:5000사용합니다.MCP_API_KEY: MCP Jenkins 서버가 API 키를 요구하도록 구성된 경우, OpenWebUI 환경에서 이 환경 변수가 설정되어 있는지 확인하세요. 스크립트는 해당 변수를 찾을 수 없으면 경고를 표시하지만 요청을 계속 시도합니다.
구성이 완료되면 open_webui_interface.py 에 정의된 도구(예: list_jobs , trigger_build , get_build_status )를 OpenWebUI 채팅 인터페이스 내에서 사용할 수 있게 됩니다.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다.