Ir al contenido

Dependencias y SBOM

La lista de dependencias que GitLab construye a partir del análisis de dependencias de un proyecto, filtrable por gestor de paquetes, y la lista de materiales de software que exporta de un pipeline: dependency.export_create inicia una exportación CycloneDX, dependency.export_get dice si ya está lista y dependency.export_download descarga el documento.

  • “Lista las dependencias npm del proyecto 42”
  • “Exporta un SBOM del pipeline 1234”
  • “Descarga la exportación SBOM terminada”
  • Dinámica, la superficie predeterminada: llama a gitlab_execute_action con action igual al ID de la acción, como dependency.export_create, y sus parámetros en params. gitlab_find_action encuentra un ID a partir de una descripción de la tarea.
  • Meta (GITLAB_MCP_TOOL_SURFACE=meta): llama a gitlab_dependency con action igual al nombre de la acción, como export_create, y sus parámetros en params.
  • Individual (GITLAB_MCP_TOOL_SURFACE=individual): llama a la herramienta propia de la acción, como gitlab_create_dependency_list_export, pasándole directamente sus parámetros.

Cuántas de estas acciones sirve una instancia en cada nivel, de un total de 4:

  • Free: 0
  • Premium: 0
  • Ultimate: 4

Acciones de solo lectura: 3 de 4, las que conserva un despliegue en modo de solo lectura. A un token con read_api y sin api se le sirven 3 de las 4.

La descripción de cada acción, y la de cada uno de sus parámetros, es el texto que sirve el servidor para ella en la superficie predeterminada, citado tal cual; por eso está en inglés. Las líneas de token dicen lo que exige GitLab 19.4.1 a un token para las peticiones que envía cada acción; en una instancia con Admin Mode activado, una acción que solo puede ejecutar un administrador necesita además admin_mode.

AcciónIndividual
dependency.export_creategitlab_create_dependency_list_export
dependency.export_downloadgitlab_download_dependency_list_export
dependency.export_getgitlab_get_dependency_list_export
dependency.listgitlab_list_project_dependencies

Create a dependency list export from a pipeline.

  • Meta-herramienta: gitlab_dependency, acción export_create
  • Herramienta individual: gitlab_create_dependency_list_export
  • Nivel: Ultimate
  • Token clásico u OAuth: api
  • Token de grano fino: Dependency List Export: Create en proyecto (página de permisos)
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
pipeline_idintegersíPipeline ID to export dependencies from
export_typestringnoExport type (default: sbom)

Download generated dependency list export content whole. An export over 32 MiB is refused with the GitLab route to fetch it directly, never cut short.

  • Meta-herramienta: gitlab_dependency, acción export_download
  • Herramienta individual: gitlab_download_dependency_list_export
  • Nivel: Ultimate
  • Token clásico u OAuth: read_api (o api)
  • Token de grano fino: Dependency List Export: Read en proyecto o grupo (página de permisos)
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
export_idintegersíDependency list export ID

Get a dependency list export’s status (created, running, finished or failed), its type and its expiry. Poll it until the status is finished before fetching the content.

  • Meta-herramienta: gitlab_dependency, acción export_get
  • Herramienta individual: gitlab_get_dependency_list_export
  • Nivel: Ultimate
  • Token clásico u OAuth: read_api (o api)
  • Token de grano fino: Dependency List Export: Read en proyecto o grupo (página de permisos)
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
export_idintegersíDependency list export ID

List project dependency inventory.

  • Meta-herramienta: gitlab_dependency, acción list
  • Herramienta individual: gitlab_list_project_dependencies
  • Nivel: Ultimate
  • Token clásico u OAuth: read_api (o api)
  • Token de grano fino: Dependency: Read en proyecto (página de permisos)
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order keyset-paginated results by
package_managerstring (bundler, composer, conan, go, gradle, maven, npm, nuget, pip, pipenv, pnpm, yarn, sbt, setuptools)noFilter by package manager (bundler, composer, conan, go, gradle, maven, npm, nuget, pip, pipenv, pnpm, yarn, sbt, setuptools)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoNext page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort order for keyset-paginated results: asc or desc