GitLab for GitHub workflows

Pick 3 of 4 for GitHub workflowsOfficialGitLab

A GitHub workflow is not always confined to github.com, and that is exactly the gap GitLab's official server fills as our third pick here. When part of your work lives on GitLab, an alternate forge in the same toolchain, this is the server that lets an agent open merge requests, triage issues, and drive pipelines there over OAuth.

It sits third because the center of a GitHub workflow is GitHub itself, and the GitHub pick owns that. GitLab covers the second-forge case and the GitLab CI side; for local commits and diffs the Git pick fits better, and CircleCI handles CI when that is where your pipelines run.

How GitLab fits

Where GitLab earns its place is the hosted GitLab surface. create_merge_request and get_merge_request open and read a change, get_merge_request_diffs returns the diff under review, and get_merge_request_commits walks its history. create_issue and get_issue track work, while manage_pipeline, get_merge_request_pipelines, and get_pipeline_jobs start a pipeline, list its runs, and surface why a job failed. create_workitem_note and get_workitem_notes carry the discussion thread.

The limit is that none of this touches GitHub or your local repo. GitLab will not open a github.com pull request, run GitHub Actions, or commit on disk, so in a GitHub-centered setup it is the supporting forge rather than the main one. GitHub is the stronger pick for the hosted GitHub work; Git handles local commits, diffs, and branches; CircleCI fits when your CI runs there instead of in GitLab pipelines. Reach for GitLab when some of your code or reviews genuinely live on GitLab and you want the agent operating on that forge directly.

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

Can the GitLab MCP server work with github.com pull requests?
No. Its tools target the GitLab platform: merge requests, issues, and pipelines on GitLab. For github.com pull requests and Actions, use the GitHub server; this one fits when part of your work also lives on GitLab.
Why would a GitHub-based team add the GitLab server?
Because work is often split across forges. If a project or mirror lives on GitLab, this server lets the agent open MRs, triage issues, and read GitLab pipelines there, alongside the GitHub server handling the GitHub side.