@itapi-core/mcp-harbor
v1.0.3
Published
KR: Harbor Project, Repository, Artifact CRUD와 범용 API 호출을 MCP 도구로 제공하는 서버. EN: MCP server for Harbor CRUD operations and generic API access over stdio and Streamable HTTP.
Maintainers
Readme
@itapi-core/mcp-harbor
Harbor 이미지 레지스트리를 관리하기 위한 Model Context Protocol (MCP) 서버입니다. Harbor에 등록된 프로젝트(Project), 레포지토리(Repository), 아티팩트(Artifact)의 조회, 생성, 삭제 작업을 자동화할 수 있으며, 범용 API 호출 도구를 제공합니다.
mcp-jenkins와 동일한 런타임 구조(stdio 및 SSE 지원, Zod 기반 스키마 검증)를 채택하여 높은 안정성과 확장성을 제공합니다.
기능 (Features)
이 MCP 서버는 다음과 같은 Harbor 제어 도구를 제공합니다:
1. 프로젝트(Project) 제어
harbor_list_projects: 전체 프로젝트 목록 조회harbor_get_project: 특정 프로젝트 상세 정보 조회harbor_create_project: 신규 프로젝트 생성 (public/private 설정 지원)harbor_delete_project: 프로젝트 영구 삭제
2. 레포지토리(Repository) 제어
harbor_list_repositories: 특정 프로젝트 내의 레포지토리(이미지) 목록 조회harbor_delete_repository: 레포지토리 삭제
3. 아티팩트(Artifact / Image Tag) 제어
harbor_list_artifacts: 레포지토리 안의 아티팩트(태그) 목록 조회harbor_delete_artifact: 특정 태그나 다이제스트를 가진 아티팩트 삭제
4. 범용 REST API
harbor_api_request: 제공되지 않은 그 외 Harbor API (v2.0) 엔드포인트를 직접 요청 가능
사전 요구 사항 (Prerequisites)
- Node.js 18 이상
- 접근 권한이 부여된 Harbor 시스템 및 자격 증명 (Basic Auth 지원)
설정 가이드 (Configuration)
이 서버를 Claude Desktop 등 MCP 클라이언트에서 사용하려면, 설정 파일에 아래 항목을 추가하세요.
표준 입출력(stdio) 방식 설정
{
"mcpServers": {
"harbor": {
"command": "npx",
"args": ["-y", "@itapi-core/mcp-harbor"],
"env": {
"HARBOR_URL": "https://harbor.example.com/api/v2.0",
"HARBOR_USERNAME": "your_username",
"HARBOR_PASSWORD": "your_password_or_cli_secret"
}
}
}
}HTTP (SSE) 모드 실행
단독 프로세스나 도커 등에서 HTTP 서버 형태로 실행해야 할 경우:
export HARBOR_URL="https://harbor.example.com/api/v2.0"
export HARBOR_USERNAME="your_username"
export HARBOR_PASSWORD="your_password"
export PORT="3000" # 선택 사항 (기본 3000)
# 서버 실행
npm run start:http이후 다른 클라이언트에서 http://localhost:3000/sse 로 MCP 커넥션을 맺을 수 있습니다.
개발 가이드 (Development)
# 의존성 설치
npm install
# 소스코드 빌드
npm run build
# 개발 모드 (TypeScript 직접 실행)
npm run dev라이선스
ISC License
