GitLab for git workflows

Pick 3 of 4 for git workflowsOfficialGitLab

GitLab's official server is our third pick for git workflows, and the deciding factor is simple: where your code and reviews live. For teams on GitLab, it puts merge requests, issues, and pipelines in front of the agent over OAuth, so the hosted side of the workflow runs without leaving the assistant.

It ranks third rather than first because most of the day-to-day git mechanics, staging, committing, inspecting a local diff, are repo-level operations the GitLab server does not touch. For those the plain Git pick fits better, and for teams on GitHub the GitHub pick is the equivalent.

How GitLab fits

On the hosted side, GitLab does real work. create_merge_request opens a PR-equivalent, get_merge_request_diffs returns the change to review, and get_merge_request_commits walks its history. create_issue and get_issue track the work item, while manage_pipeline, get_merge_request_pipelines, and get_pipeline_jobs let the agent kick off CI, watch a run, or read why a job failed. create_workitem_note and get_workitem_notes handle the discussion thread.

The honest limit is that GitLab operates on the platform, not the working copy. There is no tool here to stage a file, write a commit on disk, or browse local branches, so the mechanical git steps need the Git server instead. Git is the better pick when the work is local-first; GitHub is the equivalent for GitHub-hosted repos; Bitbucket covers that platform. Reach for GitLab when your repositories and reviews are on GitLab and you want the agent opening MRs, triaging issues, and driving pipelines there.

Tools you would use

ToolWhat it does
get_mcp_server_versionReturns the current version of the GitLab MCP server.
create_issueCreates a new issue in a GitLab project.
get_issueRetrieves detailed information about a specific GitLab issue.
create_merge_requestCreates a merge request in a GitLab project.
get_merge_requestRetrieves detailed information about a specific GitLab merge request.
get_merge_request_commitsRetrieves the list of commits in a specific GitLab merge request.
get_merge_request_diffsRetrieves the diffs for a specific GitLab merge request.
get_merge_request_pipelinesRetrieves the pipelines for a specific GitLab merge request.
get_pipeline_jobsRetrieves the jobs for a specific GitLab CI/CD pipeline.
manage_pipelineManages CI/CD pipelines in a project: list, create, retry, cancel, or delete a pipeline.
Full GitLab setup and config →

FAQ

Does the GitLab MCP server let an agent commit code locally?
No. Its tools operate on the GitLab platform: merge requests, issues, and pipelines. For staging, committing, and inspecting a local diff on disk, use the Git server alongside it.
Why pick GitLab over GitHub for git workflows?
Pick by where your code is hosted. GitLab's server covers merge requests, issues, and pipelines for GitLab-hosted repos; GitHub's covers the same surface for GitHub. They are not interchangeable across hosts.