Skip to content

CI/CD Catalog

The CI/CD Catalog lists the projects that publish reusable CI/CD components, the building blocks a pipeline pulls in with include:component. ci_catalog.list searches and sorts the published resources, and ci_catalog.get reads one, with the components and inputs of its latest version and its recent versions. The Catalog is served by GitLab’s GraphQL API, and both actions only read.

  • “Search the CI/CD Catalog for Docker build components”
  • “Which versions of the auto-deploy component are published?”
  • “List the catalog resources sorted by stars”
  • Dynamic, the default surface: call gitlab_execute_action with action set to the action’s ID, such as ci_catalog.get, and its parameters in params. gitlab_find_action finds an ID from a description of the task.
  • Meta (GITLAB_MCP_TOOL_SURFACE=meta): call gitlab_ci_catalog with action set to the action’s name, such as get, and its parameters in params.
  • Individual (GITLAB_MCP_TOOL_SURFACE=individual): call the action’s own tool, such as gitlab_get_catalog_resource, with its parameters as the arguments.

Every tier serves the whole group, on self-managed instances and on GitLab.com alike.

Read-only actions: 2 of 2, the ones a deployment in read-only mode keeps.

The description of each action, and of each of its parameters, is the text the server serves for it on the default surface, quoted as served.

ActionIndividual
ci_catalog.getgitlab_get_catalog_resource
ci_catalog.listgitlab_list_catalog_resources

Get a single CI/CD Catalog resource by GID or full path. Returns: the resource with description, the latest version’s README as Markdown and as HTML, latest-version components with their 30-day usage and their typed inputs (default, options, regex and conditional rules), the last ten versions with author and commit, star count, starrers path, and web path. See also: ci_catalog.list, template.lint, project.get.

  • Meta-tool: gitlab_ci_catalog, action get
  • Individual tool: gitlab_get_catalog_resource
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
full_pathstringnoFull path of the project hosting the resource (e.g. my-group/my-components). Give exactly one of id or full_path. Sending both is refused.
idstringnoCatalog resource GID (e.g. gid://gitlab/Ci::CatalogResource/1). Give exactly one of id or full_path. Sending both is refused.

List published CI/CD Catalog resources (component projects) with optional search, scope, and sort. Returns: catalog resources with id, name, full path, description, icon, latest version and release date, star count, starrers path, 30-day usage count, archived flag, topics, verification and visibility levels, web path, and keyset pagination metadata. See also: ci_catalog.get, template.lint, pipeline.create.

  • Meta-tool: gitlab_ci_catalog, action list
  • Individual tool: gitlab_list_catalog_resources
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
afterstringnoCursor for forward pagination (from previous response end_cursor)
beforestringnoCursor for backward pagination (from previous response start_cursor). The page size comes from last, or from first when last is omitted
firstintegernoNumber of items to return (default 20, max 100)
lastintegernoNumber of items to return from the end of the range (backward pagination). Cannot be combined with first
scopestring (ALL, NAMESPACES)noFilter scope: ALL (default) or NAMESPACES
searchstringnoSearch resources by name or description
sortstring (NAME_ASC, NAME_DESC, LATEST_RELEASED_AT_ASC, LATEST_RELEASED_AT_DESC, STAR_COUNT_ASC, STAR_COUNT_DESC, CREATED_ASC, CREATED_DESC, USAGE_COUNT_ASC, USAGE_COUNT_DESC)noSort order: NAME_ASC (default), NAME_DESC, LATEST_RELEASED_AT_ASC, LATEST_RELEASED_AT_DESC, STAR_COUNT_ASC, STAR_COUNT_DESC, CREATED_ASC, CREATED_DESC, USAGE_COUNT_ASC, USAGE_COUNT_DESC