Skip to main content
Glama
README.md7.15 kB
# GitLab MCP Server Подключите ваш AI-ассистент к GitLab. Задавайте вопросы прямо в чате: _"Покажи открытые merge request'ы"_, _"Покажи ревью для MR #123"_, _"Найди merge request'ы для ветки feature/auth"_. ## 🚀 Быстрая установка ### Требования Проект использует [uv](https://github.com/astral-sh/uv) для управления Python-пакетами. **Установка uv:** ```bash # macOS и Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Или через pip pip install uv ``` ### Установка 1. **Установите сервер:** ```bash git clone https://github.com/FitoDomik/gitlab-mcp-server.git cd gitlab-mcp-server uv venv source .venv/bin/activate # На Windows: .venv\Scripts\activate uv pip install -e . chmod +x run-mcp.sh ``` 2. **Получите токен GitLab:** - Перейдите в GitLab → Settings → Access Tokens - Создайте токен с правами **`read_api`** - Скопируйте токен 3. **Настройте проект:** Создайте файл `gitlab-mcp.env` в директории вашего проекта: ```env GITLAB_PROJECT_ID=12345 GITLAB_ACCESS_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx GITLAB_URL=https://gitlab.com ``` 4. **Подключите к Cursor:** Создайте `.cursor/mcp.json` в вашем проекте: ```json { "mcpServers": { "gitlab-mcp": { "command": "/путь/к/gitlab-mcp-server/run-mcp.sh", "cwd": "/путь/к/вашему-проекту" } } } ``` 5. **Перезапустите Cursor** и начните задавать вопросы о GitLab! ## 💬 Что можно делать После подключения попробуйте эти команды в чате: - _"Покажи открытые merge request'ы"_ - _"Покажи детали merge request #456"_ - _"Покажи ревью и обсуждения для MR #123"_ - _"Покажи сводку тестов для MR #456"_ - _"Какие тесты упали в merge request #789?"_ - _"Покажи pipeline для MR #456"_ - _"Покажи логи упавшего job для merge request #789"_ - _"Покажи обсуждения коммитов для MR #456"_ - _"Найди merge request'ы для ветки feature/auth-improvements"_ - _"Ответь на обсуждение abc123 в MR #456: 'Спасибо за фидбек!'"_ ## 📋 Основные возможности ### Merge Request'ы - Просмотр списка MR с фильтрацией по статусу и ветке - Детальная информация о конкретном MR - Поиск MR по имени ветки ### Ревью и обсуждения - Просмотр всех ревью и обсуждений в MR - Ответы на существующие обсуждения - Создание новых комментариев - Разрешение обсуждений ### Тесты и Pipeline - **Сводка тестов** — быстрый обзор результатов (количество пройденных/упавших тестов) - **Детальный отчет** — полная информация о тестах с ошибками и стектрейсами - **Pipeline** — обзор всех job'ов и их статусов - **Логи job'ов** — просмотр вывода конкретного job'а ### Коммиты - Просмотр всех обсуждений на коммитах в MR - История комментариев по каждому коммиту ## ⚙️ Конфигурация ### Настройка проекта (рекомендуется) Каждый проект имеет свой файл `gitlab-mcp.env` с настройками GitLab. Не добавляйте токены в систему контроля версий. ### Глобальная настройка Можно задать переменные окружения глобально: ```bash export GITLAB_PROJECT_ID=12345 export GITLAB_ACCESS_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx export GITLAB_URL=https://gitlab.com ``` ### Как найти Project ID - Перейдите в GitLab проект → Settings → General → Project ID - Или посмотрите в URL: `https://gitlab.com/username/project` (используйте числовой ID) ## 🔧 Решение проблем **Ошибка аутентификации**: Проверьте, что токен имеет права `read_api` и не истёк. **Проект не найден**: Убедитесь, что Project ID указан правильно (это число, а не название проекта). **Проблемы с подключением**: Проверьте, что URL GitLab доступен и указан верно. **Скрипт не найден**: Убедитесь, что путь в конфигурации MCP указывает на правильное расположение сервера и скрипт исполняемый. ## 📚 Справочник инструментов | Инструмент | Описание | Параметры | | ----------------------------------- | --------------------------------- | -------------------------------------------- | | `list_merge_requests` | Список merge request'ов | `state`, `target_branch`, `limit` | | `get_merge_request_details` | Детали MR | `merge_request_iid` | | `get_pipeline_test_summary` | Сводка тестов (быстрый обзор) | `merge_request_iid` | | `get_merge_request_test_report` | Детальный отчет о тестах | `merge_request_iid` | | `get_merge_request_pipeline` | Pipeline со всеми job'ами | `merge_request_iid` | | `get_job_log` | Логи конкретного job'а | `job_id` | | `get_merge_request_reviews` | Ревью и обсуждения | `merge_request_iid` | | `get_commit_discussions` | Обсуждения на коммитах | `merge_request_iid` | | `get_branch_merge_requests` | Поиск MR по ветке | `branch_name` | | `reply_to_review_comment` | Ответ на обсуждение | `merge_request_iid`, `discussion_id`, `body` |

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/FitoDomik/gitlab-mcp-server'

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