hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
JFrog MCP 서버(🧪 실험적)
JFrog 플랫폼 API를 위한 MCP(Model Context Protocol) 서버로, 저장소 관리, 빌드 추적, 릴리스 수명 주기 관리 등의 기능을 제공합니다.
https://github.com/user-attachments/assets/aca3af2b-f294-41c8-8727-799a019a55b5
부인 성명
이 프로젝트는 JFrog의 MCP 기능을 시연하기 위한 실험적 프로젝트이며, JFrog의 공식적인 지원이나 검증을 받지 않았습니다.
특징
- 저장소 관리 : 로컬, 원격 및 가상 저장소를 생성하고 관리합니다.
- 빌드 추적 : 빌드 정보 나열 및 검색
- 런타임 모니터링 : 런타임 클러스터 및 실행 중인 컨테이너 이미지 보기
- 미션 컨트롤 : 연관된 JFrog 플랫폼 인스턴스 보기
- 아티팩트 검색 : 강력한 AQL 쿼리를 실행하여 아티팩트 및 빌드를 검색합니다.
- 카탈로그 및 큐레이션 : 패키지 정보, 버전, 취약점에 액세스하고 큐레이션 상태를 확인합니다.
도구
check_jfrog_availability
- JFrog 플랫폼이 준비되었고 작동하는지 확인하세요
- 반환: 플랫폼 준비 상태
create_local_repository
- Artifactory에서 새 로컬 저장소를 만듭니다.
- 입력:
key
(문자열): 저장소 키rclass
(문자열): 저장소 클래스("local"이어야 함)packageType
(문자열): 저장소의 패키지 유형description
(선택적 문자열): 저장소 설명projectKey
(선택적 문자열): 저장소에 할당할 프로젝트 키environments
(선택적 문자열[]): 저장소를 할당할 환경
- 반환: 생성된 저장소 세부 정보
create_remote_repository
- Artifactory에서 외부 패키지 레지스트리를 프록시하기 위해 새 원격 저장소를 만듭니다.
- 입력:
key
(문자열): 저장소 키rclass
(문자열): 저장소 클래스("remote"여야 함)packageType
(문자열): 저장소의 패키지 유형url
(문자열): 원격 저장소의 URLusername
(선택적 문자열): 원격 저장소 사용자 이름password
(선택 문자열): 원격 저장소 비밀번호description
(선택적 문자열): 저장소 설명projectKey
(선택적 문자열): 저장소에 할당할 프로젝트 키environments
(선택적 문자열[]): 저장소를 할당할 환경- 특정 저장소 구성을 위한 다른 많은 선택적 매개변수
- 반환: 생성된 저장소 세부 정보
create_virtual_repository
- Artifactory에서 여러 저장소를 집계하는 새 가상 저장소를 만듭니다.
- 입력:
key
(문자열): 저장소 키rclass
(문자열): 저장소 클래스("가상"이어야 함)packageType
(문자열): 저장소의 패키지 유형repositories
(문자열[]): 가상 저장소에 포함할 저장소 키 목록description
(선택적 문자열): 저장소 설명projectKey
(선택적 문자열): 저장소에 할당할 프로젝트 키environments
(선택적 문자열[]): 저장소를 할당할 환경- 특정 저장소 구성을 위한 기타 선택적 매개변수
- 반환: 생성된 저장소 세부 정보
list_repositories
- 선택적 필터링을 사용하여 Artifactory의 모든 저장소 나열
- 입력:
type
(선택적 문자열): 유형(로컬, 원격, 가상, 연합, 배포)별로 저장소 필터링packageType
(선택적 문자열): 패키지 유형별로 저장소 필터링project
(선택적 문자열): 프로젝트 키로 저장소 필터링
- 반환: 필터와 일치하는 저장소 목록
set_folder_property
- Artifactory에서 폴더 속성 설정(선택적 재귀적 적용)
- 입력:
folderPath
(문자열): 속성을 설정해야 하는 폴더의 경로properties
(객체): 설정할 속성의 키-값 쌍recursive
(선택적 부울): 하위 폴더에 속성을 재귀적으로 적용할지 여부
- 반환: 작업 결과
execute_aql_query
- JFrog Artifactory에서 아티팩트, 빌드 또는 기타 엔터티를 검색하기 위해 Artifactory Query Language(AQL) 쿼리를 실행합니다.
- 입력:
query
(문자열): 실행할 AQL 쿼리입니다. AQL 구문을 따라야 합니다(예: items.find({"repo":"my-repo"}).include("name","path")).domain
(선택적 문자열): 검색할 기본 도메인(items, builds, archive.entries, build.promotions, releases)transitive
(선택적 부울): 원격 저장소에서 검색할지 여부limit
(선택적 숫자): 반환할 결과의 최대 개수offset
(선택적 숫자): 건너뛸 결과 수include_fields
(선택적 문자열[]): 결과에 포함할 필드sort_by
(선택적 문자열): 결과를 정렬할 필드sort_order
(선택적 문자열): 정렬 순서(오름차순 또는 내림차순)
- 반환: 메타데이터가 포함된 검색 결과
list_jfrog_builds
- JFrog 플랫폼의 모든 빌드 목록을 반환합니다.
- 반환: 빌드 목록
get_specific_build
- 이름으로 특정 빌드에 대한 세부 정보 가져오기
- 입력:
buildName
(문자열): 검색할 빌드의 이름project
(선택적 문자열): 빌드 검색 범위를 지정하는 프로젝트 키
- 반품: 빌드 세부 정보
list_jfrog_runtime_clusters
- JFrog 플랫폼의 모든 런타임 클러스터 목록을 반환합니다.
- 입력:
limit
(선택적 정수): 반환할 클러스터의 최대 수next_key
(선택적 문자열): 페이지 매김에 사용할 다음 키
- 반환: 런타임 클러스터 목록
get_jfrog_runtime_specific_cluster
- ID로 런타임 클러스터 반환
- 입력:
clusterId
(정수): 검색할 클러스터의 ID
- 반환: 클러스터 세부 정보
list_jfrog_running_images
- 보안 및 운영 상태와 함께 런타임 클러스터에서 실행 중인 모든 컨테이너 이미지를 나열합니다.
- 입력:
filters
(선택적 문자열): 적용할 필터num_of_rows
(선택적 정수): 반환할 행 수page_num
(선택적 정수): 페이지 번호statistics
(선택적 부울): 통계를 포함할지 여부timePeriod
(선택적 문자열): 쿼리할 기간
- 반환: 실행 중인 이미지 목록
list_jfrog_environments
- JFrog 플랫폼의 모든 환경 유형 목록과 해당 세부 정보를 확인하세요.
- 입력:
- 반환: 환경 목록
list_jfrog_projects
- JFrog 플랫폼의 모든 프로젝트 목록과 세부 정보를 확인하세요.
- 입력:
- 반환: 프로젝트 목록
get_specific_project
- JFrog 플랫폼에서 특정 프로젝트에 대한 자세한 정보를 얻으세요
- 입력:
project_key
(문자열): 검색할 프로젝트의 고유 키
- 반환: 프로젝트 세부 정보
create_project
- JFrog 플랫폼에서 새 프로젝트를 만듭니다.
- 입력:
project_key
(문자열): 프로젝트의 고유 식별자display_name
(문자열): 프로젝트의 표시 이름description
(문자열): 프로젝트에 대한 설명admin_privileges
(객체): 프로젝트에 대한 관리 권한storage_quota_bytes
(숫자): 바이트 단위의 저장 할당량(무제한의 경우 -1)
- 반환: 생성된 프로젝트 세부 정보
jfrog_get_package_info
- 소프트웨어 패키지에 대한 공개적으로 사용 가능한 정보를 얻으세요
- 입력:
type
(문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)name
(문자열): 패키지 저장소에 나타나는 패키지 이름version
(선택적 문자열): 패키지 버전(기본값: "최신")
- 반환: 설명, 최신 버전, 라이센스 및 URL을 포함한 패키지 정보
jfrog_get_package_versions
- 공개된 패키지의 버전 목록과 출판 날짜를 가져옵니다.
- 입력:
type
(문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)name
(문자열): 패키지 저장소에 나타나는 패키지 이름
- 반환: 출판 날짜가 포함된 패키지 버전 목록
jfrog_get_package_version_vulnerabilities
- 오픈 소스 패키지의 특정 버전에 영향을 미치는 알려진 취약점 목록을 가져옵니다.
- 입력:
type
(문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)name
(문자열): 패키지 저장소에 나타나는 패키지 이름version
(선택적 문자열): 패키지 버전(기본값: "최신")pageSize
(선택적 숫자): 페이지당 반환할 취약점 수(기본값: 10)pageCount
(선택적 숫자): 반환할 페이지 수(기본값: 1)
- 반환: 지정된 패키지 버전에 영향을 미치는 취약점 목록
jfrog_get_vulnerability_info
- 영향을 받는 패키지 및 버전을 포함하여 특정 취약성에 대한 자세한 정보를 얻으세요.
- 입력:
cve_id
(문자열): 조회할 CVE ID 또는 취약성 식별자pageSize
(선택적 숫자): 페이지당 반환할 취약점 수(기본값: 10)pageCount
(선택적 숫자): 반환할 페이지 수(기본값: 1)
- 반환: 자세한 취약성 정보 및 영향을 받는 패키지
jfrog_get_package_curation_status
- 특정 패키지 버전의 큐레이션 상태를 확인하세요
- 입력:
packageType
(문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)packageName
(문자열): 패키지 저장소에 나타나는 패키지 이름packageVersion
(문자열): 패키지 저장소에 나타나는 패키지 버전
- 반환: 큐레이션 상태(승인됨, 차단됨 또는 미결정)
설정
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 mcp-jfrog를 자동으로 설치하려면:
지엑스피1
필수 조건
- Node.js v18 이상
- Docker(Docker 배포를 사용하는 경우 참조)
- 적절한 권한이 있는 유효한 JFrog 플랫폼 인스턴스
- JFrog 플랫폼 인스턴스에서 액세스 토큰을 생성하고 관리할 수 있습니다.
환경 변수
JFROG_ACCESS_TOKEN
: JFrog 액세스 토큰(필수)JFROG_URL
: JFrog 플랫폼의 기본 URL(필수)
JFrog 토큰( JFROG_ACCESS_TOKEN
)
이 MCP 서버를 사용하려면 JFrog 액세스 토큰을 생성하거나 적절한 권한이 있는 ID 토큰을 사용해야 합니다.
JFrog 토큰을 생성하는 방법에 대한 자세한 내용은 JFrog 공식 문서를 참조하세요.
JFrog URL( JFROG_URL
)
JFrog 플랫폼 인스턴스 URL(예: https://acme.jfrog.io )
어떻게 구축하는가
git clone
사용하여 로컬 컴퓨터에 저장소를 복제하고 프로젝트 디렉토리로 cd
.
Docker 이미지로 빌드:
npm 모듈로 빌드:
용법
엔피엠
도커
claude_desktop_config.json
에 다음을 추가하세요.
도커
엔피엠
특허
이 MCP 서버는 Apache 라이선스 2.0에 따라 라이선스가 부여됩니다. 즉, Apache 라이선스 2.0의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE.md 파일을 참조하세요.
This server cannot be installed
저장소 관리, 빌드 추적, 아티팩트 검색, 패키지 보안 분석을 포함한 JFrog 플랫폼 API 기능에 액세스할 수 있게 해주는 실험적 모델 컨텍스트 프로토콜 서버입니다.