Skip to main content
Glama
hhldiniz

gitlab-mcp-server

by hhldiniz

gitlab-mcp-server

MCP server for managing GitLab repositories — merge requests, pipelines, branches, and file operations — over the Model Context Protocol.

Features

  • Merge Requests — create, list, get, review diffs, and comment

  • Pipelines — list, get, retry, and cancel

  • Branches — create, delete, list, and inspect

  • Files — push (create/update/delete/move) and read file contents

  • Enterprise support — works with any GitLab instance (set GITLAB_URL)

Related MCP server: gitlab-ci-mcp

Installation

pip install gitlab-mcp-server

Or install from source:

git clone https://github.com/hhldiniz/gitlabmcp.git
cd gitlabmcp
pip install -e .

For tests:

pip install -e ".[test]"

Configuration

Set the following environment variables:

Variable

Required

Default

Description

GITLAB_TOKEN

Yes

GitLab Personal Access Token

GITLAB_URL

No

https://gitlab.com

GitLab instance URL

Usage

Run as a standalone MCP server (stdio)

export GITLAB_TOKEN=glpat-your-token
python -m gitlab_mcp_server

Configure with an MCP client

Add to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "gitlab": {
      "command": "python",
      "args": ["-m", "gitlab_mcp_server"],
      "env": {
        "GITLAB_TOKEN": "glpat-your-token",
        "GITLAB_URL": "https://gitlab.com"
      }
    }
  }
}

Tools

Tool

Description

create_mr

Create a merge request

list_mrs

List merge requests (filter by state)

get_mr

Get merge request details

review_code

Get MR diff/changes for code review

comment_on_mr

Add a note to a merge request

list_pipelines

List pipelines (filter by ref)

get_pipeline

Get pipeline details

retry_pipeline

Retry a failed pipeline

cancel_pipeline

Cancel a running pipeline

create_branch

Create a new branch from a ref

delete_branch

Delete a branch

list_branches

List repository branches

get_branch

Get branch details

push_files

Create/update/delete/move files in a single commit

get_file

Read a file from the repository

Running Tests

python -m pytest tests -v

Project Structure

gitlabmcp/
├── pyproject.toml
├── .env.example
├── client.py                  # Example MCP client
├── src/
│   └── gitlab_mcp_server/
│       ├── __init__.py
│       ├── __main__.py
│       ├── gitlab_client.py   # GitLab API wrapper
│       ├── tools.py           # MCP tool definitions + dispatch
│       └── server.py          # MCP server (stdio transport)
└── tests/
    ├── conftest.py            # Fixtures and mocks
    ├── test_gitlab_client.py
    ├── test_tools.py
    └── test_server.py
F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hhldiniz/gitlabmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server