Server Gitlab logo

Server Gitlab

by modelcontextprotocol

GitLab platform integration for project management and CI/CD operations

  • Ownership verifiedThe owner proved control of this listing via a GitHub README, site badge, or DNS TXT record.
  • UnverifiedWe have not yet confirmed this server installs or runs.
  • Health: Not checked yetWe have not completed a health check for this listing yet.Last checked 8/2/2026, 4:17:49 PM
  • Version Control
  • 293stars
  • No ratings User RatingsBe the first to rate and review this MCP server!
  • 4installs
  • UpdatedJul 28, 2026
  • Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time — check back soon.

Install Server Gitlab

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for modelcontextprotocol/server-gitlab, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

Not checked yetLast checked 3mo ago

We have not completed a health check for this listing yet.

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars293Stargazers on the source repository.
Directory activity4 installs · 3 upvotesConfig copies, upvotes, and views on AllMCPs.

From the project README

GitLab MCP Server

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

Features

  • Automatic Branch Creation: When creating/updating files or pushing changes, branches are automatically created if they don't exist
  • Comprehensive Error Handling: Clear error messages for common issues
  • Git History Preservation: Operations maintain proper Git history without force pushing
  • Batch Operations: Support for both single-file and multi-file operations

Tools

  1. create_or_update_file

    • Create or update a single file in a project
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • file_path (string): Path where to create/update the file
      • content (string): Content of the file
      • commit_message (string): Commit message
      • branch (string): Branch to create/update the file in
      • previous_path (optional string): Path of the file to move/rename
    • Returns: File content and commit details
  2. push_files

    • Push multiple files in a single commit
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • branch (string): Branch to push to
      • files (array): Files to push, each with file_path and content
      • commit_message (string): Commit message
    • Returns: Updated branch reference
  3. search_repositories

    • Search for GitLab projects
    • Inputs:
      • search (string): Search query
      • page (optional number): Page number for pagination
      • per_page (optional number): Results per page (default 20)
    • Returns: Project search results
  4. create_repository

    • Create a new GitLab project
    • Inputs:
      • name (string): Project name
      • description (optional string): Project description
      • visibility (optional string): 'private', 'internal', or 'public'
      • initialize_with_readme (optional boolean): Initialize with README
    • Returns: Created project details
  5. get_file_contents

    • Get contents of a file or directory
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • file_path (string): Path to file/directory
      • ref (optional string): Branch/tag/commit to get contents from
    • Returns: File/directory contents
  6. create_issue

    • Create a new issue
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • title (string): Issue title
      • description (optional string): Issue description
      • assignee_ids (optional number[]): User IDs to assign
      • labels (optional string[]): Labels to add
      • milestone_id (optional number): Milestone ID
    • Returns: Created issue details
  7. create_merge_request

    • Create a new merge request
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • title (string): MR title
      • description (optional string): MR description
      • source_branch (string): Branch containing changes
      • target_branch (string): Branch to merge into
      • draft (optional boolean): Create as draft MR
      • allow_collaboration (optional boolean): Allow commits from upstream members
    • Returns: Created merge request details
  8. fork_repository

    • Fork a project
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • namespace (optional string): Namespace to fork to
    • Returns: Forked project details
  9. create_branch

    • Create a new branch
    • Inputs:
      • project_id (string): Project ID or URL-encoded path
      • branch (string): Name for new branch
      • ref (optional string): Source branch/commit for new branch
    • Returns: Created branch reference

Setup

Personal Access Token

Create a GitLab Personal Access Token with appropriate permissions:

  • Go to User Settings > Access Tokens in GitLab
  • Select the required scopes:
    • api for full API access
    • read_api for read-only access
    • read_repository and write_repository for repository operations
  • Create the token and save it securely

Usage with Claude Desktop

Add the following to your claude_desktop_config.json:

Docker

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

NPX

config.json
{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
        "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances
      }
    }
  }
}

Usage with VS Code

For quick installation, use one of the one-click installation buttons below...

Install with NPX in VS Code Install with NPX in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

Note that the mcp key is not needed in the .vscode/mcp.json file.

Docker

config.json
{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "gitlab_token",
        "description": "GitLab Personal Access Token",
        "password": true
      },
      {
        "type": "promptString",
        "id": "gitlab_url",
        "description": "GitLab API URL (optional)",
        "default": "https://gitlab.com/api/v4"
      }
    ],
    "servers": {
      "gitlab": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "mcp/gitlab"
        ],
        "env": {
          "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}",
          "GITLAB_API_URL": "${input:gitlab_url}"
        }
      }
    }
  }
}

NPX

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Server Gitlab

We don't have a confirmed install command for modelcontextprotocol/server-gitlab yet, so we don't publish a generated one — a guessed package name would point at the wrong package or none at all. Follow the project's own README or setup instructions (https://github.com/modelcontextprotocol/servers-archived/tree/main/src/gitlab) for the current steps.

GitLab platform integration for project management and CI/CD operations

We don't have confirmed pricing for modelcontextprotocol/server-gitlab. Listing it on AllMCPs is free, but that says nothing about what the server itself costs — check the project's own site for current pricing.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewServer Gitlab AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/modelcontextprotocol-server-gitlab?style=directory)](https://allmcps.com/mcp/modelcontextprotocol-server-gitlab)
HTML Embed
<a href="https://allmcps.com/mcp/modelcontextprotocol-server-gitlab"><img src="https://allmcps.com/api/badge/modelcontextprotocol-server-gitlab?style=directory" alt="Server Gitlab on AllMCPs" /></a>