GitHub release GitHub Downloads Coverage coverage Snapshot Build Release Build Vulnerability Scan License

GitLab MCP Server

A Model Context Protocol (MCP) server that provides GitLab integration tools for Claude Code. Interact with GitLab projects, issues, epics, and CI/CD pipelines directly from Claude.

Features

  • Issue Management: List, create, update issues, and add comments
  • Label Management: List and manage project labels with filtering
  • Project Management: View and update project descriptions and topics
  • Project Discovery: List all projects of a group recursively, including every subgroup
  • Epic Management: List and create epics (Premium/Ultimate tier)
  • CI/CD Integration: Monitor pipelines, view job logs, and download traces
  • Direct Project Access: Use project paths (namespace/project-name) without ID resolution
  • MCP Architecture: Seamless integration with Claude Code via stdio communication

Quick Start

Prerequisites

  • GitLab personal access token with api, read_api, and write_api scopes
  • Claude Code CLI installed
  • Docker (optional, for containerized deployment)

Detailed setup instructions →

Installation

# Install via Homebrew (Recommended for macOS/Linux)
brew tap sgaunet/homebrew-tools
brew install sgaunet/tools/gitlab-mcp

Configuration

# Set your GitLab token
export GITLAB_TOKEN=your_personal_access_token

# Optional: For self-hosted GitLab
export GITLAB_URI=https://your.gitlab.instance

Add to Claude Code

Register the server once for all your projects (-s user):

claude mcp add gitlab-mcp -s user -- gitlab-mcp

This assumes gitlab-mcp is in your PATH (the case after a Homebrew install). If Claude Code cannot find the binary, pass the absolute path instead:

# Apple Silicon Mac
claude mcp add gitlab-mcp -s user -- /opt/homebrew/bin/gitlab-mcp

# Intel Mac / Linux
claude mcp add gitlab-mcp -s user -- /usr/local/bin/gitlab-mcp

Pass the token explicitly with -e if it isn't exported in the environment Claude Code inherits:

claude mcp add gitlab-mcp -s user \
  -e GITLAB_TOKEN=your_personal_access_token \
  -e GITLAB_URI=https://your.gitlab.instance \
  -- gitlab-mcp

Verify the server is connected:

claude mcp list

Other scopes: -s local (current project only, default) or -s project (shared via the project's .mcp.json). See the setup guide for Docker-based registration and manual mcp.json configuration.

CLI Flags (Optional)

Optimize token usage by disabling tool categories you don't need:

# Example: CI/CD debugging only
gitlab-mcp --no-issues --no-labels --no-project-metadata --no-epics

# Example: Issue management only
gitlab-mcp --no-project-metadata --no-epics --no-pipelines

Append the flags after the -- separator when registering the server:

claude mcp add gitlab-mcp -s user -- gitlab-mcp --no-epics --no-pipelines

Available flags: --no-issues, --no-labels, --no-project-metadata, --no-epics, --no-pipelines, --no-merge-requests, --no-projects

Complete CLI configuration →

First Usage

List all open issues for project myorg/myproject
Create an issue with title "Bug fix needed" for project myorg/myproject
Get the latest pipeline for myorg/myproject
List all projects of the myorg group

Documentation

Available Tools

Tool Description
list_issues List project and group issues with filtering
create_issues Create new issues with labels and assignees
update_issues Update issue title, description, state, labels
add_issue_note Add comments to issues
list_labels List project labels with optional filtering
list_group_projects List all projects of a group, subgroups included
get_project_description Get project description
update_project_description Update project description
get_project_topics Get project topics/tags
update_project_topics Update project topics/tags
list_epics List epics for a group (Premium/Ultimate)
create_epic Create epics (Premium/Ultimate)
get_latest_pipeline Get latest CI/CD pipeline
list_pipeline_jobs List pipeline jobs with filtering
get_job_log Get complete job log output
download_job_trace Download job logs to files

Complete tool documentation →

License

MIT License. See LICENSE for details.

Support

For issues, questions, or feature requests, please create an issue in the repository.