merge_merge_request
Merge a merge request in a GitLab project
create_or_update_file
Create or update a single file in a GitLab project
search_repositories
Search for GitLab projects
create_repository
Create a new GitLab project
create_group
Create a new GitLab group or subgroup (name, path, description, visibility, and optional parent_id)
get_file_contents
Get the contents of a file or directory from a GitLab project
push_files
Push multiple files to a GitLab project in a single commit
create_issue
Create a new issue in a GitLab project
create_merge_request
Create a new merge request in a GitLab project
fork_repository
Fork a GitLab project to your account or specified namespace
create_branch
Create a new branch in a GitLab project
get_merge_request
Get details of a merge request with compact deployment summary, behind-count, commit addition summary, and approval summary (Either mergeRequestIid or branchName must be provided)
get_merge_request_diffs
Get the changes/diffs of a merge request (Either mergeRequestIid or branchName must be provided)
list_merge_request_diffs
List merge request diffs with pagination support (Either mergeRequestIid or branchName must be provided)
get_merge_request_conflicts
Get the conflicts of a merge request in a GitLab project
list_merge_request_changed_files
STEP 1 of code review workflow. Returns ONLY the list of changed file paths in a merge request — WITHOUT diff content. Call this first to get file paths, then call get_merge_request_file_diff with multiple files in a single batched call (recommended 3-5 files per call). Supports excluded_file_patterns filtering using regex. (Either mergeRequestIid or branchName must be provided)
get_merge_request_file_diff
STEP 2 of code review workflow. Get diffs for one or more files from a merge request. Call list_merge_request_changed_files first, then pass them as an array to fetch diffs efficiently. Batching multiple files (recommended 3-5) is supported. (Either mergeRequestIid or branchName must be provided)
list_merge_request_versions
List all versions of a merge request
get_merge_request_version
Get a specific version of a merge request
get_branch_diffs
Get the changes/diffs between two branches or commits in a GitLab project
update_merge_request
Update a merge request (Either mergeRequestIid or branchName must be provided)
create_note
Create a new note (comment) to an issue or merge request
create_merge_request_thread
Create a new thread on a merge request
mr_discussions
List discussion items for a merge request
resolve_merge_request_thread
Resolve a thread on a merge request
update_merge_request_note
Modify an existing merge request thread note
create_merge_request_note
Add a new note to an existing merge request thread
delete_merge_request_discussion_note
Delete a discussion note on a merge request
update_merge_request_discussion_note
Update a discussion note on a merge request
create_merge_request_discussion_note
Add a new discussion note to an existing merge request thread
delete_merge_request_note
Delete an existing merge request note
get_merge_request_note
Get a specific note for a merge request
get_merge_request_notes
List notes for a merge request
get_draft_note
Get a single draft note from a merge request
list_draft_notes
List draft notes for a merge request
create_draft_note
Create a draft note for a merge request
update_draft_note
Update an existing draft note
delete_draft_note
Delete a draft note
publish_draft_note
Publish a single draft note
bulk_publish_draft_notes
Publish all draft notes for a merge request
list_merge_requests
List merge requests globally or in a specific GitLab project with filtering options (project_id is now optional)
approve_merge_request
Approve a merge request (requires appropriate permissions)
unapprove_merge_request
Unapprove a previously approved merge request
get_merge_request_approval_state
Get merge request approval details including approvers (uses `approval_state` when available, otherwise falls back to `approvals`)
update_issue_note
Modify an existing issue thread note
create_issue_note
Add a new note to an existing issue thread
list_issues
List issues (default: created by current user only; use scope='all' for all accessible issues)
my_issues
List issues assigned to the authenticated user (defaults to open issues)
get_issue
Get details of a specific issue in a GitLab project
update_issue
Update an issue in a GitLab project
update_issue_description_patch
Apply a patch (search/replace or unified diff) to an issue description. Reduces token usage by sending only the change instead of the full description. Supports `dry_run` to preview and `create_note` to summarize.
delete_issue
Delete an issue from a GitLab project
list_todos
List GitLab to-do items for the current user
mark_todo_done
Mark a GitLab to-do item as done
mark_all_todos_done
Mark all pending GitLab to-do items as done for the current user
list_issue_links
List all issue links for a specific issue
list_issue_discussions
List discussions for an issue in a GitLab project
get_issue_link
Get a specific issue link
create_issue_link
Create an issue link between two issues
delete_issue_link
Delete an issue link
list_namespaces
List all namespaces available to the current user
get_namespace
Get details of a namespace by ID or path
verify_namespace
Verify if a namespace path exists
get_project
Get details of a specific project
list_projects
List projects accessible by the current user
list_project_members
List members of a GitLab project
list_group_projects
List projects in a GitLab group with filtering options
list_group_iterations
List group iterations with filtering options
list_labels
List labels for a project
get_label
Get a single label from a project
create_label
Create a new label in a project
update_label
Update an existing label in a project
delete_label
Delete a label from a project
list_pipelines
List pipelines in a GitLab project with filtering options
get_pipeline
Get details of a specific pipeline in a GitLab project
list_pipeline_jobs
List all jobs in a specific pipeline
list_pipeline_trigger_jobs
List all trigger jobs (bridges) in a specific pipeline that trigger downstream pipelines
get_pipeline_job
Get details of a GitLab pipeline job number
get_pipeline_job_output
Get the output/trace of a GitLab pipeline job with optional pagination to limit context window usage
validate_ci_lint
Validate provided GitLab CI/CD YAML content for a project
validate_project_ci_lint
Validate an existing `.gitlab-ci.yml` configuration for a project
create_pipeline
Create a new pipeline for a branch or tag
retry_pipeline
Retry a failed or canceled pipeline
cancel_pipeline
Cancel a running pipeline
play_pipeline_job
Run a manual pipeline job
retry_pipeline_job
Retry a failed or canceled pipeline job
cancel_pipeline_job
Cancel a running pipeline job
list_deployments
List deployments in a GitLab project with filtering options
get_deployment
Get details of a specific deployment in a GitLab project
list_environments
List environments in a GitLab project
get_environment
Get details of a specific environment in a GitLab project
list_job_artifacts
List artifact files in a job's artifacts archive