Skip to main content
Glama

JFrog MCP Server

Official
by jfrog

JFrog MCP サーバー (🧪 実験的)

JFrog プラットフォーム API 用のモデル コンテキスト プロトコル (MCP) サーバー。リポジトリ管理、ビルド追跡、リリース ライフサイクル管理などを可能にします。

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

免責事項

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

特徴

  • リポジトリ管理: ローカル、リモート、仮想リポジトリの作成と管理
  • ビルドトラッキング: ビルド情報の一覧表示と取得
  • ランタイムモニタリング: ランタイムクラスターと実行中のコンテナイメージを表示する
  • ミッションコントロール: 関連するJFrog Platformインスタンスを表示する
  • アーティファクト検索: 強力な AQL クエリを実行してアーティファクトとビルドを検索します
  • カタログとキュレーション: パッケージ情報、バージョン、脆弱性にアクセスし、キュレーションステータスを確認します
  • Xray : スキャンアーティファクトの概要にアクセスし、アーティファクトごとに重大度別にグループ化します

ツール

  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 (文字列): パッケージリポジトリに表示されるパッケージのバージョン
  • 戻り値: キュレーションステータス (承認済み、ブロック済み、または未確定)
  1. jfrog_get_artifacts_summary
  • リポジトリまたはビルド内のアーティファクトの問題の概要を取得し、重大度(低、中、高、重大、不明)別に分類してカウントします。
  • 入力:
    • paths (文字列配列):要約を作成するアーティファクトへのパスの配列
  • 戻り値: 指定された配列内の各アーティファクトの深刻度ごとの脆弱性数に基づく要約と、問題の合計

設定

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(必須)
  • 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 アクセス トークンを作成するか、適切な権限を持つ Idenetity トークンを使用する必要があります。

JFrog トークンの作成方法については、JFrog の公式ドキュメントを参照してください。

JFrog URL ( JFROG_URL )

JFrog プラットフォームインスタンスの URL (例: https://acme.jfrog.io )

SSEトランスポート機能

SSE トランスポート モードには次の機能が含まれます。

  • 接続管理: 各 SSE 接続は一意の ID で追跡され、クライアントは再接続後も状態を維持できます。
  • 構造化ログ: タイムスタンプ、重大度レベル、関連するコンテキスト情報を含む詳細なログ。
  • 接続の復元力: サーバーの起動に失敗した場合、指数バックオフによる自動再接続が試行されます。
  • ヘルス エンドポイント: サーバーのステータス情報を返す/healthエンドポイント。
  • 接続追跡: 定期的な統計ログによるアクティブな接続のリアルタイム追跡。
  • パフォーマンス メトリック: ツール操作と HTTP リクエストの実行時間を追跡します。

SSE モードを使用する場合:

  1. クライアントは、オプションでセッション追跡用のconnectionIdクエリ パラメータを指定して、 /sseエンドポイントに接続する必要があります。
  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

使用法

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

SSEトランスポートモード

JFrog MCP サーバーを SSE トランスポート モードで使用するには (Cursor の Webview などの Web インターフェースに便利です)、次の手順を実行します。

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

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

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. npm
          2. ドッカー
          3. SSEトランスポートモード
          4. npm
          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