Skip to main content
Glama

JFrog MCP Server

Official
by jfrog

JFrog MCP-Server (🧪 Experimentell)

Model Context Protocol (MCP)-Server für die JFrog Platform API, der Repository-Verwaltung, Build-Tracking, Release-Lebenszyklusverwaltung und mehr ermöglicht.

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

Haftungsausschluss

Dies ist ein experimentelles Projekt, das die Fähigkeiten von JFrog mit MCP demonstrieren soll. Es wird von JFrog weder offiziell unterstützt noch verifiziert.

Merkmale

  • Repository-Verwaltung : Erstellen und verwalten Sie lokale, Remote- und virtuelle Repositories
  • Build-Tracking : Build-Informationen auflisten und abrufen
  • Laufzeitüberwachung : Laufzeitcluster und laufende Container-Images anzeigen
  • Mission Control : Zugehörige JFrog-Plattforminstanzen anzeigen
  • Artefaktsuche : Führen Sie leistungsstarke AQL-Abfragen aus, um nach Artefakten und Builds zu suchen
  • Katalog und Kuration : Zugriff auf Paketinformationen, Versionen, Schwachstellen und Überprüfung des Kurationsstatus
  • Xray : Zugriff auf die Zusammenfassung der Scan-Artefakte, Gruppierung nach Schweregrad pro Artefakt

Werkzeuge

  1. check_jfrog_availability
    • Prüfen Sie, ob die JFrog-Plattform bereit und funktionsfähig ist
    • Rückgaben: Status der Plattformbereitschaft
  2. create_local_repository
    • Erstellen Sie ein neues lokales Repository in Artifactory
    • Eingänge:
      • key (Zeichenfolge): Repository-Schlüssel
      • rclass (Zeichenfolge): Repository-Klasse (muss „lokal“ sein)
      • packageType (Zeichenfolge): Pakettyp des Repository
      • description (optionale Zeichenfolge): Repository-Beschreibung
      • projectKey (optionale Zeichenfolge): Projektschlüssel, dem das Repository zugewiesen werden soll
      • environments (optionale Zeichenfolge[]): Umgebungen, denen das Repository zugewiesen werden soll
    • Rückgabe: Details zum erstellten Repository
  3. create_remote_repository
    • Erstellen Sie ein neues Remote-Repository in Artifactory, um externe Paketregistrierungen zu proxyen
    • Eingänge:
      • key (Zeichenfolge): Repository-Schlüssel
      • rclass (Zeichenfolge): Repository-Klasse (muss „remote“ sein)
      • packageType (Zeichenfolge): Pakettyp des Repository
      • url (Zeichenfolge): URL zum Remote-Repository
      • username (optionale Zeichenfolge): Benutzername des Remote-Repositorys
      • password (optionale Zeichenfolge): Passwort des Remote-Repositorys
      • description (optionale Zeichenfolge): Repository-Beschreibung
      • projectKey (optionale Zeichenfolge): Projektschlüssel, dem das Repository zugewiesen werden soll
      • environments (optionale Zeichenfolge[]): Umgebungen, denen das Repository zugewiesen werden soll
      • Viele weitere optionale Parameter für spezifische Repository-Konfigurationen
    • Rückgabe: Details zum erstellten Repository
  4. create_virtual_repository
    • Erstellen Sie ein neues virtuelles Repository in Artifactory, das mehrere Repositorys aggregiert
    • Eingänge:
      • key (Zeichenfolge): Repository-Schlüssel
      • rclass (Zeichenfolge): Repository-Klasse (muss „virtuell“ sein)
      • packageType (Zeichenfolge): Pakettyp des Repository
      • repositories (string[]): Liste der Repository-Schlüssel, die in das virtuelle Repository aufgenommen werden sollen
      • description (optionale Zeichenfolge): Repository-Beschreibung
      • projectKey (optionale Zeichenfolge): Projektschlüssel, dem das Repository zugewiesen werden soll
      • environments (optionale Zeichenfolge[]): Umgebungen, denen das Repository zugewiesen werden soll
      • Weitere optionale Parameter für bestimmte Repository-Konfigurationen
    • Rückgabe: Details zum erstellten Repository
  5. list_repositories
    • Listen Sie alle Repositories in Artifactory mit optionaler Filterung auf
    • Eingänge:
      • type (optionale Zeichenfolge): Filtern Sie Repositories nach Typ (lokal, remote, virtuell, föderiert, Verteilung)
      • packageType (optionale Zeichenfolge): Filtern Sie Repositories nach Pakettyp
      • project (optionale Zeichenfolge): Filtern Sie Repositories nach Projektschlüssel
    • Gibt zurück: Liste der Repositories, die den Filtern entsprechen
  6. set_folder_property
    • Legen Sie Eigenschaften für einen Ordner in Artifactory fest, mit optionaler rekursiver Anwendung
    • Eingänge:
      • folderPath (Zeichenfolge): Pfad zum Ordner, in dem Eigenschaften festgelegt werden sollen
      • properties (Objekt): Schlüssel-Wert-Paare der festzulegenden Eigenschaften
      • recursive (optionaler Boolescher Wert): Ob Eigenschaften rekursiv auf Unterordner angewendet werden sollen
    • Rückgabe: Operationsergebnis
  7. execute_aql_query
    • Führen Sie eine Artifactory Query Language (AQL)-Abfrage aus, um in JFrog Artifactory nach Artefakten, Builds oder anderen Entitäten zu suchen
    • Eingänge:
      • query (Zeichenfolge): Die auszuführende AQL-Abfrage. Muss der AQL-Syntax entsprechen (z. B. items.find({"repo":"my-repo"}).include("name","path")).
      • domain (optionale Zeichenfolge): Die primäre Domäne, in der gesucht werden soll (Elemente, Builds, Archiveinträge, Build-Aktionen, Releases).
      • transitive (optional boolesch): Ob in Remote-Repositorys gesucht werden soll
      • limit (optionale Zahl): Maximale Anzahl der zurückzugebenden Ergebnisse
      • offset (optionale Zahl): Anzahl der zu überspringenden Ergebnisse
      • include_fields (optional string[]): In die Ergebnisse einzuschließende Felder
      • sort_by (optionale Zeichenfolge): Feld zum Sortieren der Ergebnisse
      • sort_order (optionale Zeichenfolge): Sortierreihenfolge (aufsteigend oder absteigend)
    • Rückgabe: Suchergebnisse mit Metadaten
  8. list_jfrog_builds
    • Gibt eine Liste aller Builds in der JFrog-Plattform zurück
    • Rückgabe: Liste der Builds
  9. get_specific_build
    • Abrufen von Details zu einem bestimmten Build anhand des Namens
    • Eingänge:
      • buildName (Zeichenfolge): Name des abzurufenden Builds
      • project (optionale Zeichenfolge): Projektschlüssel zum Eingrenzen der Build-Suche
    • Rückgabe: Builddetails
  10. list_jfrog_runtime_clusters
  • Gibt eine Liste aller Laufzeitcluster in der JFrog-Plattform zurück
  • Eingänge:
    • limit (optionale Ganzzahl): Die maximale Anzahl der zurückzugebenden Cluster
    • next_key (optionale Zeichenfolge): Der nächste Schlüssel, der für die Paginierung verwendet werden soll
  • Rückgabe: Liste der Laufzeitcluster
  1. get_jfrog_runtime_specific_cluster
  • Gibt einen Laufzeitcluster nach ID zurück
  • Eingänge:
    • clusterId (Ganzzahl): Die ID des abzurufenden Clusters
  • Rückgaben: Clusterdetails
  1. list_jfrog_running_images
  • Listen Sie alle laufenden Container-Images in Laufzeitclustern mit ihrem Sicherheits- und Betriebsstatus auf
  • Eingänge:
    • filters (optionale Zeichenfolge): Anzuwendende Filter
    • num_of_rows (optionale Ganzzahl): Anzahl der zurückzugebenden Zeilen
    • page_num (optionale Ganzzahl): Seitenzahl
    • statistics (optionaler Boolescher Wert): Ob Statistiken einbezogen werden sollen
    • timePeriod (optionale Zeichenfolge): abzufragender Zeitraum
  • Gibt zurück: Liste der laufenden Bilder
  1. list_jfrog_environments
  • Erhalten Sie eine Liste aller Umgebungstypen in der JFrog-Plattform mit ihren Details
  • Eingänge:
  • Gibt zurück: Liste der Umgebungen
  1. list_jfrog_projects
  • Erhalten Sie eine Liste aller Projekte in der JFrog-Plattform mit ihren Details
  • Eingänge:
  • Retouren: Liste der Projekte
  1. get_specific_project
  • Erhalten Sie detaillierte Informationen zu einem bestimmten Projekt auf der JFrog-Plattform
  • Eingänge:
    • project_key (Zeichenfolge): Der eindeutige Schlüssel des abzurufenden Projekts
  • Retouren: Projektdetails
  1. create_project
  • Erstellen Sie ein neues Projekt in der JFrog-Plattform
  • Eingänge:
    • project_key (Zeichenfolge): Eindeutige Kennung für das Projekt
    • display_name (Zeichenfolge): Anzeigename des Projekts
    • description (Zeichenfolge): Beschreibung des Projekts
    • admin_privileges (Objekt): Administratorrechte für das Projekt
    • storage_quota_bytes (Zahl): Speicherkontingent in Bytes (-1 für unbegrenzt)
  • Rückgabe: Erstellte Projektdetails
  1. jfrog_get_package_info
  • Erhalten Sie öffentlich verfügbare Informationen zu einem Softwarepaket
  • Eingänge:
    • type (Zeichenfolge): Der Pakettyp (pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • name (Zeichenfolge): Der Name des Pakets, wie er im Paket-Repository angezeigt wird
    • version (optionale Zeichenfolge): Die Version des Pakets (Standard: „neueste“)
  • Rückgabe: Paketinformationen einschließlich Beschreibung, neueste Version, Lizenz und URLs
  1. jfrog_get_package_versions
  • Erhalten Sie eine Liste der Versionen eines öffentlich verfügbaren Pakets mit Veröffentlichungsdaten
  • Eingänge:
    • type (Zeichenfolge): Der Pakettyp (pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • name (Zeichenfolge): Der Name des Pakets, wie er im Paket-Repository angezeigt wird
  • Rückgabe: Liste der Paketversionen mit Veröffentlichungsdaten
  1. jfrog_get_package_version_vulnerabilities
  • Erhalten Sie eine Liste bekannter Sicherheitslücken, die eine bestimmte Version eines Open-Source-Pakets betreffen
  • Eingänge:
    • type (Zeichenfolge): Der Pakettyp (pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • name (Zeichenfolge): Der Name des Pakets, wie er im Paket-Repository angezeigt wird
    • version (optionale Zeichenfolge): Die Version des Pakets (Standard: „neueste“)
    • pageSize (optionale Zahl): Anzahl der pro Seite zurückzugebenden Schwachstellen (Standard: 10)
    • pageCount (optionale Zahl): Anzahl der zurückzugebenden Seiten (Standard: 1)
  • Gibt zurück: Liste der Sicherheitslücken, die die angegebene Paketversion betreffen
  1. jfrog_get_vulnerability_info
  • Erhalten Sie detaillierte Informationen zu einer bestimmten Sicherheitslücke, einschließlich der betroffenen Pakete und Versionen
  • Eingänge:
    • cve_id (Zeichenfolge): Die CVE-ID oder Schwachstellenkennung, nach der gesucht werden soll
    • pageSize (optionale Zahl): Anzahl der pro Seite zurückzugebenden Schwachstellen (Standard: 10)
    • pageCount (optionale Zahl): Anzahl der zurückzugebenden Seiten (Standard: 1)
  • Rückgabe: Detaillierte Informationen zu Sicherheitslücken und betroffenen Paketen
  1. jfrog_get_package_curation_status
  • Überprüfen Sie den Kurationsstatus einer bestimmten Paketversion
  • Eingänge:
    • packageType (Zeichenfolge): Der Pakettyp (pypi, npm, maven, golang, nuget, huggingface, rubygems)
    • packageName (Zeichenfolge): Der Name des Pakets, wie er im Paket-Repository angezeigt wird
    • packageVersion (Zeichenfolge): Die Version des Pakets, wie sie im Paket-Repository angezeigt wird
  • Rückgabe: Kurationsstatus (genehmigt, blockiert oder nicht eindeutig)
  1. jfrog_get_artifacts_summary
  • Erhalten Sie eine Zusammenfassung der Artefaktprobleme in einem Repository oder Build, kategorisiert und gezählt nach Schweregrad (Niedrig, Mittel, Hoch, Kritisch, Unbekannt).
  • Eingänge:
    • paths (String-Array): Ein Array von Pfaden zu den Artefakten, aus denen die Zusammenfassung erstellt werden soll
  • Gibt zurück: Eine Zusammenfassung basierend auf der Anzahl der Schwachstellen pro Schweregrad für jedes Artefakt im bereitgestellten Array plus der Gesamtzahl der Probleme

Aufstellen

Installation über Smithery

So installieren Sie mcp-jfrog für Claude Desktop automatisch über Smithery :

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

Voraussetzungen

  • Node.js v18 oder höher
  • Docker (bei Verwendung der Docker-Bereitstellung siehe )
  • Eine gültige JFrog-Plattforminstanz mit entsprechenden Berechtigungen
  • Zugriff zum Erstellen und Verwalten von Zugriffstoken in Ihrer JFrog-Plattforminstanz

Umgebungsvariablen

  • JFROG_ACCESS_TOKEN : Ihr JFrog-Zugriffstoken (erforderlich)
  • JFROG_URL : Basis-URL für Ihre JFrog-Plattform (erforderlich)
  • TRANSPORT : Zu verwendender Transportmodus, auf „sse“ setzen, um SSE-Transport zu aktivieren (Standard: stdio)
  • PORT : Für den SSE-Transport zu verwendende Portnummer (Standard: 8080)
  • CORS_ORIGIN : Für SSE-Verbindungen zulässiger CORS-Ursprung (Standard: „*“)
  • LOG_LEVEL : Protokollierungsebene: DEBUG, INFO, WARN, ERROR (Standard: INFO)
  • MAX_RECONNECT_ATTEMPTS : Maximale Anzahl von Wiederverbindungsversuchen für den SSE-Server (Standard: 5)
  • RECONNECT_DELAY_MS : Basisverzögerung in Millisekunden zwischen Wiederverbindungsversuchen (Standard: 2000)

JFrog-Token ( JFROG_ACCESS_TOKEN )

Um diesen MCP-Server zu verwenden, müssen Sie ein JFrog-Zugriffstoken erstellen oder ein Identitätstoken mit entsprechenden Berechtigungen verwenden:

Informationen zum Erstellen eines JFrog-Tokens finden Sie in der offiziellen JFrog-Dokumentation:

JFrog-URL ( JFROG_URL )

Die URL Ihrer JFrog-Plattforminstanz (z. B. https://acme.jfrog.io )

SSE-Transportfunktionen

Der SSE-Transportmodus umfasst die folgenden Funktionen:

  • Verbindungsverwaltung : Jede SSE-Verbindung wird mit einer eindeutigen ID verfolgt, sodass Clients ihren Status über erneute Verbindungen hinweg beibehalten können.
  • Strukturierte Protokollierung : Detaillierte Protokolle mit Zeitstempeln, Schweregraden und relevanten Kontextinformationen.
  • Verbindungsstabilität : Automatische Wiederverbindungsversuche mit exponentiellem Backoff, wenn der Server nicht gestartet werden kann.
  • Health-Endpunkt : Ein /health Endpunkt, der Serverstatusinformationen zurückgibt.
  • Verbindungsverfolgung : Echtzeitverfolgung aktiver Verbindungen mit regelmäßiger Statistikprotokollierung.
  • Leistungsmetriken : Verfolgung der Ausführungszeit für Toolvorgänge und HTTP-Anfragen.

Bei Verwendung des SSE-Modus:

  1. Clients sollten eine Verbindung zum /sse -Endpunkt herstellen und optional einen connectionId -Abfrageparameter für die Sitzungsverfolgung bereitstellen.
  2. Clientanforderungen sollten mit derselben connectionId als Abfrageparameter an den /messages -Endpunkt gesendet werden.
  3. Der Server antwortet mit servergesendeten Ereignissen über die hergestellte SSE-Verbindung.

Beispiel einer Clientverbindung mit Verbindungs-ID:

GET /sse?connectionId=client123

Beispiel einer Client-Anforderung:

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

Wie man baut

Klonen Sie das Repo mit git clone auf Ihren lokalen Computer und cd in das Projektverzeichnis:

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

Als Docker-Image erstellen:

docker build -t mcp/jfrog -f Dockerfile .

Als npm-Modul erstellen:

npm i && npm run build

Verwendung

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

Docker

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

So verwenden Sie den JFrog MCP-Server mit dem SSE-Transportmodus (nützlich für Webschnittstellen wie Cursors Webview):

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

Hinweis: Für den SSE-Modus müssen Sie den Parameter serverUrl hinzufügen, der auf Ihren SSE-Endpunkt verweist, und den vom Server verwendeten Port offenlegen (-p 8080:8080).

Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:

Docker
{ "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-Transportmodus

Für Claude Desktop mit SSE-Transport:

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

You must be authenticated.

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.

Experimenteller Model Context Protocol-Server, der Zugriff auf API-Funktionen der JFrog-Plattform ermöglicht, darunter Repository-Verwaltung, Build-Tracking, Artefaktsuche und Paketsicherheitsanalyse.

  1. Haftungsausschluss
    1. Merkmale
      1. Werkzeuge
        1. Aufstellen
          1. Installation über Smithery
          2. Voraussetzungen
        2. Umgebungsvariablen
          1. JFrog-Token ( JFROG_ACCESS_TOKEN )
          2. JFrog-URL ( JFROG_URL )
          3. SSE-Transportfunktionen
          4. Wie man baut
        3. Verwendung
          1. npm
          2. Docker
          3. SSE-Transportmodus
          4. npm
          5. SSE-Transportmodus

        Related MCP Servers

        • -
          security
          -
          license
          -
          quality
          A Model Context Protocol server that enables interaction with Salesforce through REST API using jsforce, allowing users to execute SOQL queries, retrieve object metadata, and perform CRUD operations on Salesforce records.
          Last updated -
        • -
          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
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.
          Last updated -
          2
          145,833
          9,538
          JavaScript
          MIT License
          • Linux
          • Apple
        • A
          security
          F
          license
          A
          quality
          A Model Context Protocol server that enables users to perform third-party enrichment lookups for security observables (IP addresses, domains, URLs, emails) through services like VirusTotal, Shodan, and others.
          Last updated -
          1
          Python
          • 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