Skip to main content
Glama

JFrog MCP Server

Official
by jfrog

JFrog MCP 서버(🧪 실험적)

JFrog 플랫폼 API를 위한 MCP(Model Context Protocol) 서버로, 저장소 관리, 빌드 추적, 릴리스 수명 주기 관리 등의 기능을 제공합니다.

https://github.com/user-attachments/assets/aca3af2b-f294-41c8-8727-799a019a55b5

부인 성명

이 프로젝트는 JFrog의 MCP 기능을 시연하기 위한 실험적 프로젝트이며, JFrog의 공식적인 지원이나 검증을 받지 않았습니다.

특징

  • 저장소 관리 : 로컬, 원격 및 가상 저장소를 생성하고 관리합니다.
  • 빌드 추적 : 빌드 정보 나열 및 검색
  • 런타임 모니터링 : 런타임 클러스터 및 실행 중인 컨테이너 이미지 보기
  • 미션 컨트롤 : 연관된 JFrog 플랫폼 인스턴스 보기
  • 아티팩트 검색 : 강력한 AQL 쿼리를 실행하여 아티팩트 및 빌드를 검색합니다.
  • 카탈로그 및 큐레이션 : 패키지 정보, 버전, 취약점에 액세스하고 큐레이션 상태를 확인합니다.
  • X선 : 스캔 아티팩트 요약에 액세스하고 아티팩트별 심각도별로 그룹화합니다.

도구

  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 (문자열): 패키지 저장소에 나타나는 패키지 버전
  • 반환: 큐레이션 상태(승인됨, 차단됨 또는 미결정)
  1. jfrog_get_artifacts_summary
  • 저장소 또는 빌드에서 아티팩트 문제 요약을 받고 심각도(낮음, 보통, 높음, 중요, 알 수 없음)별로 분류 및 계산합니다.
  • 입력:
    • paths (문자열 배열): 요약을 생성할 아티팩트에 대한 경로 배열
  • 반환: 제공된 배열의 각 아티팩트에 대한 심각도별 취약성 수와 총 문제를 기반으로 한 요약

설정

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 mcp-jfrog를 자동으로 설치하려면:

지엑스피1

필수 조건

  • Node.js v18 이상
  • Docker(Docker 배포를 사용하는 경우 참조)
  • 적절한 권한이 있는 유효한 JFrog 플랫폼 인스턴스
  • JFrog 플랫폼 인스턴스에서 액세스 토큰을 생성하고 관리할 수 있습니다.

환경 변수

  • JFROG_ACCESS_TOKEN : JFrog 액세스 토큰(필수)
  • JFROG_URL : JFrog 플랫폼의 기본 URL(필수)
  • TRANSPORT : 사용할 전송 모드, 'sse'로 설정하여 SSE 전송을 활성화합니다(기본값: stdio)
  • PORT : SSE 전송에 사용할 포트 번호(기본값: 8080)
  • CORS_ORIGIN : SSE 연결에 허용된 CORS 원점(기본값: '*')
  • LOG_LEVEL : 로깅 레벨: DEBUG, INFO, WARN, ERROR (기본값: INFO)
  • MAX_RECONNECT_ATTEMPTS : SSE 서버에 대한 재연결 시도의 최대 횟수(기본값: 5)
  • RECONNECT_DELAY_MS : 재연결 시도 간 기본 지연 시간(밀리초)(기본값: 2000)

JFrog 토큰( JFROG_ACCESS_TOKEN )

이 MCP 서버를 사용하려면 JFrog 액세스 토큰을 생성하거나 적절한 권한이 있는 ID 토큰을 사용해야 합니다.

JFrog 토큰을 생성하는 방법에 대한 자세한 내용은 JFrog 공식 문서를 참조하세요.

JFrog URL( JFROG_URL )

JFrog 플랫폼 인스턴스 URL(예: https://acme.jfrog.io )

SSE 운송 기능

SSE 전송 모드에는 다음과 같은 기능이 포함됩니다.

  • 연결 관리 : 각 SSE 연결은 고유한 ID로 추적되므로 클라이언트는 재연결 시에도 상태를 유지할 수 있습니다.
  • 구조화된 로깅 : 타임스탬프, 심각도 수준 및 관련 컨텍스트 정보가 포함된 자세한 로그입니다.
  • 연결 복원력 : 서버가 시작되지 않으면 지수적 백오프를 통해 자동으로 재연결을 시도합니다.
  • Health Endpoint : 서버 상태 정보를 반환하는 /health 엔드포인트입니다.
  • 연결 추적 : 주기적 통계 로깅을 통해 활성 연결을 실시간으로 추적합니다.
  • 성능 지표 : 도구 작업 및 HTTP 요청에 대한 실행 시간 추적.

SSE 모드를 사용하는 경우:

  1. 클라이언트는 /sse 엔드포인트에 연결해야 하며, 선택적으로 세션 추적을 위해 connectionId 쿼리 매개변수를 제공해야 합니다.
  2. 클라이언트 요청은 동일한 connectionId 쿼리 매개변수로 사용하여 /messages 엔드포인트로 전송해야 합니다.
  3. 서버는 설정된 SSE 연결을 통해 서버가 보낸 이벤트로 응답합니다.

연결 ID를 사용한 클라이언트 연결 예:

GET /sse?connectionId=client123

클라이언트 요청 예시:

POST /messages?connectionId=client123 Content-Type: application/json { "jsonrpc": "2.0", "method": "listTools", "id": 1 }

어떻게 구축하는가

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" }, "serverUrl": "http://localhost:8080/sse" } } }

SSE 전송 모드

SSE 전송 모드로 JFrog MCP 서버를 사용하려면(Cursor의 웹뷰와 같은 웹 인터페이스에 유용함):

{ "mcpServers": { "jfrog-sse": { "command": "docker", "args": [ "run", "--rm", "-p", "8080:8080", "-e", "TRANSPORT=sse", "-e", "PORT=8080", "-e", "CORS_ORIGIN=*", "-e", "LOG_LEVEL=INFO", "-e", "MAX_RECONNECT_ATTEMPTS=5", "-e", "RECONNECT_DELAY_MS=2000", "-e", "JFROG_ACCESS_TOKEN", "-e", "JFROG_URL", "mcp/jfrog" ], "env": { "JFROG_ACCESS_TOKEN": "<YOUR_TOKEN>", "JFROG_URL": "https://your-instance.jfrog.io", "serverUrl": "http://localhost:8080/sse" } } } }

참고: SSE 모드의 경우 SSE 엔드포인트를 가리키는 serverUrl 매개변수를 추가하고 서버에서 사용하는 포트(-p 8080:8080)를 노출해야 합니다.

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 }, "serverUrl": "http://localhost:8080/sse" } } }

엔피엠

{ "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>" } } } }

SSE 전송 모드

SSE 전송을 사용하는 Claude Desktop의 경우:

{ "mcpServers": { "jfrog-sse": { "command": "docker", "args": [ "run", "--rm", "-p", "8080:8080", "-e", "TRANSPORT=sse", "-e", "PORT=8080", "-e", "CORS_ORIGIN=*", "-e", "LOG_LEVEL=INFO", "-e", "MAX_RECONNECT_ATTEMPTS=5", "-e", "RECONNECT_DELAY_MS=2000", "-e", "JFROG_ACCESS_TOKEN", "-e", "JFROG_URL", "mcp/jfrog" ], "env": { "JFROG_ACCESS_TOKEN": "<YOUR_TOKEN>", "JFROG_URL": "https://your-instance.jfrog.io", "serverUrl": "http://localhost:8080/sse" } } } }
</details> ## License This MCP server is licensed under the Apache License 2.0. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the Apache License 2.0. For more details, please see the LICENSE.md file in the project repository.
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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

  1. 부인 성명
    1. 특징
      1. 도구
        1. 설정
          1. Smithery를 통해 설치
          2. 필수 조건
        2. 환경 변수
          1. JFrog 토큰( JFROG_ACCESS_TOKEN )
          2. JFrog URL( JFROG_URL )
          3. SSE 운송 기능
          4. 어떻게 구축하는가
        3. 용법
          1. 엔피엠
          2. 도커
          3. SSE 전송 모드
          4. 엔피엠
          5. SSE 전송 모드

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that integrates with Figma's API, allowing interaction with Figma files, comments, components, projects, and webhook management.
          Last updated -
          997
          JavaScript
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables interaction with Foundry tools through natural language, allowing users to create projects, build contracts, run tests, and manage Ethereum development environments.
          Last updated -
          1
          Python
          MIT License
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables interaction with PostgreSQL databases for analyzing setups, debugging issues, managing schemas, migrating data, and monitoring performance.
          Last updated -
          6
          TypeScript
          MIT License
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that generates and runs mock API servers from API documentation like OpenAPI/Swagger specs, enabling developers and AI assistants to quickly spin up mock backends for development and testing.
          Last updated -
          7
          Python
          MIT License
          • Apple

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/jfrog/mcp-jfrog'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server