Skip to main content
Glama

gitlab-mcp

MCP-сервер для API GitLab. Работает с self-hosted экземплярами GitLab и gitlab.com.

Предоставляет инструменты для работы с задачами, запросами на слияние, проверкой кода, конвейерами, этапами, релизами, поиском и доступом к файлам.

Предварительные требования

  • Node.js >= 18

  • npm

  • Персональный токен доступа GitLab (Personal Access Token) с областью действия api

Related MCP server: GitLab MCP Server

Установка

git clone <repo-url> gitlab-mcp
cd gitlab-mcp
npm install
npm run build

Конфигурация

Создайте config.json в корне проекта:

{
  "token": "glpat-your-token-here",
  "apiUrl": "https://your-gitlab-instance.com/api/v4"
}

Для gitlab.com используйте "apiUrl": "https://gitlab.com/api/v4" или полностью опустите это поле.

Альтернативно, вместо использования config.json можно задать переменные окружения:

export GITLAB_PERSONAL_ACCESS_TOKEN="glpat-your-token-here"
export GITLAB_API_URL="https://your-gitlab-instance.com/api/v4"

Создание токена GitLab

  1. Перейдите в GitLab > Settings > Access Tokens

  2. Создайте токен с областью действия api

  3. Скопируйте токен в config.json

Добавление в Claude Code

Добавьте сервер в настройки MCP Claude Code (~/.claude/settings.json или .claude/settings.local.json на уровне проекта):

{
  "mcpServers": {
    "gitlab": {
      "command": "node",
      "args": ["/absolute/path/to/gitlab-mcp/index.js"]
    }
  }
}

Перезапустите Claude Code или выполните /mcp для подключения.

Доступные инструменты

Задачи (Issues)

Инструмент

Описание

gitlab_get_issue

Получить одну задачу по проекту и IID

gitlab_list_group_issues

Список задач в группе с фильтрами (состояние, метки, исполнитель, поиск, этап)

gitlab_list_milestone_issues

Список задач в рамках этапа

gitlab_create_issue

Создать новую задачу

gitlab_update_issue

Обновить задачу (состояние, заголовок, описание, метки, исполнитель, этап)

gitlab_add_comment

Добавить комментарий к задаче

Запросы на слияние (Merge Requests)

Инструмент

Описание

gitlab_list_merge_requests

Список MR с фильтрами (состояние, автор, рецензент, исполнитель, дата, целевая ветка). Проект необязателен — опустите для поиска по всем проектам.

gitlab_get_merge_request

Получить один MR по проекту и IID

gitlab_get_mr_changes

Получить diff / измененные файлы MR

gitlab_list_mr_notes

Список комментариев/заметок к MR

gitlab_add_mr_note

Добавить общий комментарий к MR

gitlab_create_mr_discussion

Создать встроенный комментарий к diff в конкретном файле и строке

Проекты, этапы, релизы

Инструмент

Описание

gitlab_list_projects

Список проектов в группе

gitlab_list_milestones

Список этапов в группе

gitlab_list_releases

Список релизов для проекта

Поиск и файлы

Инструмент

Описание

gitlab_search

Поиск внутри проекта (код, задачи, MR, коммиты, заметки)

gitlab_get_file

Получить содержимое файла из репозитория

gitlab_list_pipelines

Список CI/CD конвейеров с фильтрами (статус, ссылка)

Универсальный способ доступа

Инструмент

Описание

gitlab_api_request

Вызвать любой endpoint REST API GitLab напрямую. Используйте, если нет специализированного инструмента. Принимает method (GET/POST/PUT/PATCH/DELETE), path (например, /projects/93/merge_requests/2387/notes/74875) и необязательный body.

Пример — редактирование существующей заметки к MR:

gitlab_api_request({
  method: "PUT",
  path: "/projects/93/merge_requests/2387/notes/74875",
  body: { body: "Updated comment text" }
})

Пример использования в Claude Code

> Review MR !2397 in octopus/reunion/client

Claude will use gitlab_get_merge_request, gitlab_get_mr_changes,
and gitlab_create_mr_discussion to review and leave inline comments.

Разработка

# Edit index.ts, then rebuild
npm run build

# Reconnect in Claude Code
/mcp

Related MCP Connectors

Related MCP Servers