Explore
Contribute
Sign In

Explore

  1. Explore
  2. /
  3. Developer Tools
  4. /
  5. GitLab (Archived)

GitLab (Archived)

GitLab (Archived)

mcp

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

10K+

9 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

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

OverviewTools (9)ConfigManual installation
Docker Hub⁠Github repository⁠

Use cases

Create a new branch in a GitLab project

Create a new issue in a GitLab project

Create a new merge request in a GitLab project

Create or update a single file in a GitLab project

Create a new GitLab project

Fork a GitLab project to your account or specified namespace

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

Push multiple files to a GitLab project in a single commit

Search for GitLab projects

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

© 2025 Docker, Inc. All rights reserved. | Terms of Service | Subscription Service Agreement | Privacy | Legal