Gitlab MCP server
MCP server for GitLab API — projects, MRs, pipelines, CI/CD, approvals, issues, code review.
6 stars933 downloads/wk
Reviews
Write oneNobody has reviewed Gitlab yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Gitlab tools (83, 38 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
gitlab_add_issue_commentwrite actionPost a comment on an issue. Returns the new note's id, body, author, and created_at.
gitlab_add_mr_notewrite actionPost a new comment on a merge request.
gitlab_approve_mrApprove a merge request, optionally gating on a sha so HEAD hasn't changed.
gitlab_award_emojiAdd an emoji reaction to an MR note. Returns the new award's id, name, and user.
gitlab_cancel_jobwrite actionCancel a running job. Returns the updated job with status=canceled.
gitlab_cancel_pipelinewrite actionCancel a running pipeline. Returns the updated pipeline with status=canceled.
gitlab_compareCompare two refs (branch, tag, or sha).
gitlab_create_branchwrite actionCreate a branch from an existing ref.
gitlab_create_commitwrite actionCreate a commit applying create/update/delete/move/chmod file actions in one call.
gitlab_create_group_variablewrite actionCreate a group CI/CD variable.
gitlab_create_issuewrite actionCreate a new issue.
gitlab_create_mrwrite actionCreate a merge request.
gitlab_create_mr_approval_rulewrite actionAdd an approval rule to a merge request.
gitlab_create_mr_discussionwrite actionCreate a discussion on a merge request.
gitlab_create_pipelinewrite actionTrigger a new pipeline on the given ref, optionally with variables.
gitlab_create_projectwrite actionCreate a new project.
gitlab_create_project_approval_rulewrite actionCreate a project-level approval rule.
gitlab_create_releasewrite actionCreate a release tied to a tag (or a new ref).
gitlab_create_tagwrite actionCreate a tag on the given ref, optionally with a message.
gitlab_create_variablewrite actionCreate a project CI/CD variable.
gitlab_delete_branchwrite actionDelete a branch from a project. Returns a {status: deleted, branch} confirmation.
gitlab_delete_group_variablewrite actionDelete a group CI/CD variable. Returns a {status: deleted, key} confirmation.
gitlab_delete_mr_approval_rulewrite actionDelete an approval rule from a merge request.
gitlab_delete_mr_notewrite actionDelete a comment from a merge request. Returns a {status: deleted, note_id} confirmation.
gitlab_delete_projectwrite actionPermanently delete a project. Irreversible.
gitlab_delete_project_approval_rulewrite actionDelete a project-level approval rule. Returns a {status: deleted, rule_id} confirmation.
gitlab_delete_releasewrite actionDelete a release (the underlying tag is preserved).
gitlab_delete_tagwrite actionDelete a tag. Returns a {status: deleted, tag} confirmation.
gitlab_delete_variablewrite actionDelete a project CI/CD variable. Returns a {status: deleted, key} confirmation.
gitlab_get_commitGet a single commit, optionally with diff.
gitlab_get_groupGet a group's details.
gitlab_get_issueGet a single issue.
gitlab_get_job_logGet a job's log trace, truncated to the last tail_lines lines (default 200).
gitlab_get_mrGet merge request details.
gitlab_get_mr_approvalsGet the approval state of a merge request.
gitlab_get_pipelineGet pipeline details, optionally with jobs.
gitlab_get_projectGet a project's details.
gitlab_get_project_approvalsGet project-level approval configuration.
gitlab_get_releaseGet a release by tag.
gitlab_get_tagGet a tag's details. Returns name, message, target commit, and any attached release.
gitlab_list_branchesList branches in a project.
gitlab_list_commitsList commits on a ref (branch, tag, or sha).
gitlab_list_group_variablesList group CI/CD variables.
gitlab_list_groupsList groups visible to the caller.
gitlab_list_issuesList issues in a project, filterable by state/labels/assignee.
gitlab_list_mr_approval_rulesList approval rules attached to a merge request.
gitlab_list_mr_commitsList commits included in a merge request.
gitlab_list_mr_discussionsList discussions on a merge request.
gitlab_list_mr_notesList notes (comments) on a merge request.
gitlab_list_mr_pipelinesList pipelines associated with a merge request.
gitlab_list_mrsList merge requests in a project, filterable by state/labels/author.
gitlab_list_pipelinesList pipelines for a project. Returns id, status, ref, source, timing, web_url.
gitlab_list_project_approval_rulesList project-level approval rules.
gitlab_list_releasesList project releases.
gitlab_list_tagsList repository tags.
gitlab_list_variablesList project CI/CD variables.
gitlab_merge_mrMerge a merge request, optionally only when the pipeline succeeds.
gitlab_merge_mr_sequenceMerge several MRs sequentially, stopping at the first failure.
gitlab_mr_changesGet file changes of a merge request. Returns list of diffs with old/new paths and content.
gitlab_play_jobTrigger a manual job, optionally with job variables.
gitlab_rebase_mrTrigger a server-side rebase of an MR onto its target branch.
gitlab_remove_emojiwrite actionRemove an emoji reaction from an MR note. Returns a {status: removed} confirmation.
gitlab_reply_to_discussionReply to an existing MR discussion thread.
gitlab_resolve_discussionMark an MR discussion as resolved or unresolved.
gitlab_retry_jobRetry a failed job. Returns the new job's id, status, name, stage, and web_url.
gitlab_retry_pipelineRetry all failed or canceled jobs in a pipeline.
gitlab_share_group_with_groupGrant one group access to another group at the given access level.
gitlab_share_project_with_groupGrant a group access to a project at the given access level.
gitlab_subscribe_mrSubscribe the authenticated user to notifications for a merge request.
gitlab_unapprove_mrwrite actionRemove the current user's approval from a merge request.
gitlab_unshare_group_with_groupRevoke a group-to-group share. Returns a {status: unshared} confirmation.
gitlab_unshare_project_with_groupRevoke a group's access to a project.
gitlab_unsubscribe_mrUnsubscribe the authenticated user from notifications for a merge request.
gitlab_update_group_variablewrite actionUpdate a group CI/CD variable. Returns the updated variable object.
gitlab_update_issuewrite actionUpdate an issue's title, description, labels, assignees, weight, or state event.
gitlab_update_mrwrite actionUpdate an MR's title, description, target branch, labels, squash/draft flags, or state.
gitlab_update_mr_approval_rulewrite actionUpdate a merge-request-level approval rule. Returns the updated rule object.
gitlab_update_mr_notewrite actionEdit an existing MR comment's body.
gitlab_update_project_approval_rulewrite actionUpdate a project-level approval rule. Returns the updated rule object.
gitlab_update_project_approvalswrite actionUpdate project-level approval settings. Returns the updated approval configuration.
gitlab_update_project_merge_settingswrite actionUpdate merge-related project settings (squash, fast-forward, pipeline gating).
gitlab_update_releasewrite actionUpdate a release's name, description, or release date. Returns the updated release.
gitlab_update_variablewrite actionUpdate a project CI/CD variable. Returns the updated variable object.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan14 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
claude mcp add mcp-gitlab -- uvx mcp-gitlab
Gitlab: common questions
- Is Gitlab MCP server safe?
- Mostly: it is graded B (83/100). Read the Gitlab safety report
- How do I install Gitlab?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Gitlab need an API key?
- Yes. The registry entry asks for
GITLAB_TOKEN. - Is Gitlab maintained?
- The last commit was in the last day (2026-09-20). The latest release is v0.9.7.
- What can I use instead of Gitlab?
- Servers from other publishers that do the same job: Gitlab MCP server, CICD AIops MCP server and GitHub MCP server. Compare all Gitlab alternatives.
Alternatives to Gitlab
Same job from other publishers: the closest match first, then the best rated.
- GitlabGitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.not reviewedWidely usedB
- CICD AIopsGoverned self-managed GitLab + Gitea CI/CD ops: pipelines, runners, artifacts, RCA. 28 tools.not reviewedGrowingA
- GitHubConnect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.not reviewedEstablishedA
- PalinodeInspectable, correctable project memory in git-versioned Markdown for AI agents.not reviewedEstablishedC
- Advanced GitLab MCP server58 CQRS tools exposing 230 GitLab operations across 26 entity typesnot reviewedGrowingA