Skip to main content
Glama

MCP GitLab Server

by Vijay-Duke

gitlab_update_merge_request

Modify merge request details like title, description, target branch, assignees, reviewers, labels, and more. Supports state changes (close/reopen) and draft status updates to streamline code collaboration.

Instructions

Update any modifiable field of a merge request: title, description, target branch, assignees, reviewers, labels, milestone, or state. Supports closing/reopening and draft status.

Input Schema

NameRequiredDescriptionDefault
allow_collaborationNoAllow commits from upstream members (boolean). Lets maintainers push to fork's branch. Default: true
assignee_idNoUser ID to assign (integer). Use user's numeric GitLab ID, not username. Single assignee only
assignee_idsNoArray of user IDs to assign (array of integers). Multiple assignees supported. Example: [123, 456]
descriptionNoDescription body (string, markdown supported). Can include mentions (@user), references (#123, !456), and task lists
discussion_lockedNoLock discussion threads (boolean). Prevents new comments except by project members. Default: false
labelsNoLabels to apply (string, comma-separated). Example: 'bug,priority:high,frontend'. Creates new labels if needed
milestone_idNoMilestone ID to associate (integer). Must be an existing milestone in the project. Use null to unset
mr_iidYesMerge request internal ID (integer). Project-specific MR number (e.g., !456). Not the global MR ID
project_idNoProject ID (integer) or path (string like 'group/project'). Optional - auto-detects from current git repository if not provided
remove_source_branchNoDelete source branch after merge (boolean). Cleans up feature branches. Default: false. Requires permissions
reviewer_idsNoArray of user IDs to request review from (array of integers). MR reviewers. Example: [789, 012]
squashNoSquash commits on merge (boolean). Combines all commits into one. Default: follows project settings
state_eventNoState transition action (string). Options: 'close' (close issue/MR), 'reopen' (reopen closed issue/MR)
target_branchNoTarget branch for merge (string, required). The branch to merge into. Example: 'main' or 'develop'
titleNoTitle text (string, required for create/update). Max 255 characters. Supports emoji and special characters

Input Schema (JSON Schema)

{ "properties": { "allow_collaboration": { "description": "Allow commits from upstream members (boolean). Lets maintainers push to fork's branch. Default: true", "type": "boolean" }, "assignee_id": { "description": "User ID to assign (integer). Use user's numeric GitLab ID, not username. Single assignee only", "type": "integer" }, "assignee_ids": { "description": "Array of user IDs to assign (array of integers). Multiple assignees supported. Example: [123, 456]", "items": { "type": "integer" }, "type": "array" }, "description": { "description": "Description body (string, markdown supported). Can include mentions (@user), references (#123, !456), and task lists", "type": "string" }, "discussion_locked": { "description": "Lock discussion threads (boolean). Prevents new comments except by project members. Default: false", "type": "boolean" }, "labels": { "description": "Labels to apply (string, comma-separated). Example: 'bug,priority:high,frontend'. Creates new labels if needed", "type": "string" }, "milestone_id": { "description": "Milestone ID to associate (integer). Must be an existing milestone in the project. Use null to unset", "type": "integer" }, "mr_iid": { "description": "Merge request internal ID (integer). Project-specific MR number (e.g., !456). Not the global MR ID", "type": "integer" }, "project_id": { "description": "Project ID (integer) or path (string like 'group/project'). Optional - auto-detects from current git repository if not provided", "type": "string" }, "remove_source_branch": { "description": "Delete source branch after merge (boolean). Cleans up feature branches. Default: false. Requires permissions", "type": "boolean" }, "reviewer_ids": { "description": "Array of user IDs to request review from (array of integers). MR reviewers. Example: [789, 012]", "items": { "type": "integer" }, "type": "array" }, "squash": { "description": "Squash commits on merge (boolean). Combines all commits into one. Default: follows project settings", "type": "boolean" }, "state_event": { "description": "State transition action (string). Options: 'close' (close issue/MR), 'reopen' (reopen closed issue/MR)", "enum": [ "close", "reopen" ], "type": "string" }, "target_branch": { "description": "Target branch for merge (string, required). The branch to merge into. Example: 'main' or 'develop'", "type": "string" }, "title": { "description": "Title text (string, required for create/update). Max 255 characters. Supports emoji and special characters", "type": "string" } }, "required": [ "mr_iid" ], "type": "object" }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vijay-Duke/mcp-gitlab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server