# gitlab-mcp [Health: Active]

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

## Description
GitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.

## Tools
Capabilities this server exposes over MCP:

- **mcp-remote**
- **X-Gitlab-Enabled-Mcp-Server-Toolsets**
- **X-Gitlab-Mcp-Server-Tool-Name-Prefix**

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What gitlab-mcp does

gitlab-mcp exposes GitLab operations to MCP-compatible AI clients. Its coverage includes projects, merge requests, issues, pipelines, wiki content, releases, tags, and milestones. The package provides 277 tools in total: 275 organized into toolsets, plus `execute_graphql` and `discover_tools`.

The server is aimed at agent workflows that need to retrieve GitLab data, carry out GitLab changes, or follow structured review processes. A built-in Agent Skill supplies workflow guidance, and merge request review can use a two-stage process: first identify changed files, then request file diffs in batches.

## How it works

Local clients can launch the `zereight-mcp-gitlab` binary over stdio. Remote deployments can use SSE for older clients or Streamable HTTP for newer remote MCP clients. The server can target GitLab.com or a self-hosted GitLab installation through a configurable API URL, with proxy support and dynamic API URL routing.

Authentication options include a personal access token, a local OAuth2 browser flow, an MCP OAuth proxy, and authorization supplied for individual remote requests. Read-only mode is available when agents should inspect GitLab without making changes.

Toolsets keep the initial tool selection smaller. Additional tools can be activated at runtime with `discover_tools`, while `execute_graphql` provides a direct GraphQL capability. Tool calls can optionally apply JMESPath filtering to reduce returned JSON without changing the underlying GitLab API request.

## Setup and configuration

Install the npm package globally with `npm install -g @zereight/mcp-gitlab`, or install the binary through Homebrew using the `zereight/gitlab-mcp` tap. The executable is named `zereight-mcp-gitlab`.

A typical local configuration supplies `GITLAB_PERSONAL_ACCESS_TOKEN` and sets `GITLAB_API_URL` to `https://gitlab.com/api/v4`. Claude Code and Codex can register the server with their MCP commands; Cursor and VS Code provide client-specific setup paths. JSON-based MCP clients can configure the same stdio command and environment variables.

The package requires Node.js 18.17 or newer. Custom GitLab servers should use their own API v4 endpoint in `GITLAB_API_URL`.

## Tools and capabilities

- Manage and inspect GitLab projects.
- Work with merge requests, including changed-file discovery and batched file diffs.
- Read and manage issues, pipelines, wiki content, releases, tags, and milestones.
- Execute GraphQL requests through `execute_graphql`.
- Discover and activate additional tools at runtime with `discover_tools`.
- Filter tool results with optional JMESPath expressions.

The server supports Claude Code, Codex, Cursor, VS Code, Cline, Roo Code, and other MCP clients that can run stdio or connect through its remote transports.

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

