Ir al contenido

Feature flags

Feature flags que lee la aplicación de un proyecto para activar una función de forma gradual: cada flag tiene estrategias (todos los usuarios, un porcentaje de usuarios o de despliegue, unos IDs de usuario o una lista de usuarios), limitadas a entornos. Estas acciones gestionan los flags y las listas de usuarios a las que puede apuntar una estrategia. Desactivar un flag conserva su historial; borrarlo no. Los feature flags propios de GitLab en la instancia son acciones de administración (consulta Administración).

  • “Lista los feature flags del proyecto 42”
  • “Despliega new-checkout al 25 por ciento de los usuarios en production”
  • “Crea una lista de usuarios para los probadores de la beta”
  • Dinámica, la superficie predeterminada: llama a gitlab_execute_action con action igual al ID de la acción, como feature_flags.feature_flag_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_feature_flags con action igual al nombre de la acción, como feature_flag_create, y sus parámetros en params.
  • Individual (GITLAB_MCP_TOOL_SURFACE=individual): llama a la herramienta propia de la acción, como gitlab_feature_flag_create, pasándole directamente sus parámetros.

Todos los niveles sirven el grupo completo, tanto en instancias autogestionadas como en GitLab.com.

Acciones de solo lectura: 4 de 10, las que conserva un despliegue en modo de solo lectura.

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. Una acción destructiva solo se ejecuta una vez confirmada, salvo que GITLAB_MCP_YOLO_MODE (o AUTOPILOT) se salte ese paso: la superficie dinámica necesita confirm: true en gitlab_execute_action, y las otras dos aceptan un parámetro confirm o la pregunta del cliente (Acciones destructivas).

AcciónIndividual
feature_flags.feature_flag_creategitlab_feature_flag_create
feature_flags.feature_flag_deletegitlab_feature_flag_delete
feature_flags.feature_flag_getgitlab_feature_flag_get
feature_flags.feature_flag_listgitlab_feature_flag_list
feature_flags.feature_flag_updategitlab_feature_flag_update
feature_flags.ff_user_list_creategitlab_ff_user_list_create
feature_flags.ff_user_list_deletegitlab_ff_user_list_delete
feature_flags.ff_user_list_getgitlab_ff_user_list_get
feature_flags.ff_user_list_listgitlab_ff_user_list_list
feature_flags.ff_user_list_updategitlab_ff_user_list_update

Create a feature flag with optional activation strategies and scopes. Returns: the created flag with active state, version, scopes, and strategies. See also: feature_flags.feature_flag_get, feature_flags.feature_flag_update.

  • Meta-herramienta: gitlab_feature_flags, acción feature_flag_create
  • Herramienta individual: gitlab_feature_flag_create
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
namestringsíFeature flag name
project_idstring/integersíProject ID or path
activebooleannoWhether the flag is active
descriptionstringnoFeature flag description
strategiesobject[]noActivation strategies for the flag. Each has a name, optional parameters, and optional environment scopes
versionstringnoVersion of the feature flag (new_version_flag)

Delete a feature flag permanently. Returns: a success confirmation naming the flag. See also: feature_flags.feature_flag_get, feature_flags.feature_flag_list.

  • Meta-herramienta: gitlab_feature_flags, acción feature_flag_delete
  • Herramienta individual: gitlab_feature_flag_delete
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
namestringsíFeature flag name
project_idstring/integersíProject ID or path

Get a single feature flag by name. Returns: the flag with active state, version, environment scopes, and activation strategies. See also: feature_flags.feature_flag_list, feature_flags.feature_flag_update, feature_flags.feature_flag_delete.

  • Meta-herramienta: gitlab_feature_flags, acción feature_flag_get
  • Herramienta individual: gitlab_feature_flag_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
namestringsíFeature flag name
project_idstring/integersíProject ID or path

List feature flags in a project with optional scope filter, ordering, and pagination. Returns: matching feature flags with active state, version, scopes, strategies, and pagination metadata. See also: feature_flags.feature_flag_get, feature_flags.feature_flag_create.

  • Meta-herramienta: gitlab_feature_flags, acción feature_flag_list
  • Herramienta individual: gitlab_feature_flag_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or path
order_bystringnoColumn to order results by (e.g. name, created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
scopestring (enabled, disabled)noFilter by scope (enabled or disabled)
sortstring (asc, desc)noSort direction (asc, desc)

Update a feature flag’s name, description, active state, or strategies. Returns: the updated flag with active state, version, scopes, and strategies. See also: feature_flags.feature_flag_get, feature_flags.feature_flag_delete.

  • Meta-herramienta: gitlab_feature_flags, acción feature_flag_update
  • Herramienta individual: gitlab_feature_flag_update
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
namestringsíCurrent feature flag name
project_idstring/integersíProject ID or path
activebooleannoWhether the flag is active
descriptionstringnoFeature flag description
new_namestringnoNew feature flag name
strategiesobject[]noActivation strategies for the flag. Each has an optional id (to update an existing strategy), a name, optional parameters, and optional environment scopes carrying their own id and _destroy

Create a feature flag user list in a project. Returns: the created list with id, iid, project_id, name, user_xids, created_at, and updated_at. See also: feature_flags.ff_user_list_list, feature_flags.ff_user_list_get, feature_flags.ff_user_list_update.

  • Meta-herramienta: gitlab_feature_flags, acción ff_user_list_create
  • Herramienta individual: gitlab_ff_user_list_create
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
namestringsíUser list name
project_idstring/integersíProject ID or path
user_xidsstringsíComma-separated list of user external IDs

Delete a feature flag user list by its user_list_iid. Returns: a success confirmation naming the deleted list. See also: feature_flags.ff_user_list_get, feature_flags.ff_user_list_list.

  • Meta-herramienta: gitlab_feature_flags, acción ff_user_list_delete
  • Herramienta individual: gitlab_ff_user_list_delete
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or path
user_list_iidintegersíFeature flag user list internal ID returned by list or create. Do not use the user list name

Get a single feature flag user list by its user_list_iid. Returns: the list’s id, iid, project_id, name, user_xids, created_at, and updated_at. See also: feature_flags.ff_user_list_list, feature_flags.ff_user_list_update, feature_flags.ff_user_list_delete.

  • Meta-herramienta: gitlab_feature_flags, acción ff_user_list_get
  • Herramienta individual: gitlab_ff_user_list_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or path
user_list_iidintegersíFeature flag user list internal ID returned by list or create. Do not use the user list name

List feature flag user lists for a project with search, ordering, and offset or keyset pagination. Returns: each list’s id, iid, project_id, name, user_xids, created_at, updated_at, plus pagination metadata. See also: feature_flags.ff_user_list_get, feature_flags.ff_user_list_create.

  • Meta-herramienta: gitlab_feature_flags, acción ff_user_list_list
  • Herramienta individual: gitlab_ff_user_list_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or path
order_bystringnoOrder results by field (e.g. created_at, updated_at, name)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
searchstringnoSearch by name
sortstring (asc, desc)noSort direction (asc, desc)

Update a feature flag user list’s name or user_xids by its user_list_iid. Returns: the updated list with id, iid, project_id, name, user_xids, created_at, and updated_at. See also: feature_flags.ff_user_list_get, feature_flags.ff_user_list_list, feature_flags.ff_user_list_delete.

  • Meta-herramienta: gitlab_feature_flags, acción ff_user_list_update
  • Herramienta individual: gitlab_ff_user_list_update
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or path
user_list_iidintegersíFeature flag user list internal ID returned by list or create. Do not use the user list name
namestringnoNew user list name
user_xidsstringnoComma-separated list of user external IDs