# branch — gitlab

> 11 acciones
> Esta página en markdown. Índice: https://mcp.jmrp.io/llms.txt

Canonical: https://mcp.jmrp.io/es/servers/gitlab/actions/branch/
Language: es
Alternate: https://mcp.jmrp.io/servers/gitlab/actions/branch/index.md
Updated: 2026-09-22T21:41:36+02:00
License: https://mcp.jmrp.io/es/license/

Contado con un token Free contra gitlab.com, que es el único host con el que habla este endpoint: para usarlo contra una instancia self-managed, levanta tú el servidor — su documentación lo cubre. El catálogo depende del token que pregunta, así que el recuento se mueve con su tier y con sus permisos: los tiers superiores exponen más acciones, y los dominios de administración solo aparecen a tokens autorizados a usarlos. Por eso las cifras difieren en otros sitios: el proyecto upstream cataloga 1.006 acciones en 162 dominios, y 851 en la superficie Free/CE, mientras que este despliegue publica 765 porque es solo-OAuth y actúa con tu token, así que los dominios de administración que una cuenta sin admin no puede llamar no aparecen nunca. Las tres describen el mismo catálogo, contado desde tres sitios distintos.

## Acciones

### `branch.create` — Branch Create

Create a branch from a source ref (branch, tag, or commit SHA). Returns: the created branch with its head commit object, protection and default flags, and web URL. See also: branch.list, merge_request.create, repository.compare.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`, `ref (string)`

### `branch.delete` — Branch Delete

_destructiva_

Delete a single branch by name. Returns: a success confirmation. Fails for protected or default branches. See also: branch.list, branch.unprotect.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`

### `branch.delete_merged` — Branch Delete Merged

_destructiva_

Delete all branches merged into the default branch. Returns: a success confirmation. Protected and default branches are skipped. See also: branch.list, merge_request.list.

**Parámetros obligatorios:** `project_id (string|integer)`

### `branch.get` — Branch Get

_solo lectura_

Get a single branch by name. Returns: the branch with protection, default, and merged flags, push/merge permissions, the head commit object, and web URL. See also: branch.list, branch.protect, branch.unprotect.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`

### `branch.get_protected` — Protected Branch Get

_solo lectura_

Get a single protected branch or wildcard rule by name. Returns: the rule with push, merge, and unprotect access-level arrays, allow-force-push, and CODEOWNERS-approval flags. See also: branch.list_protected, branch.update_protected, branch.unprotect.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`

### `branch.list` — Branch List

_solo lectura_

List repository branches in one project with optional search/regex filtering, ordering, and offset or keyset pagination. Returns: matching branches with protection, default, merged flags, the head commit object, and pagination metadata. See also: branch.get, branch.create, repository.compare.

**Parámetros obligatorios:** `project_id (string|integer)`

### `branch.list_protected` — Protected Branches List

_solo lectura_

List protected branches and wildcard rules for a project with optional search, ordering, and offset or keyset pagination. Returns: protected rules with push/merge/unprotect access-level arrays and pagination metadata. See also: branch.get_protected, branch.protect, branch.update_protected.

**Parámetros obligatorios:** `project_id (string|integer)`

### `branch.protect` — Branch Protect

Protect a branch or wildcard with push/merge/unprotect access levels and optional fine-grained allowed_to_push/merge/unprotect entries. Returns: the protected rule with its access-level arrays. Idempotent: returns the existing rule when the branch is already protected. See also: branch.unprotect, branch.get_protected, branch.update_protected.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`

### `branch.rule_list` — List Branch Rules

_solo lectura_

List a project's aggregated branch protection rules by full project path. Returns: each branch rule with its matched pattern, default and protected flags, matching branch count, branch protection settings (allow force push, code-owner approval required), approval rules, external status checks, and keyset pagination metadata. Pages forward only: this GitLab connection takes first and after, and rejects last and before. See also: branch.list_protected, branch.get_protected, project.get.

**Parámetros obligatorios:** `project_path (string)`

### `branch.unprotect` — Branch Unprotect

_destructiva_

Remove protection from a branch (idempotent). Returns: a status and message confirming protection removed or already absent. See also: branch.protect, branch.get_protected, branch.delete.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`

### `branch.update_protected` — Protected Branch Update

Update an existing protected branch rule: allow-force-push, CODEOWNERS approval, rename, or fine-grained allowed_to_push/merge/unprotect entries. Returns: the updated rule with its access-level arrays. See also: branch.get_protected, branch.list_protected, branch.protect.

**Parámetros obligatorios:** `branch_name (string)`, `project_id (string|integer)`
