# MCP Gitlab [Health: Active]

**Category:** 🔄 Version Control  
**Repository:** https://github.com/crunchtools/mcp-gitlab  
**GitHub Stars:** 2  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mcp-gitlab

## Description
Secure MCP server for GitLab projects, merge requests, issues, and pipelines

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "mcp-gitlab": {
    "command": "uvx",
    "args": ["mcp-gitlab-crunchtools"],
    "env": {
      "GITLAB_TOKEN": "",
      "GITLAB_URL": "",
      "SSL_CERT_FILE": "",
      "GITLAB_SSL_VERIFY": ""
    }
  }
}
```

**Requires environment variables:** `GITLAB_TOKEN`, `GITLAB_URL`, `SSL_CERT_FILE`, `GITLAB_SSL_VERIFY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What MCP Gitlab MCP server does

MCP Gitlab MCP server connects an MCP-compatible agent to GitLab through the GitLab REST API. It covers project and group discovery, repository branches and commits, merge requests, issues, CI/CD pipelines, and resource search. Both gitlab.com and custom GitLab URLs are supported, making it suitable for self-hosted and enterprise deployments.

Read operations include listing and retrieving projects, groups, branches, commits, merge requests, issues, pipelines, jobs, comments, and job logs. Write operations can create or update merge requests and issues, and can add notes to either. Search can run across accessible GitLab resources or within one project.

## How it works

The MCP Gitlab MCP server runs locally through stdio, so the GitLab token is kept on the machine running the process rather than sent to a third-party service. An MCP client starts the command and supplies `GITLAB_TOKEN` through the environment. The server then translates tool calls into GitLab API requests.

Inputs are checked with Pydantic models. The implementation also documents a threat model, stores the token as a `SecretStr`, sanitizes it from errors, validates project and group identifiers, and blocks path traversal. Requests use timeouts and response-size limits. HTTPS and certificate validation are enabled by default, except for localhost behavior described by the project.

## Setup and configuration

The recommended package-based launch command is `uvx mcp-gitlab-crunchtools`. You can also install `mcp-gitlab-crunchtools` with pip, or run `quay.io/crunchtools/mcp-gitlab` with Podman. The container requires the token to be passed into its environment.

Set `GITLAB_TOKEN` to a GitLab personal access token. A `read_api` scope supports listing and viewing resources; the `api` scope is needed for the documented create and update features. `GITLAB_URL` defaults to `https://gitlab.com` and can point to another GitLab instance. For an internal certificate authority, set `SSL_CERT_FILE` to a CA bundle path. `GITLAB_SSL_VERIFY` defaults to true; disabling it is not recommended.

The README gives a Claude Code configuration using `claude mcp add` and the uvx command, with an alternative Podman form. It also shows how to provide a self-hosted URL. The project supports Linux, macOS, and Windows.

## Tools and capabilities

The MCP Gitlab MCP server provides 27 listed tools across these areas:

- Projects: filter and search projects, retrieve project details, and inspect branches and commits.
- Groups: list or retrieve groups and list their projects, including subgroup support.
- Merge requests: filter and retrieve MRs, create or update them, list or add notes, and inspect changes.
- Issues: filter and retrieve issues, create or update them, and list or add notes.
- Pipelines: filter and retrieve pipelines, list pipeline jobs, and read job output.
- Search: search all accessible GitLab resources or search within a selected project.

Use read-only token scopes when an agent only needs visibility. Grant the broader API scope only when the workflow requires mutations such as creating issues or updating merge requests.

_Full upstream README: https://allmcps.com/mcp/mcp-gitlab/readme_

