Diátaxis type: Reference Domain: Releases & Release Links Individual tools: 12 Meta-tool:
gitlab_release(GITLAB_MCP_TOOL_SURFACE=metacatalog) Dynamic IDs:release.*(default surface, viagitlab_execute_action) GitLab API: Releases API · Release Links API Audience: 👤 End users, AI assistant users
The releases domain covers the full lifecycle of GitLab releases and their associated asset links: creating releases for existing tags, retrieving release details, listing releases, updating metadata, deleting releases, and managing asset links attached to releases.
On the default dynamic surface, these operations are the release.* entries of the canonical action catalog: find them with gitlab_find_action and run them with gitlab_execute_action by domain.action ID. With GITLAB_MCP_TOOL_SURFACE=individual, each is the tool named in the tables below.
With GITLAB_MCP_TOOL_SURFACE=meta, all 12 individual tools below are consolidated into a single gitlab_release meta-tool that dispatches by action parameter.
"List all releases for project 42" "Create a release for tag v2.0.0" "What changed between v1.0 and v2.0?"
| Annotation | ReadOnly | Destructive | Idempotent | Description |
|---|---|---|---|---|
| Read | Yes | No | Yes | Safe read-only operation |
| Create | — | No | — | Creates a new resource |
| Update | — | No | Yes | Modifies an existing resource |
| Delete | — | Yes | Yes | Destroys a resource; protected by confirmation |
Tools marked Delete require user confirmation before execution.
Create a GitLab release associated with an existing Git tag. Includes release title, Markdown description, and optional milestones. The tag must exist before creating the release.
| Annotation | Create |
|---|
Retrieve detailed information about a specific GitLab release by its tag name, including title, description, author, creation date, and associated assets.
| Annotation | Read |
|---|
List all releases for a GitLab project ordered by release date. Returns paginated results including each release's metadata, tag, and asset links.
| Annotation | Read |
|---|
Get the latest release for a GitLab project. Returns the most recently created release without needing to know the tag name.
| Annotation | Read |
|---|
Update an existing GitLab release's title, description, milestones, or released date. Identified by project and tag name. Only specified fields are changed.
| Annotation | Update |
|---|
Delete a GitLab release. The underlying Git tag is preserved and not deleted.
| Annotation | Delete |
|---|
Destructive: Protected by confirmation prompt. The Git tag is preserved.
Add an asset link to a GitLab release. Supports link types: runbook, package, image, or other. Links appear in the release's assets section.
| Annotation | Create |
|---|
Create multiple release asset links in one call. Accepts a links array where each entry has a name and an absolute url, plus optional link_type and direct_asset_path (deprecated alias: filepath). Returns the created links and any failed entries. Prefer this over repeated gitlab_release_link_create calls when attaching several assets at once.
| Annotation | Create |
|---|
Get details of a specific release asset link by its ID, including name, URL, type, and whether it is external.
| Annotation | Read |
|---|
List all asset links attached to a specific GitLab release identified by tag name. Returns link names, URLs, types, and IDs.
| Annotation | Read |
|---|
Update an existing release asset link. Can change name, URL, filepath, direct asset path, or link type. Only specified fields are changed.
| Annotation | Update |
|---|
Remove an asset link from a GitLab release by its link ID.
| Annotation | Delete |
|---|
Destructive: Protected by confirmation prompt.
| # | Tool Name | Category | Annotation |
|---|---|---|---|
| 1 | gitlab_release_create |
Releases | Create |
| 2 | gitlab_release_get |
Releases | Read |
| 3 | gitlab_release_list |
Releases | Read |
| 4 | gitlab_release_latest |
Releases | Read |
| 5 | gitlab_release_update |
Releases | Update |
| 6 | gitlab_release_delete |
Releases | Delete |
| 7 | gitlab_release_link_create |
Release Links | Create |
| 8 | gitlab_release_link_create_batch |
Release Links | Create |
| 9 | gitlab_release_link_get |
Release Links | Read |
| 10 | gitlab_release_link_list |
Release Links | Read |
| 11 | gitlab_release_link_update |
Release Links | Update |
| 12 | gitlab_release_link_delete |
Release Links | Delete |
The following tools are annotated with DestructiveHint: true and require user confirmation before execution:
gitlab_release_delete— deletes a release (Git tag is preserved)gitlab_release_link_delete— removes an asset link from a release