hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Servidor MCP de JFrog (🧪 Experimental)
Servidor de Protocolo de Contexto de Modelo (MCP) para la API de la plataforma JFrog, que permite la gestión de repositorios, el seguimiento de compilaciones, la gestión del ciclo de vida de las versiones y más.
https://github.com/user-attachments/assets/aca3af2b-f294-41c8-8727-799a019a55b5
Descargo de responsabilidad
Este es un proyecto experimental que busca demostrar las capacidades de JFrog con MCP. No cuenta con soporte ni verificación oficial de JFrog.
Características
- Gestión de repositorios : cree y administre repositorios locales, remotos y virtuales
- Seguimiento de compilación : enumerar y recuperar información de compilación
- Monitoreo en tiempo de ejecución : vea clústeres en tiempo de ejecución e imágenes de contenedores en ejecución
- Control de misión : Ver instancias de la plataforma JFrog asociadas
- Búsqueda de artefactos : ejecute potentes consultas AQL para buscar artefactos y compilaciones
- Catálogo y curación : acceda a información de paquetes, versiones, vulnerabilidades y verifique el estado de curación
Herramientas
check_jfrog_availability
- Compruebe si la plataforma JFrog está lista y funcionando
- Devoluciones: Estado de preparación de la plataforma
create_local_repository
- Crear un nuevo repositorio local en Artifactory
- Entradas:
key
(cadena): clave del repositoriorclass
(cadena): Clase de repositorio (debe ser "local")packageType
(cadena): tipo de paquete del repositoriodescription
(cadena opcional): Descripción del repositorioprojectKey
(cadena opcional): Clave de proyecto a la que se asignará el repositorioenvironments
(cadena opcional[]): entornos a los que asignar el repositorio
- Devoluciones: Detalles del repositorio creado
create_remote_repository
- Cree un nuevo repositorio remoto en Artifactory para hacer de proxy de registros de paquetes externos
- Entradas:
key
(cadena): clave del repositoriorclass
(cadena): Clase de repositorio (debe ser "remota")packageType
(cadena): tipo de paquete del repositoriourl
(cadena): URL al repositorio remotousername
(cadena opcional): nombre de usuario del repositorio remotopassword
(cadena opcional): contraseña del repositorio remotodescription
(cadena opcional): Descripción del repositorioprojectKey
(cadena opcional): Clave de proyecto a la que se asignará el repositorioenvironments
(cadena opcional[]): entornos a los que asignar el repositorio- Muchos otros parámetros opcionales para configuraciones de repositorio específicas
- Devoluciones: Detalles del repositorio creado
create_virtual_repository
- Cree un nuevo repositorio virtual en Artifactory que agregue múltiples repositorios
- Entradas:
key
(cadena): clave del repositoriorclass
(cadena): Clase de repositorio (debe ser "virtual")packageType
(cadena): tipo de paquete del repositoriorepositories
(string[]): Lista de claves de repositorio para incluir en el repositorio virtualdescription
(cadena opcional): Descripción del repositorioprojectKey
(cadena opcional): Clave de proyecto a la que se asignará el repositorioenvironments
(cadena opcional[]): entornos a los que asignar el repositorio- Otros parámetros opcionales para configuraciones de repositorio específicas
- Devoluciones: Detalles del repositorio creado
list_repositories
- Enumere todos los repositorios en Artifactory con filtrado opcional
- Entradas:
type
(cadena opcional): Filtrar repositorios por tipo (local, remoto, virtual, federado, distribución)packageType
(cadena opcional): Filtrar repositorios por tipo de paqueteproject
(cadena opcional): Filtrar repositorios por clave de proyecto
- Devuelve: Lista de repositorios que coinciden con los filtros
set_folder_property
- Establecer propiedades en una carpeta en Artifactory, con aplicación recursiva opcional
- Entradas:
folderPath
(cadena): Ruta a la carpeta donde se deben establecer las propiedadesproperties
(objeto): pares clave-valor de propiedades a establecerrecursive
(booleano opcional): si se deben aplicar propiedades recursivamente a las subcarpetas
- Devuelve: Resultado de la operación
execute_aql_query
- Ejecute una consulta de lenguaje de consulta de artefactos (AQL) para buscar artefactos, compilaciones u otras entidades en JFrog Artifactory
- Entradas:
query
(cadena): La consulta AQL que se ejecutará. Debe seguir la sintaxis AQL (p. ej., items.find({"repo":"my-repo"}).include("name","path"))domain
(cadena opcional): el dominio principal en el que buscar (elementos, compilaciones, entradas de archivo, promociones de compilación, lanzamientos)transitive
(booleano opcional): si se debe buscar en repositorios remotoslimit
(número opcional): Número máximo de resultados a devolveroffset
(número opcional): Número de resultados a omitirinclude_fields
(cadena opcional[]): Campos a incluir en los resultadossort_by
(cadena opcional): Campo para ordenar los resultadossort_order
(cadena opcional): orden de clasificación (ascendente o descendente)
- Devuelve: Resultados de búsqueda con metadatos
list_jfrog_builds
- Devuelve una lista de todas las compilaciones en la plataforma JFrog
- Devoluciones: Lista de compilaciones
get_specific_build
- Obtener detalles de una compilación específica por nombre
- Entradas:
buildName
(cadena): nombre de la compilación a recuperarproject
(cadena opcional): clave del proyecto para delimitar la búsqueda de compilación
- Devoluciones: Detalles de la compilación
list_jfrog_runtime_clusters
- Devuelve una lista de todos los clústeres de tiempo de ejecución en la plataforma JFrog
- Entradas:
limit
(entero opcional): el número máximo de clústeres a devolvernext_key
(cadena opcional): la siguiente clave que se utilizará para la paginación
- Devuelve: Lista de clústeres de tiempo de ejecución
get_jfrog_runtime_specific_cluster
- Devolver un clúster de tiempo de ejecución por ID
- Entradas:
clusterId
(entero): el ID del clúster que se recuperará
- Devoluciones: Detalles del clúster
list_jfrog_running_images
- Enumere todas las imágenes de contenedores en ejecución en los clústeres de tiempo de ejecución con su estado operativo y de seguridad
- Entradas:
filters
(cadena opcional): filtros para aplicarnum_of_rows
(entero opcional): Número de filas a devolverpage_num
(entero opcional): Número de páginastatistics
(booleano opcional): si se deben incluir estadísticastimePeriod
(cadena opcional): período de tiempo para consultar
- Devoluciones: Lista de imágenes en ejecución
list_jfrog_environments
- Obtenga una lista de todos los tipos de entornos en la plataforma JFrog con sus detalles
- Entradas:
- Devoluciones: Lista de entornos
list_jfrog_projects
- Obtenga una lista de todos los proyectos en la plataforma JFrog con sus detalles
- Entradas:
- Devoluciones: Lista de proyectos
get_specific_project
- Obtenga información detallada sobre un proyecto específico en la plataforma JFrog
- Entradas:
project_key
(cadena): La clave única del proyecto a recuperar
- Devoluciones: Detalles del proyecto
create_project
- Crear un nuevo proyecto en la plataforma JFrog
- Entradas:
project_key
(cadena): identificador único para el proyectodisplay_name
(cadena): Nombre para mostrar del proyectodescription
(cadena): Descripción del proyectoadmin_privileges
(objeto): privilegios administrativos para el proyectostorage_quota_bytes
(número): cuota de almacenamiento en bytes (-1 para ilimitado)
- Devoluciones: Detalles del proyecto creado
jfrog_get_package_info
- Obtener información disponible públicamente sobre un paquete de software
- Entradas:
type
(cadena): el tipo de paquete (pypi, npm, maven, golang, nuget, huggingface, rubygems)name
(cadena): el nombre del paquete, tal como aparece en el repositorio de paquetesversion
(cadena opcional): La versión del paquete (predeterminado: "última")
- Devoluciones: Información del paquete, incluida la descripción, la última versión, la licencia y las URL.
jfrog_get_package_versions
- Obtenga una lista de versiones de un paquete disponible públicamente con fechas de publicación
- Entradas:
type
(cadena): el tipo de paquete (pypi, npm, maven, golang, nuget, huggingface, rubygems)name
(cadena): el nombre del paquete, tal como aparece en el repositorio de paquetes
- Devuelve: Lista de versiones de paquetes con fechas de publicación
jfrog_get_package_version_vulnerabilities
- Obtenga una lista de vulnerabilidades conocidas que afectan a una versión específica de un paquete de código abierto
- Entradas:
type
(cadena): el tipo de paquete (pypi, npm, maven, golang, nuget, huggingface, rubygems)name
(cadena): el nombre del paquete, tal como aparece en el repositorio de paquetesversion
(cadena opcional): La versión del paquete (predeterminado: "última")pageSize
(número opcional): Número de vulnerabilidades a devolver por página (valor predeterminado: 10)pageCount
(número opcional): Número de páginas a devolver (predeterminado: 1)
- Devuelve: Lista de vulnerabilidades que afectan a la versión del paquete especificado
jfrog_get_vulnerability_info
- Obtenga información detallada sobre una vulnerabilidad específica, incluidos los paquetes y versiones afectados
- Entradas:
cve_id
(cadena): El ID de CVE o identificador de vulnerabilidad a buscarpageSize
(número opcional): Número de vulnerabilidades a devolver por página (valor predeterminado: 10)pageCount
(número opcional): Número de páginas a devolver (predeterminado: 1)
- Devoluciones: Información detallada sobre vulnerabilidades y paquetes afectados
jfrog_get_package_curation_status
- Comprobar el estado de curación de una versión específica del paquete
- Entradas:
packageType
(cadena): el tipo de paquete (pypi, npm, maven, golang, nuget, huggingface, rubygems)packageName
(cadena): el nombre del paquete, tal como aparece en el repositorio de paquetespackageVersion
(cadena): La versión del paquete, tal como aparece en el repositorio de paquetes
- Devoluciones: Estado de curación (aprobado, bloqueado o no concluyente)
Configuración
Instalación mediante herrería
Para instalar mcp-jfrog para Claude Desktop automáticamente a través de Smithery :
Prerrequisitos
- Node.js v18 o superior
- Docker (si utiliza la implementación de Docker, consulte )
- Una instancia válida de la plataforma JFrog con los permisos adecuados
- Acceso para crear y administrar tokens de acceso en su instancia de la plataforma JFrog
Variables de entorno
JFROG_ACCESS_TOKEN
: Su token de acceso a JFrog (obligatorio)JFROG_URL
: URL base para su plataforma JFrog (obligatorio)
Token de JFrog ( JFROG_ACCESS_TOKEN
)
Para utilizar este servidor MCP, debe crear un token de acceso JFrog o utilizar un token de Idenetity con los permisos adecuados:
Para obtener información sobre cómo crear un token JFrog, consulte la documentación oficial de JFrog:
URL de JFrog ( JFROG_URL
)
URL de su instancia de la plataforma JFrog (por ejemplo, https://acme.jfrog.io )
Cómo construir
Clone el repositorio en su máquina local usando git clone
y cd
en el directorio del proyecto:
Construir como una imagen de Docker:
Construir como un módulo npm:
Uso
npm
Estibador
Agregue lo siguiente a su claude_desktop_config.json
:
Estibador
npm
Licencia
Este servidor MCP cuenta con la licencia Apache 2.0. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia Apache 2.0. Para más información, consulte el archivo LICENSE.md en el repositorio del proyecto.
This server cannot be installed
Servidor de protocolo de contexto de modelo experimental que permite el acceso a las capacidades de la API de la plataforma JFrog, incluida la gestión de repositorios, el seguimiento de compilaciones, la búsqueda de artefactos y el análisis de seguridad de paquetes.