mcp_jenkins
Jenkins MCP 서버. MCP(Model Context Protocol)를 사용하면 AI 도구(예: 챗봇)가 Jenkins 설정과 통신하고 이를 제어할 수 있습니다. 즉, 정보를 검색하고 설정을 수정할 수 있습니다.
참고: 이것은 MCP Jenkins 서버의 최소 실험 버전이며 현재 초기 개발 단계에 있습니다.
설명
이 프로젝트는 Jenkins와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버를 제공합니다. 사용자는 MCP 인터페이스를 통해 Jenkins 작업을 트리거하고, 빌드 상태를 가져오고, 기타 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 환경에서 최신 빌드에 대한 테스트가 수행되도록 보장합니다.
테스트 환경 배포
인증 없이 기능 테스트에만 사용할 수 있는 로컬 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 라이선스에 따라 라이선스가 부여되었습니다.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
챗봇과 같은 AI 도구가 Jenkins와 상호 작용하고 Jenkins를 제어할 수 있도록 하는 MCP(Model Context Protocol) 서버로, 사용자는 자연어를 통해 작업을 트리거하고, 빌드 상태를 확인하고, 다른 Jenkins 작업을 수행할 수 있습니다.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Jenkins CI/CD servers, providing tools to check build statuses, trigger builds, and retrieve build logs.Last updated -38JavaScriptMIT License
- AsecurityAlicenseAqualityA server that uses the Model Context Protocol (MCP) to allow AI agents to safely execute shell commands on a host system.Last updated -1762TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables real-time, interactive AI chat with Selector AI through a streaming-capable server and Docker-based client communicating via stdin/stdout.Last updated -1PythonApache 2.0
- -securityAlicense-qualityThe Model Context Protocol (MCP) Jenkins integration is an open-source implementation that bridges Jenkins with AI language models following Anthropic's MCP specification. This project enables secure, contextual AI interactions with Jenkins tools while maintaining data privacy and security.Last updated -25PythonMIT License