mcp-jenkins
v1.0.5
Published
MCP server for Jenkins (jobs, builds, folders, nodes, views, plugins, credentials)
Maintainers
Readme
@itapi-core/mcp-jenkins
An MCP (Model Context Protocol) server for interacting with Jenkins. Jenkins (CI/CD Automation Server) 제어를 위한 MCP 서버입니다.
이 서버를 사용하면 Claude, Cursor 등의 환경에서 Jenkins의 Job(작업), Build(빌드/로그), Folder(폴더), Node(에이전트), View(뷰), Plugin(플러그인), Credential(자격 증명)을 조회하고 관리(CRUD)할 수 있습니다.
Supported Jenkins Version (호환 버전 안내)
이 서버는 표준 Jenkins REST API 기반으로 작성되었습니다. 따라서 최신 Jenkins 버전뿐만 아니라 기존 LTS 버전 환경에서도 가장 완벽하게 동작하며, API 인증이 활성화된 모든 환경을 지원합니다.
Capabilities
이 서버는 다음과 같은 기능(Tools)을 제공합니다:
1. Job CRUD (작업 관리)
jenkins_list_jobs: 전체 또는 특정 폴더의 작업 목록 조회jenkins_get_job: 특정 작업 상세 정보 조회jenkins_create_job: 신규 작업 생성 (config_xml 직접 입력 또는 템플릿 기반 생성)jenkins_update_job: 기존 작업의 config_xml 설정 업데이트jenkins_delete_job: 특정 작업 삭제jenkins_toggle_job: 작업을 활성화(Enable) 하거나 비활성화(Disable) 처리
2. Build & Queue Control (빌드 및 대기열 제어)
jenkins_build_job: 작업 빌드 트리거 (파라미터 지원)jenkins_get_build: 특정 빌드 번호의 상태 및 상세 정보 조회jenkins_stop_build: 현재 실행 중인 빌드 강제 중지jenkins_get_build_log: 특정 빌드의 콘솔 출력 로그(Console Output) 텍스트 전체 조회jenkins_list_queue: 현재 대기 중인 Jenkins 빌드 대기열(Queue) 조회jenkins_cancel_queue_item: 대기열(Queue)에 있는 특정 빌드 취소jenkins_read_artifact: 빌드 결과로 생성된 산출물(Artifact) 파일의 내용 조회
3. Folder CRUD (폴더 관리)
jenkins_create_folder: 새로운 폴더 생성jenkins_delete_folder: 특정 폴더 삭제
4. Node CRUD (노드/에이전트 관리)
jenkins_list_nodes: 전체 노드 목록 및 상태 조회jenkins_create_node: 신규 노드 추가jenkins_delete_node: 특정 노드 제거jenkins_toggle_node_offline: 노드를 오프라인/온라인 상태로 전환 (오프라인 사유 메시지 포함 가능)
5. View CRUD (뷰 관리)
jenkins_list_views: 뷰 목록 조회jenkins_create_view: 새로운 뷰 생성jenkins_delete_view: 특정 뷰 삭제
6. System & Plugins & Credentials (시스템 및 자격 증명)
jenkins_safe_restart: 실행 중인 빌드가 종료된 후 Jenkins 안전 재시작jenkins_list_plugins: 서버에 설치된 활성화된 플러그인 목록 조회jenkins_install_plugin: 새로운 Jenkins 플러그인 설치jenkins_list_credentials: 전역(System) 또는 특정 폴더 레벨의 자격 증명(Credentials) 목록 조회jenkins_run_groovy_script: [고급] Jenkins Script Console을 통해 서버에서 원격으로 Groovy 스크립트 실행
7. Generic API Request (범용 API 호출)
jenkins_api_request: 현재 툴로 지원되지 않는 Jenkins API 엔드포인트를 Method, Endpoint, Body 파라미터를 통해 직접 호출jenkins_generate_job_config: 작업 타입(freestyle, pipeline 등)에 맞는 config.xml 템플릿 생성
Setup (환경 변수)
이 서버가 Jenkins API와 통신하기 위해 다음 세 가지 환경 변수가 기본적으로 필요합니다.
JENKINS_URL: Jenkins 인스턴스의 주소 (예:http://localhost:8080)JENKINS_USER: Jenkins 사용자 계정 아이디 (예:admin)JENKINS_TOKEN: Jenkins 사용자 설정에서 발급받은 API 토큰 (또는 비밀번호)
(참고: JENKINS_USER 없이 JENKINS_TOKEN만 제공하면 Bearer 토큰 방식으로 처리됩니다. Jenkins나 프록시가 해당 방식을 지원할 때만 사용하세요.)
Usage (사용법)
npx 를 활용한 실행 (추천)
MCP를 지원하는 클라이언트(Claude Desktop, Cursor 등)의 설정 파일에 아래와 같이 추가합니다.
Cursor (cursor_mcp.json)
{
"mcpServers": {
"jenkins": {
"command": "npx",
"args": ["-y", "@itapi-core/mcp-jenkins"],
"env": {
"JENKINS_URL": "http://localhost:8080",
"JENKINS_USER": "admin",
"JENKINS_TOKEN": "YOUR_API_TOKEN"
}
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"jenkins": {
"command": "npx",
"args": ["-y", "@itapi-core/mcp-jenkins"],
"env": {
"JENKINS_URL": "http://localhost:8080",
"JENKINS_USER": "admin",
"JENKINS_TOKEN": "YOUR_API_TOKEN"
}
}
}
}Local Development (로컬 빌드 및 실행)
npm install
npm run build
npm start