MCP Server for the GitLab API, enabling project management, file operations, and more.
10K+
MCP Server for the GitLab API, enabling project management, file operations, and more.
| Attribute | Details |
|---|---|
| Docker Image | mcp/gitlab |
| Author | modelcontextprotocol |
| Repository | https://github.com/modelcontextprotocol/servers |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/modelcontextprotocol/servers/blob/b4ee623039a6c60053ce67269701ad9e95073306/src/gitlab/Dockerfile |
| Commit | b4ee623039a6c60053ce67269701ad9e95073306 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/gitlab --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
create_branch | Create a new branch in a GitLab project |
create_issue | Create a new issue in a GitLab project |
create_merge_request | Create a new merge request in a GitLab project |
create_or_update_file | Create or update a single file in a GitLab project |
create_repository | Create a new GitLab project |
fork_repository | Fork a GitLab project to your account or specified namespace |
get_file_contents | Get the contents of a file or directory from a GitLab project |
push_files | Push multiple files to a GitLab project in a single commit |
search_repositories | Search for GitLab projects |
create_branchCreate a new branch in a GitLab project
| Parameters | Type | Description |
|---|---|---|
branch | string | Name for the new branch |
project_id | string | Project ID or URL-encoded path |
ref | string optional | Source branch/commit for new branch |
create_issueCreate a new issue in a GitLab project
| Parameters | Type | Description |
|---|---|---|
project_id | string | Project ID or URL-encoded path |
title | string | Issue title |
assignee_ids | array optional | Array of user IDs to assign |
description | string optional | Issue description |
labels | array optional | Array of label names |
milestone_id | number optional | Milestone ID to assign |
create_merge_requestCreate a new merge request in a GitLab project
| Parameters | Type | Description |
|---|---|---|
project_id | string | Project ID or URL-encoded path |
source_branch | string | Branch containing changes |
target_branch | string | Branch to merge into |
title | string | Merge request title |
allow_collaboration | boolean optional | Allow commits from upstream members |
description | string optional | Merge request description |
draft | boolean optional | Create as draft merge request |
create_or_update_fileCreate or update a single file in a GitLab project
| Parameters | Type | Description |
|---|---|---|
branch | string | Branch to create/update the file in |
commit_message | string | Commit message |
content | string | Content of the file |
file_path | string | Path where to create/update the file |
project_id | string | Project ID or URL-encoded path |
previous_path | string optional | Path of the file to move/rename |
create_repositoryCreate a new GitLab project
| Parameters | Type | Description |
|---|---|---|
name | string | Repository name |
description | string optional | Repository description |
initialize_with_readme | boolean optional | Initialize with README.md |
visibility | string optional | Repository visibility level |
fork_repositoryFork a GitLab project to your account or specified namespace
| Parameters | Type | Description |
|---|---|---|
project_id | string | Project ID or URL-encoded path |
namespace | string optional | Namespace to fork to (full path) |
get_file_contentsGet the contents of a file or directory from a GitLab project
| Parameters | Type | Description |
|---|---|---|
file_path | string | Path to the file or directory |
project_id | string | Project ID or URL-encoded path |
ref | string optional | Branch/tag/commit to get contents from |
push_filesPush multiple files to a GitLab project in a single commit
| Parameters | Type | Description |
|---|---|---|
branch | string | Branch to push to |
commit_message | string | Commit message |
files | array | Array of files to push |
project_id | string | Project ID or URL-encoded path |
search_repositoriesSearch for GitLab projects
| Parameters | Type | Description |
|---|---|---|
search | string | Search query |
page | number optional | Page number for pagination (default: 1) |
per_page | number optional | Number of results per page (default: 20) |
{
"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>"
}
}
}
}
Content type
Image
Digest
sha256:a1b8571a2…
Size
57.9 MB
Last updated
8 months ago
Requires Docker Desktop 4.37.1 or later.
Pulls:
536
Last week