# GitLab MCP Server

Подключает GitLab к агенту: проекты, merge requests, issues, пайплайны, wiki и релизы доступны прямо в чате.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 2065
- Автор: zereight
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/zereight/gitlab-mcp
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/gitlab-mcp-server

## Что делает

Сервер даёт агенту инструменты для работы с GitLab через API. По умолчанию включены 40 инструментов: 38 базовых плюс `discover_tools` и `help`. Всего в наборах 278, и лишние можно подтянуть вызовом `discover_tools` — набор `api` лучше не включать, пока не готовы принять риск обхода ограничений.

Ставится бинарник `zereight-mcp-gitlab`: `npm install -g @zereight/mcp-gitlab`, Homebrew или разовый запуск через `npx -y @zereight/mcp-gitlab@latest`. Дальше регистрируете сервер в клиенте — для Claude это `claude mcp add`, для Codex `codex mcp add`, для Cursor и Copilot правится JSON конфига. Нужен токен: локально проще всего `GITLAB_PERSONAL_ACCESS_TOKEN`, можно читать его из файла через `GITLAB_PERSONAL_ACCESS_TOKEN_FILE` или включить OAuth.

Пути к проектам задаются как `project_id=group%2Fproject`, вложенные группы разделяются `%2F` на каждом сегменте, merge request — `merge_request_iid=123`. Есть и путь без MCP: скилл плюс CLI, где ответы приходят целиком, без сжатия. Разрушительные инструменты требуют флага `--yes`.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `GITLAB_PERSONAL_ACCESS_TOKEN`, `GITLAB_PERSONAL_ACCESS_TOKEN_FILE`, `GITLAB_JOB_TOKEN`, `GITLAB_AUTH_COOKIE_PATH`, `GITLAB_USE_OAUTH`, `GITLAB_OAUTH_CLIENT_ID`, `GITLAB_OAUTH_TOKEN_SCRIPT`, `GITLAB_API_URL`, `GITLAB_ALLOWED_PROJECT_IDS`, `GITLAB_PERMISSION_MODE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.
- Работает с: GitLab

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env GITLAB_PERSONAL_ACCESS_TOKEN=<GITLAB_PERSONAL_ACCESS_TOKEN> --env GITLAB_PERSONAL_ACCESS_TOKEN_FILE=<GITLAB_PERSONAL_ACCESS_TOKEN_FILE> --env GITLAB_JOB_TOKEN=<GITLAB_JOB_TOKEN> --env GITLAB_AUTH_COOKIE_PATH=<GITLAB_AUTH_COOKIE_PATH> --env GITLAB_USE_OAUTH=<GITLAB_USE_OAUTH> --transport stdio gitlab-mcp-server -- npx -y @zereight/mcp-gitlab
```
Вместо <…> подставьте свои значения. Ещё 16 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add gitlab-mcp-server --env GITLAB_PERSONAL_ACCESS_TOKEN=<GITLAB_PERSONAL_ACCESS_TOKEN> --env GITLAB_PERSONAL_ACCESS_TOKEN_FILE=<GITLAB_PERSONAL_ACCESS_TOKEN_FILE> --env GITLAB_JOB_TOKEN=<GITLAB_JOB_TOKEN> --env GITLAB_AUTH_COOKIE_PATH=<GITLAB_AUTH_COOKIE_PATH> --env GITLAB_USE_OAUTH=<GITLAB_USE_OAUTH> -- npx -y @zereight/mcp-gitlab
```
Вместо <…> подставьте свои значения. Ещё 16 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "gitlab-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@zereight/mcp-gitlab"
            ],
            "env": {
                "GITLAB_PERSONAL_ACCESS_TOKEN": "<GITLAB_PERSONAL_ACCESS_TOKEN>",
                "GITLAB_PERSONAL_ACCESS_TOKEN_FILE": "<GITLAB_PERSONAL_ACCESS_TOKEN_FILE>",
                "GITLAB_JOB_TOKEN": "<GITLAB_JOB_TOKEN>",
                "GITLAB_AUTH_COOKIE_PATH": "<GITLAB_AUTH_COOKIE_PATH>",
                "GITLAB_USE_OAUTH": "<GITLAB_USE_OAUTH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 16 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "gitlab-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@zereight/mcp-gitlab"
            ],
            "env": {
                "GITLAB_PERSONAL_ACCESS_TOKEN": "<GITLAB_PERSONAL_ACCESS_TOKEN>",
                "GITLAB_PERSONAL_ACCESS_TOKEN_FILE": "<GITLAB_PERSONAL_ACCESS_TOKEN_FILE>",
                "GITLAB_JOB_TOKEN": "<GITLAB_JOB_TOKEN>",
                "GITLAB_AUTH_COOKIE_PATH": "<GITLAB_AUTH_COOKIE_PATH>",
                "GITLAB_USE_OAUTH": "<GITLAB_USE_OAUTH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 16 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e GITLAB_PERSONAL_ACCESS_TOKEN=<GITLAB_PERSONAL_ACCESS_TOKEN> -e GITLAB_PERSONAL_ACCESS_TOKEN_FILE=<GITLAB_PERSONAL_ACCESS_TOKEN_FILE> -e GITLAB_JOB_TOKEN=<GITLAB_JOB_TOKEN> -e GITLAB_AUTH_COOKIE_PATH=<GITLAB_AUTH_COOKIE_PATH> -e GITLAB_USE_OAUTH=<GITLAB_USE_OAUTH> gitlab-mcp-server npx -y @zereight/mcp-gitlab
```
Вместо <…> подставьте свои значения. Ещё 16 переменных окружения — в README сервера

## Когда брать
- посмотреть изменённые файлы merge request и их диффы
- вытащить лог упавшего job из пайплайна
- создать issue или обновить wiki из чата
- проверить релизы проекта, не открывая браузер
- найти проект по вложенному пути группы

## Примеры запросов агенту
- Покажи изменённые файлы в merge request !123 проекта group%2Fproject
- Достань лог последнего упавшего job в пайплайне
- Создай issue в проекте group%2Fsubgroup%2Fproject с описанием бага

## Похожие
- [gitlab-workflow](https://affpapa.org/nevibecode/skills/gitlab-workflow.md) — скилл · 1100 установок
- [gitlab](https://affpapa.org/nevibecode/plugins/gitlab.md) — плагин · ★ 44635
- [gitlab-cli-skills](https://affpapa.org/nevibecode/skills/gitlab-cli-skills.md) — скилл · 1900 установок
- [cyrus-setup-gitlab](https://affpapa.org/nevibecode/skills/cyrus-setup-gitlab.md) — скилл · 785 установок

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
