mcp/gitlab

Verified Publisher

By mcp

Updated 8 months ago

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

Image
Machine learning & AI
22

10K+

mcp/gitlab repository overview

GitLab (Archived) MCP Server

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

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/modelcontextprotocol/servers/blob/b4ee623039a6c60053ce67269701ad9e95073306/src/gitlab/Dockerfile
Commitb4ee623039a6c60053ce67269701ad9e95073306
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
refstring optionalSource 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_idsarray optionalArray of user IDs to assign
descriptionstring optionalIssue description
labelsarray optionalArray of label names
milestone_idnumber optionalMilestone 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_collaborationboolean optionalAllow commits from upstream members
descriptionstring optionalMerge request description
draftboolean optionalCreate 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_pathstring optionalPath of the file to move/rename

Tool: create_repository

Create a new GitLab project

ParametersTypeDescription
namestringRepository name
descriptionstring optionalRepository description
initialize_with_readmeboolean optionalInitialize with README.md
visibilitystring optionalRepository visibility level

Tool: fork_repository

Fork a GitLab project to your account or specified namespace

ParametersTypeDescription
project_idstringProject ID or URL-encoded path
namespacestring optionalNamespace 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
refstring optionalBranch/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
pagenumber optionalPage number for pagination (default: 1)
per_pagenumber optionalNumber 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?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:a1b8571a2

Size

57.9 MB

Last updated

8 months ago

Requires Docker Desktop 4.37.1 or later.

This week's pulls

Pulls:

536

Last week