Skip to main content
Glama

GitLab MCP Server

CI codecov

MCP (Model Context Protocol) server for AI-assisted code review with GitLab on-premise instances.

Features

Merge Request Tools

  • List, get, create, update merge requests

  • Set MR draft status

  • List changed files, get one file's diff or all MR changes

  • Get MR commits and pipelines

  • Get notes and discussions, add notes, start discussions on the MR or on a diff line

  • Reply to, resolve, edit and delete comments

  • Approve, unapprove, merge MRs

Repository Tools

  • List projects

  • Browse repository tree

  • Get file content, whole or by line range, and blame

  • Search code

  • List branches and commits

Related MCP server: GitLab MCP Server

Security Model

Uses OAuth with intersection-based access control:

  • User authenticates via GitLab OAuth

  • AI access limited to repos both user AND service account can access

  • All API calls made with service account token for audit trail

Prerequisites

  • Python 3.11+

  • GitLab instance with OAuth application configured

  • SSL certificate for HTTPS

Setup

1. GitLab OAuth Application

Create in GitLab Admin > Applications:

  • Redirect URI: https://<server-host>:<port>/oauth/callback

  • Scopes: read_user, read_api, read_repository, api (for write operations)

  • Confidential: Yes

2. Secrets File

Create a JSON file with credentials:

{
  "oauth_client_id": "<gitlab-oauth-app-id>",
  "oauth_client_secret": "<gitlab-oauth-app-secret>",
  "service_token": "<service-account-personal-access-token>"
}

3. Environment Variables

Variable

Required

Description

GITLAB_URL

yes

GitLab instance URL

GITLAB_SECRETS_PATH

yes

Path to secrets JSON file

MCP_SERVER_BIND_URL

yes

Bind URL with protocol and port (e.g., https://0.0.0.0:8443 or http://0.0.0.0:8080)

MCP_SERVER_ADVERTISED_URL

yes

Client-facing URL (e.g., https://mcp.example.com:8443)

MCP_SSL_CERT_PATH

when bind uses https

Path to SSL certificate

MCP_SSL_KEY_PATH

when bind uses https

Path to SSL private key

SSL_CERT_FILE

no

CA certificate for GitLab (self-signed certs)

4. Install

pip install .

Running

gitlab-mcp

Docker

Each release is published to the GitHub Container Registry:

docker pull ghcr.io/synclyai/gitlab-mcp:1.1.1
docker pull ghcr.io/synclyai/gitlab-mcp:latest

To build locally instead, the image installs a pre-built wheel and dist/ is the build context:

make image

Equivalent to building the wheel into an emptied dist/ and running docker build -f Dockerfile -t ghcr.io/synclyai/gitlab-mcp:<version> dist/, so a local build carries the same name as the published image. The wheel is built with venv/bin/python, so the dev extra must be installed.

Development

pip install -e ".[dev]"
pytest

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides GitLab integration for AI assistants using Model Context Protocol, enabling repository operations, file management, issue tracking, merge requests, and branch/tag administration through natural language.
    2
    -
  • A
    license
    B
    quality
    B
    maintenance
    Enables AI-powered exploration and interaction with GitLab instances through comprehensive search, code browsing, and repository management. Supports both self-hosted and GitLab.com with flexible authentication for read and write operations.
    63
    166 npm
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Integrates GitLab with AI assistants to manage merge requests, analyze CI/CD pipelines, and create Architecture Decision Records. It enables seamless code searching, pipeline triggering, and deployment management through the Model Context Protocol.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with GitLab by wrapping the REST API v4 into executable tools for repository and branch management. It supports operations like creating projects, managing branches, and retrieving user information through the Model Context Protocol.
    11 npm
    1
    ISC