Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitLab MCPShow me the workload report for the project team"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GitLab MCP
A Model Context Protocol (MCP) server that exposes GitLab project management capabilities to AI assistants like Claude.
Overview
This project provides an MCP server built with FastMCP that connects to a GitLab project and exposes tools for managing issues, milestones, members, and generating team reports — all accessible directly from Claude Desktop or Claude Code.
Goal
The goal is to give AI assistants a structured, read/write interface into GitLab so that team leads and developers can manage their projects through natural language. Instead of navigating the GitLab UI, you can ask Claude to list open issues, create a new issue, check milestone progress, or generate a team workload report.
Available Tools
Tool | Description |
| Fetch high-level project info |
| List all members of the project |
| List issues with optional filters |
| Get details of a specific issue |
| Create a new issue |
| Edit an existing issue |
| Add a comment to an issue |
| List project milestones |
| Get details of a specific milestone |
| Report on issue distribution across members |
| Summary report for a milestone |
Setup
Prerequisites
Python 3.14+
uv package manager
A GitLab account with a Personal Access Token (PAT)
Install dependencies
uv syncConfigure environment
Create a .env file in the project root:
GITLAB_URL=https://gitlab.com
GITLAB_PAT=your_personal_access_token
GITLAB_PROJECT_ID=your_project_idGITLAB_URL: Your GitLab instance URL (usehttps://gitlab.comfor GitLab.com)GITLAB_PAT: A GitLab Personal Access Token withapiscopeGITLAB_PROJECT_ID: The numeric ID ornamespace/projectpath of your project
Claude Desktop Setup
Add the following to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"gitlab": {
"command": "uv",
"args": [
"--project",
"/absolute/path/to/gitlab-mcp",
"run",
"/absolute/path/to/gitlab-mcp/main.py"
],
"cwd": "/absolute/path/to/gitlab-mcp",
"env": { // Or put into .env
"GITLAB_URL": "https://gitlab.com",
"GITLAB_PAT": "your_personal_access_token",
"GITLAB_PROJECT_ID": "your_project_id"
}
}
}
}Restart Claude Desktop after saving the config. The GitLab tools will appear in Claude's tool list.
Claude Code Setup
Add the MCP server to Claude Code by running:
claude mcp add gitlab -- uv --directory /absolute/path/to/gitlab-mcp run main.pyThen set the required environment variables either in your shell profile or by passing them inline:
GITLAB_URL=https://gitlab.com \
GITLAB_PAT=your_personal_access_token \
GITLAB_PROJECT_ID=your_project_id \
claude mcp add gitlab -- uv --directory /absolute/path/to/gitlab-mcp run main.pyYou can verify the server is registered with:
claude mcp listTodo
Merge Request support — Add tools for listing, creating, reviewing, and merging MRs (
list_merge_requests,get_merge_request,create_merge_request,approve_merge_request,merge)
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.