Skip to content

Project aliases

A project alias is a short name an administrator gives a project, which git clones the project by. These actions list the aliases, read one, create one and delete one, and are administrator actions.

  • “List the project aliases”
  • “Create the alias gitlab for project 42”
  • “Delete the alias legacy-api”
  • Dynamic, the default surface: call gitlab_execute_action with action set to the action’s ID, such as project_alias.create, 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_project_alias with action set to the action’s name, such as create, and its parameters in params.
  • Individual (GITLAB_MCP_TOOL_SURFACE=individual): call the action’s own tool, such as gitlab_create_project_alias, with its parameters as the arguments.

How many of these actions an instance serves at each tier, out of a total of 4:

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

Listed only for a token that carries admin_mode: the server removes the group from every surface for a token whose scopes it knows and that lacks it.

Read-only actions: 2 of 4, 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. A destructive action runs only once confirmed, unless GITLAB_MCP_YOLO_MODE (or AUTOPILOT) skips that step: the dynamic surface needs confirm: true on gitlab_execute_action, and the other two take a confirm parameter or the client’s prompt (Destructive actions).

ActionIndividual
project_alias.creategitlab_create_project_alias
project_alias.deletegitlab_delete_project_alias
project_alias.getgitlab_get_project_alias
project_alias.listgitlab_list_project_aliases

Create a project alias mapping a unique name to a numeric project_id (admin-only). Returns: the created alias with id, project_id, and name. See also: project_alias.list, project_alias.get, project_alias.delete.

  • Meta-tool: gitlab_project_alias, action create
  • Individual tool: gitlab_create_project_alias
  • Tier: Premium
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
namestringyesThe alias name to create
project_idintegeryesThe numeric project ID to alias

Delete a project alias by its exact name (admin-only). Returns: deletion confirmation. See also: project_alias.list, project_alias.get, project_alias.create.

  • Meta-tool: gitlab_project_alias, action delete
  • Individual tool: gitlab_delete_project_alias
  • Tier: Premium
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
namestringyesThe alias name to delete

Get one project alias by its exact name. Returns: the alias id, project_id, and name. See also: project_alias.list, project_alias.create, project_alias.delete.

  • Meta-tool: gitlab_project_alias, action get
  • Individual tool: gitlab_get_project_alias
  • Tier: Premium
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
namestringyesThe alias name to look up

List the project aliases the authenticated administrator can see. Returns: each alias with id, project_id, and name, with pagination metadata. See also: project_alias.get, project_alias.create, project_alias.delete.

  • Meta-tool: gitlab_project_alias, action list
  • Individual tool: gitlab_list_project_aliases
  • Tier: Premium
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.