JFrog MCP Server

Official

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 쿼리를 실행하여 아티팩트 및 빌드를 검색합니다.
  • 카탈로그 및 큐레이션 : 패키지 정보, 버전, 취약점에 액세스하고 큐레이션 상태를 확인합니다.

도구

  1. check_jfrog_availability
    • JFrog 플랫폼이 준비되었고 작동하는지 확인하세요
    • 반환: 플랫폼 준비 상태
  2. create_local_repository
    • Artifactory에서 새 로컬 저장소를 만듭니다.
    • 입력:
      • key (문자열): 저장소 키
      • rclass (문자열): 저장소 클래스("local"이어야 함)
      • packageType (문자열): 저장소의 패키지 유형
      • description (선택적 문자열): 저장소 설명
      • projectKey (선택적 문자열): 저장소에 할당할 프로젝트 키
      • environments (선택적 문자열[]): 저장소를 할당할 환경
    • 반환: 생성된 저장소 세부 정보
  3. create_remote_repository
    • Artifactory에서 외부 패키지 레지스트리를 프록시하기 위해 새 원격 저장소를 만듭니다.
    • 입력:
      • key (문자열): 저장소 키
      • rclass (문자열): 저장소 클래스("remote"여야 함)
      • packageType (문자열): 저장소의 패키지 유형
      • url (문자열): 원격 저장소의 URL
      • username (선택적 문자열): 원격 저장소 사용자 이름
      • password (선택 문자열): 원격 저장소 비밀번호
      • description (선택적 문자열): 저장소 설명
      • projectKey (선택적 문자열): 저장소에 할당할 프로젝트 키
      • environments (선택적 문자열[]): 저장소를 할당할 환경
      • 특정 저장소 구성을 위한 다른 많은 선택적 매개변수
    • 반환: 생성된 저장소 세부 정보
  4. create_virtual_repository
    • Artifactory에서 여러 저장소를 집계하는 새 가상 저장소를 만듭니다.
    • 입력:
      • key (문자열): 저장소 키
      • rclass (문자열): 저장소 클래스("가상"이어야 함)
      • packageType (문자열): 저장소의 패키지 유형
      • repositories (문자열[]): 가상 저장소에 포함할 저장소 키 목록
      • description (선택적 문자열): 저장소 설명
      • projectKey (선택적 문자열): 저장소에 할당할 프로젝트 키
      • environments (선택적 문자열[]): 저장소를 할당할 환경
      • 특정 저장소 구성을 위한 기타 선택적 매개변수
    • 반환: 생성된 저장소 세부 정보
  5. list_repositories
    • 선택적 필터링을 사용하여 Artifactory의 모든 저장소 나열
    • 입력:
      • type (선택적 문자열): 유형(로컬, 원격, 가상, 연합, 배포)별로 저장소 필터링
      • packageType (선택적 문자열): 패키지 유형별로 저장소 필터링
      • project (선택적 문자열): 프로젝트 키로 저장소 필터링
    • 반환: 필터와 일치하는 저장소 목록
  6. set_folder_property
    • Artifactory에서 폴더 속성 설정(선택적 재귀적 적용)
    • 입력:
      • folderPath (문자열): 속성을 설정해야 하는 폴더의 경로
      • properties (객체): 설정할 속성의 키-값 쌍
      • recursive (선택적 부울): 하위 폴더에 속성을 재귀적으로 적용할지 여부
    • 반환: 작업 결과
  7. 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 (선택적 문자열): 정렬 순서(오름차순 또는 내림차순)
    • 반환: 메타데이터가 포함된 검색 결과
  8. list_jfrog_builds
    • JFrog 플랫폼의 모든 빌드 목록을 반환합니다.
    • 반환: 빌드 목록
  9. get_specific_build
    • 이름으로 특정 빌드에 대한 세부 정보 가져오기
    • 입력:
      • buildName (문자열): 검색할 빌드의 이름
      • project (선택적 문자열): 빌드 검색 범위를 지정하는 프로젝트 키
    • 반품: 빌드 세부 정보
  10. list_jfrog_runtime_clusters
  • JFrog 플랫폼의 모든 런타임 클러스터 목록을 반환합니다.
  • 입력:
    • limit (선택적 정수): 반환할 클러스터의 최대 수
    • next_key (선택적 문자열): 페이지 매김에 사용할 다음 키
  • 반환: 런타임 클러스터 목록
  1. get_jfrog_runtime_specific_cluster
  • ID로 런타임 클러스터 반환
  • 입력:
    • clusterId (정수): 검색할 클러스터의 ID
  • 반환: 클러스터 세부 정보
  1. list_jfrog_running_images
  • 보안 및 운영 상태와 함께 런타임 클러스터에서 실행 중인 모든 컨테이너 이미지를 나열합니다.
  • 입력:
    • filters (선택적 문자열): 적용할 필터
    • num_of_rows (선택적 정수): 반환할 행 수
    • page_num (선택적 정수): 페이지 번호
    • statistics (선택적 부울): 통계를 포함할지 여부
    • timePeriod (선택적 문자열): 쿼리할 기간
  • 반환: 실행 중인 이미지 목록
  1. list_jfrog_environments
  • JFrog 플랫폼의 모든 환경 유형 목록과 해당 세부 정보를 확인하세요.
  • 입력:
  • 반환: 환경 목록
  1. list_jfrog_projects
  • JFrog 플랫폼의 모든 프로젝트 목록과 세부 정보를 확인하세요.
  • 입력:
  • 반환: 프로젝트 목록
  1. get_specific_project
  • JFrog 플랫폼에서 특정 프로젝트에 대한 자세한 정보를 얻으세요
  • 입력:
    • project_key (문자열): 검색할 프로젝트의 고유 키
  • 반환: 프로젝트 세부 정보
  1. create_project
  • JFrog 플랫폼에서 새 프로젝트를 만듭니다.
  • 입력:
    • project_key (문자열): 프로젝트의 고유 식별자
    • display_name (문자열): 프로젝트의 표시 이름
    • description (문자열): 프로젝트에 대한 설명
    • admin_privileges (객체): 프로젝트에 대한 관리 권한
    • storage_quota_bytes (숫자): 바이트 단위의 저장 할당량(무제한의 경우 -1)
  • 반환: 생성된 프로젝트 세부 정보
  1. jfrog_get_package_info
  • 소프트웨어 패키지에 대한 공개적으로 사용 가능한 정보를 얻으세요
  • 입력:
    • type (문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • name (문자열): 패키지 저장소에 나타나는 패키지 이름
    • version (선택적 문자열): 패키지 버전(기본값: "최신")
  • 반환: 설명, 최신 버전, 라이센스 및 URL을 포함한 패키지 정보
  1. jfrog_get_package_versions
  • 공개된 패키지의 버전 목록과 출판 날짜를 가져옵니다.
  • 입력:
    • type (문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • name (문자열): 패키지 저장소에 나타나는 패키지 이름
  • 반환: 출판 날짜가 포함된 패키지 버전 목록
  1. jfrog_get_package_version_vulnerabilities
  • 오픈 소스 패키지의 특정 버전에 영향을 미치는 알려진 취약점 목록을 가져옵니다.
  • 입력:
    • type (문자열): 패키지 유형(pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • name (문자열): 패키지 저장소에 나타나는 패키지 이름
    • version (선택적 문자열): 패키지 버전(기본값: "최신")
    • pageSize (선택적 숫자): 페이지당 반환할 취약점 수(기본값: 10)
    • pageCount (선택적 숫자): 반환할 페이지 수(기본값: 1)
  • 반환: 지정된 패키지 버전에 영향을 미치는 취약점 목록
  1. jfrog_get_vulnerability_info
  • 영향을 받는 패키지 및 버전을 포함하여 특정 취약성에 대한 자세한 정보를 얻으세요.
  • 입력:
    • cve_id (문자열): 조회할 CVE ID 또는 취약성 식별자
    • pageSize (선택적 숫자): 페이지당 반환할 취약점 수(기본값: 10)
    • pageCount (선택적 숫자): 반환할 페이지 수(기본값: 1)
  • 반환: 자세한 취약성 정보 및 영향을 받는 패키지
  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 .

git clone git@github.com:jfrog/mcp-jfrog.git cd mcp-jfrog

Docker 이미지로 빌드:

docker build -t mcp/jfrog -f Dockerfile .

npm 모듈로 빌드:

npm i && npm run build

용법

엔피엠

{ "mcpServers": { "MCP-JFrog": { "command": "npm", "args": [ "exec", "-y", "github:jfrog/mcp-jfrog" ], "env": { "JFROG_ACCESS_TOKEN": "ACCESS_TOKEN", "JFROG_URL": "https://<YOUR_JFROG_INSTANCE_URL>" } } }, "mcp-local-dev":{ "command": "node", "args": [ "/<ABSOLUT_PATH_TO>/mcp-jfrog/dist/index.js" ], "env": { "JFROG_ACCESS_TOKEN": "<ACCESS_TOKEN>>", "JFROG_URL": "<JFROG_URL>" } } }

도커

{ "mcpServers": { "jfrog": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "JFROG_ACCESS_TOKEN", "-e", "JFROG_URL", "mcp/jfrog" ], "env": { "JFROG_ACCESS_TOKEN": "<YOUR_TOKEN>", "JFROG_URL": "https://your-instance.jfrog.io" // Your JFrog platform URL } } } }

claude_desktop_config.json 에 다음을 추가하세요.

도커

{ "mcpServers": { "jfrog": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "JFROG_ACCESS_TOKEN", "-e", "JFROG_URL", "mcp/jfrog" ], "env": { "JFROG_ACCESS_TOKEN": "<YOUR_TOKEN>", "JFROG_URL": "https://your-instance.jfrog.io" // Your JFrog platform URL } } } }

엔피엠

{ "mcpServers": { "MCP-JFrog": { "command": "npm", "args": [ "exec", "-y", "github:jfrog/mcp-jfrog" ], "env": { "JFROG_ACCESS_TOKEN": "ACCESS_TOKEN", "JFROG_URL": "https://<YOUR_JFROG_INSTANCE_URL>" } } } }

특허

이 MCP 서버는 Apache 라이선스 2.0에 따라 라이선스가 부여됩니다. 즉, Apache 라이선스 2.0의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE.md 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

저장소 관리, 빌드 추적, 아티팩트 검색, 패키지 보안 분석을 포함한 JFrog 플랫폼 API 기능에 액세스할 수 있게 해주는 실험적 모델 컨텍스트 프로토콜 서버입니다.

  1. Disclaimer
    1. Features
      1. Tools
        1. Setup
          1. Installing via Smithery
          2. Prerequisites
        2. Environment Variables
          1. JFrog Token (JFROG_ACCESS_TOKEN)
          2. JFrog URL (JFROG_URL)
          3. How to build
        3. Usage
          1. npm
          2. Docker
          3. npm
        4. License
          ID: 2io8woslh9