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) サーバー。リポジトリ管理、ビルド追跡、リリース ライフサイクル管理などを可能にします。

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

免責事項

これは、JFrog の MCP 機能を実証するための実験的なプロジェクトです。JFrog による公式のサポートや検証は行われていません。

特徴

  • リポジトリ管理: ローカル、リモート、仮想リポジトリの作成と管理
  • ビルドトラッキング: ビルド情報の一覧表示と取得
  • ランタイム監視: ランタイム クラスターと実行中のコンテナ イメージを表示します。
  • ミッションコントロール: 関連するJFrog Platformインスタンスを表示する
  • アーティファクト検索: 強力な 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 (文字列): リポジトリクラス ("virtual" である必要があります)
      • packageType (文字列): リポジトリのパッケージタイプ
      • repositories (文字列[]): 仮想リポジトリに含めるリポジトリキーのリスト
      • description (オプションの文字列): リポジトリの説明
      • projectKey (オプションの文字列): リポジトリを割り当てるプロジェクトキー
      • environments (オプションの文字列[]): リポジトリを割り当てる環境
      • 特定のリポジトリ設定のためのその他のオプションパラメータ
    • 戻り値: 作成されたリポジトリの詳細
  5. list_repositories
    • オプションのフィルタリングを使用して、Artifactory 内のすべてのリポジトリを一覧表示します。
    • 入力:
      • type (オプションの文字列): リポジトリをタイプ (ローカル、リモート、仮想、フェデレーション、ディストリビューション) でフィルタリングします。
      • packageType (オプションの文字列): パッケージの種類でリポジトリをフィルタリングします
      • project (オプションの文字列): プロジェクトキーでリポジトリをフィルタリングする
    • 戻り値: フィルターに一致するリポジトリのリスト
  6. set_folder_property
    • Artifactoryのフォルダのプロパティを設定する(オプションの再帰適用)
    • 入力:
      • folderPath (文字列): プロパティを設定するフォルダへのパス
      • properties (オブジェクト): 設定するプロパティのキーと値のペア
      • recursive (オプションのブール値):サブフォルダにプロパティを再帰的に適用するかどうか
    • 戻り値: 演算結果
  7. execute_aql_query
    • Artifactory クエリ言語 (AQL) クエリを実行して、JFrog Artifactory 内の成果物、ビルド、またはその他のエンティティを検索します。
    • 入力:
      • query (文字列): 実行するAQLクエリ。AQL構文に従う必要があります(例:items.find({"repo":"my-repo"}).include("name","path"))
      • domain (オプションの文字列):検索対象となるプライマリドメイン(アイテム、ビルド、アーカイブエントリ、ビルドプロモーション、リリース)
      • 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 (オプションの文字列): パッケージのバージョン (デフォルト: "latest")
  • 戻り値: 説明、最新バージョン、ライセンス、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 (オプションの文字列): パッケージのバージョン (デフォルト: "latest")
    • 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 を自動的にインストールするには:

npx -y @smithery/cli install @jfrog/mcp-jfrog --client claude

前提条件

  • Node.js v18以上
  • Docker (Docker デプロイメントを使用する場合は、 を参照)
  • 適切な権限を持つ有効なJFrogプラットフォームインスタンス
  • JFrog プラットフォームインスタンスでアクセストークンを作成および管理するためのアクセス権

環境変数

  • JFROG_ACCESS_TOKEN : JFrogアクセストークン(必須)
  • JFROG_URL : JFrogプラットフォームのベースURL(必須)

JFrog トークン ( JFROG_ACCESS_TOKEN )

この MCP サーバーを使用するには、JFrog アクセス トークンを作成するか、適切な権限を持つ Idenetity トークンを使用する必要があります。

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

使用法

npm

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

npm

{ "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 License 2.0に基づいてライセンスされています。つまり、Apache License 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