GitLab (Archived)

GitLab (Archived)

MCP Server for the GitLab API, enabling project management, file operations, and more.

10K+

20

9 Tools

Signed
Built by Docker
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

GitLab (Archived) MCP Server

MCP Server for the GitLab API, enabling project management, file operations, and more.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/gitlab
Authormodelcontextprotocol
Repositoryhttps://github.com/modelcontextprotocol/servers
Dockerfilehttps://github.com/modelcontextprotocol/servers/blob/2025.4.24/src/gitlab/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/gitlab --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (9)

Tools provided by this ServerShort Description
create_branchCreate a new branch in a GitLab project
create_issueCreate a new issue in a GitLab project
create_merge_requestCreate a new merge request in a GitLab project
create_or_update_fileCreate or update a single file in a GitLab project
create_repositoryCreate a new GitLab project
fork_repositoryFork a GitLab project to your account or specified namespace
get_file_contentsGet the contents of a file or directory from a GitLab project
push_filesPush multiple files to a GitLab project in a single commit
search_repositoriesSearch for GitLab projects

Tools Details

Tool: create_branch

Create a new branch in a GitLab project

ParametersTypeDescription
branchstringName for the new branch
project_idstringProject ID or URL-encoded path
refstringoptionalSource branch/commit for new branch

Tool: create_issue

Create a new issue in a GitLab project

ParametersTypeDescription
project_idstringProject ID or URL-encoded path
titlestringIssue title
assignee_idsarrayoptionalArray of user IDs to assign
descriptionstringoptionalIssue description
labelsarrayoptionalArray of label names
milestone_idnumberoptionalMilestone ID to assign

Tool: create_merge_request

Create a new merge request in a GitLab project

ParametersTypeDescription
project_idstringProject ID or URL-encoded path
source_branchstringBranch containing changes
target_branchstringBranch to merge into
titlestringMerge request title
allow_collaborationbooleanoptionalAllow commits from upstream members
descriptionstringoptionalMerge request description
draftbooleanoptionalCreate as draft merge request

Tool: create_or_update_file

Create or update a single file in a GitLab project

ParametersTypeDescription
branchstringBranch to create/update the file in
commit_messagestringCommit message
contentstringContent of the file
file_pathstringPath where to create/update the file
project_idstringProject ID or URL-encoded path
previous_pathstringoptionalPath of the file to move/rename

Tool: create_repository

Create a new GitLab project

ParametersTypeDescription
namestringRepository name
descriptionstringoptionalRepository description
initialize_with_readmebooleanoptionalInitialize with README.md
visibilitystringoptionalRepository visibility level

Tool: fork_repository

Fork a GitLab project to your account or specified namespace

ParametersTypeDescription
project_idstringProject ID or URL-encoded path
namespacestringoptionalNamespace to fork to (full path)

Tool: get_file_contents

Get the contents of a file or directory from a GitLab project

ParametersTypeDescription
file_pathstringPath to the file or directory
project_idstringProject ID or URL-encoded path
refstringoptionalBranch/tag/commit to get contents from

Tool: push_files

Push multiple files to a GitLab project in a single commit

ParametersTypeDescription
branchstringBranch to push to
commit_messagestringCommit message
filesarrayArray of files to push
project_idstringProject ID or URL-encoded path

Tool: search_repositories

Search for GitLab projects

ParametersTypeDescription
searchstringSearch query
pagenumberoptionalPage number for pagination (default: 1)
per_pagenumberoptionalNumber of results per page (default: 20)

Use this MCP Server

{
  "mcpServers": {
    "gitlab": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITLAB_API_URL",
        "-e",
        "GITLAB_PERSONAL_ACCESS_TOKEN",
        "mcp/gitlab"
      ],
      "env": {
        "GITLAB_API_URL": "https://gitlab.com/api/v4",
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers