Gitlab MCP

Gitlab MCP

от zereight
Управляет проектами GitLab: создаёт merge request'ы, отслеживает issues, следит за пайплайнами. Работает с self-hosted инстансами.

GitLab MCP Server

GitHub stars npm downloads npm GitHub License Install in VS Code Install in Cursor Ask DeepWiki MCP Toplist mcpindex

English | 한국어 | 简体中文 | Português (Brasil)

📖 Documentation → Setup guides, environment variables, and the full tool reference live on the hosted docs site.

Install @zereight/mcp-gitlab with the recommended local personal-access-token setup. These commands use the same arguments as the Claude Code and Codex guides.

Install the zereight-mcp-gitlab binary first with npm install -g @zereight/mcp-gitlab, or Homebrew brew tap zereight/gitlab-mcp https://github.com/zereight/gitlab-mcp and brew install zereight/gitlab-mcp/zereight-mcp-gitlab.

Read the token without echo, then export it. The shell history keeps the variable name.

read -rs GITLAB_PERSONAL_ACCESS_TOKEN && export GITLAB_PERSONAL_ACCESS_TOKEN
Client Install
Claude Code claude mcp add gitlab --transport stdio --scope local --env GITLAB_PERSONAL_ACCESS_TOKEN="$GITLAB_PERSONAL_ACCESS_TOKEN" --env GITLAB_API_URL=https://gitlab.com/api/v4 -- zereight-mcp-gitlab
Codex codex mcp add gitlab --env GITLAB_PERSONAL_ACCESS_TOKEN="$GITLAB_PERSONAL_ACCESS_TOKEN" --env GITLAB_API_URL=https://gitlab.com/api/v4 -- zereight-mcp-gitlab
Cursor Cursor setup guide
VS Code VS Code setup guide
JSON clients JSON-based MCP clients setup guide

Часто задаваемые вопросы

Инструменты были проиндексированы:
create_issueвнешний мир

Создаёт новый issue. Используйте этот метод для открытия нового issue; используйте update_issue для существующего issue и create_issue_note для добавления обсуждения без изменения полей issue. Операция создаёт данные удалённого проекта, требует разрешения на создание issue и возвращает новый issue или ошибку валидации, разрешения или связанную ошибку.

Параметры
  • assignee_idsnumber[]

    Массив идентификаторов пользователей для назначения.

  • descriptionstring

    Описание проблемы

  • issue_typeenum

    Тип проблемы. Один из вариантов: issue, incident, test_case или task.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Массив имен меток

  • milestone_idstring

    ID Milestone для назначения

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • titlestringобязательный

    Заголовок задачи

  • weightnumber

    Вес задачи (числовое значение, обычно в часах работы)

create_issue_noteвнешний мир

Добавляет заметку к задаче, опционально отвечая в ветку обсуждения. Используйте это, чтобы добавить заметку к существующей задаче, опционально как ответ на обсуждение; используйте update_issue для полей задачи и create_note только когда требуется общий эндпоинт. Операция создаёт удалённое содержимое обсуждения, требует разрешения на заметку и возвращает заметку или ошибку об отсутствии задачи/ветки/разрешения.

Параметры
  • bodystringобязательный

    Содержимое заметки или ответа

  • created_atstring

    Дата создания заметки (формат ISO 8601)

  • discussion_idstring

    Идентификатор ветки обсуждения. Если он указан, ответ добавляется в эту ветку; в противном случае создаётся заметка верхнего уровня.

  • issue_iidstringобязательный

    IID задачи

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

create_merge_requestвнешний мир

Создаёт новый merge request. Используйте его, чтобы открыть новый merge request из существующей исходной ветки в целевую ветку; используйте update_merge_request после его создания. Операция создаёт удалённое состояние ревью, требует доступа к проекту и возвращает новый merge request или ошибку, связанную с проверкой, правами, веткой или дубликатом.

Параметры
  • allow_collaborationboolean

    Разрешить коммиты от участников вышестоящего репозитория

  • assignee_idsnumber[]

    Идентификаторы пользователей, которым нужно назначить MR

  • descriptionstring

    Описание запроса на слияние

  • draftboolean

    Создайте merge request как черновик

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Метки для MR

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • remove_source_branchboolean | null

    Флаг, указывающий, следует ли удалять исходную ветку при слиянии.

  • reviewer_idsnumber[]

    Идентификаторы пользователей для назначения ревьюерами в MR

  • source_branchstringобязательный

    Ветка с изменениями

  • squashboolean | null

    Если true, сжимать все коммиты в один при слиянии.

  • target_branchstringобязательный

    Ветка для слияния

  • target_project_idstring

    Числовой ID целевого проекта.

  • titlestringобязательный

    Заголовок запроса на слияние

create_merge_request_threadвнешний мир

Создаёт новый тред в merge request. Используйте этот инструмент, чтобы начать тред ревью в merge request; используйте create_merge_request_note для заметки без треда и create_merge_request_discussion_note для ответа в существующий тред. Операция создаёт удалённый контент ревью, требует разрешения на заметку и возвращает обсуждение или ошибку позиции/прав/валидации.

Параметры
  • bodystringобязательный

    Содержание ветки обсуждения

  • created_atstring

    Дата создания темы (в формате ISO 8601)

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID запроса на слияние

  • positionobject

    Позиция при создании дифф-заметки.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

discover_toolsтолько чтениевнешний мир

Обнаруживает и активирует дополнительные категории инструментов для этой сессии. Доступные категории: core, merge_requests, issues, repositories, branches, projects, labels, ci, groups, pipelines, milestones, wiki, releases, tags, snippets, users, workitems, webhooks, search, variables, dependency_proxy, vulnerabilities, orbit. Уже активные категории перечислены в ответе. Наборы инструментов, доступные только при явном указании, опущены; перечислите их в GITLAB_TOOLSETS. Используйте этот инструмент, когда нужная опциональная категория сейчас не доступна; опустите category, чтобы посмотреть доступные категории, затем вызовите его с категорией, чтобы активировать эту группу для текущей сессии. Он меняет только реестр инструментов сессии, возвращает сводку активных инструментов и не меняет данные GitLab.

Параметры
  • categorystring

    Категория набора инструментов для активации (например, 'pipelines', 'wiki'). Опустите, чтобы вывести список доступных категорий.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

get_branchтолько чтениевнешний мир

Получает сведения о ветке (коммит, статус защиты). Чтобы найти ресурсы, используйте соответствующий инструмент списка или поиска. Только для чтения; отсутствующие ресурсы, отказ в доступе и ограничения частоты запросов возвращают ошибки. project_id/group_id принимают числовой ID или URL-кодированный путь.

Параметры
  • branch_namestringобязательный

    Название ветки

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

get_commitтолько чтениевнешний мир

Возвращает сведения о конкретном коммите. Чтобы найти ресурсы, используйте соответствующий инструмент списка или поиска. Только чтение; отсутствующие ресурсы, отказ в доступе и превышение лимитов возвращают ошибки. project_id/group_id принимают числовой ID или URL-encoded путь.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • shastringобязательный

    Хэш коммита или имя ветки или тега репозитория.

  • statsboolean

    Включи статистику коммитов.

get_commit_diffтолько чтениевнешний мир

Получает изменения/диффы конкретного коммита. Только для чтения; отсутствующие ресурсы, отказ в доступе и превышение лимитов запросов возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • full_diffboolean

    Возвращать ли полный diff или только первую страницу (по умолчанию: false)

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • shastringобязательный

    Хэш коммита или имя ветки или тега репозитория.

get_file_blameтолько чтениевнешний мир

Получает git blame для файла по указанной ссылке (ref). Каждая запись сопоставляет непрерывный диапазон строк исходного кода с коммитом, который последним их изменил (id, author, authored_date, message). Используйте range_start/range_end, чтобы ограничить blame определёнными строками.

Параметры
  • file_pathstringобязательный

    Полный путь к файлу для blame относительно корня репозитория.

  • jmespathstring

    Необязательное выражение JMESPath, которое фильтрует JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • range_endinteger

    Последняя строка диапазона blame (включительно, нумерация с 1). Параметры range[start] и range[end] должны задаваться вместе.

  • range_startinteger

    Первая строка диапазона blame (включительно, нумерация с 1). Оба значения range[start] и range[end] должны задаваться вместе.

  • refstringобязательный

    Название ветки, тега или коммита (требуется API GitLab blame)

get_file_contentsтолько чтениевнешний мир

Получает содержимое файла или каталога из проекта GitLab. Только для чтения; отсутствующие ресурсы, отказ в доступе и ограничения частоты возвращают ошибки. project_id/group_id принимают числовой ID или URL-кодированный путь.

Параметры
  • file_pathstring

    Путь к файлу или каталогу. Имеет приоритет над параметром 'path', когда указаны оба.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • pathstring

    Псевдоним file_path

  • project_idstring

    ID проекта или путь в URL-кодировке (необязательно; по умолчанию берётся из переменной окружения).

  • refstring

    Ветка/тег/коммит, из которых нужно получить содержимое

get_issueтолько чтениевнешний мир

Получает сведения о конкретной задаче. По умолчанию возвращает задачу с сокращённым вложенным milestone; установите full_response=true, чтобы получить полный объект milestone. Используйте этот инструмент для управления задачами: просматривайте поля одной задачи; чтобы сначала найти задачи, используйте list_issues или my_issues. Работает только на чтение, требует разрешения на чтение задач и возвращает задачу или ошибку, если идентификатор недействителен, задача отсутствует или доступ запрещён.

Параметры
  • full_responseboolean

    Если true, включает полный объект milestone, включая его описание, в возвращаемую задачу. По умолчанию возвращает задачу с сокращённым milestone (id, iid, title, state, web_url), чтобы уменьшить расход токенов.

  • issue_iidstringобязательный

    Внутренний ID задачи проекта.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

get_merge_requestтолько чтениевнешний мир

Получает сведения о merge request (требуется merge_request_iid или source_branch). Устанавливает include_summaries=true для сводок по развёртываниям/коммитам/одобрениям. Для поиска ресурсов использует соответствующий инструмент списка или поиска. Только для чтения; отсутствующие ресурсы, отказ в доступе и ограничения частоты возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • include_summariesboolean

    Если true, включите deployment_summary, commit_addition_summary и approval_summary (дополнительные вызовы API, больший ответ). По умолчанию false для уменьшения использования токенов.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstring

    IID запроса на слияние

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • source_branchstring

    Имя исходной ветки

get_merge_request_approval_stateтолько чтениевнешний мир

Получает детали одобрения запроса на слияние, включая утверждающих. Используйте это для проверки правил одобрения и утверждающих перед принятием решения о возможности слияния запроса на слияние; используйте approve_merge_request для изменения статуса одобрения. Он только для чтения и возвращает ответ с состоянием одобрения, а отсутствующие запросы, неподдерживаемые версии GitLab и ошибки прав доступа сообщаются как ошибки.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID merge request

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

get_merge_request_diffsтолько чтениевнешний мир

Получает изменения/диффы merge request (требуется merge_request_iid или source_branch). Чтобы найти ресурсы, используйте подходящий инструмент списка или поиска. Работает только на чтение; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки. project_id/group_id принимают числовой ID или URL-encoded путь.

Параметры
  • excluded_file_patternsstring[]

    Массив regex-паттернов для исключения файлов из результатов diff. Каждый паттерн — это совместимое с JavaScript регулярное выражение, которое соответствует игнорируемым путям файлов. Примеры: ["^vendor/", "^test/mocks/", ".spec.ts$", "package-lock.json"]

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstring

    IID запроса на слияние

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • source_branchstring

    Имя исходной ветки

  • viewenum

    Тип просмотра различий

get_merge_request_discussionтолько чтениевнешний мир

Получает один элемент обсуждения для merge request. Инструмент используется для получения одного известного обсуждения merge request по идентификатору обсуждения; для коллекции предназначен mr_discussions, а для отдельной заметки используется get_merge_request_note. Он доступен только для чтения и возвращает элемент обсуждения или ошибку при недействительном идентификаторе, отсутствующем обсуждении или недостаточных правах доступа.

Параметры
  • discussion_idstringобязательный

    ID потока

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID запроса на слияние

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

get_merge_request_file_diffтолько чтениевнешний мир

Получает диффы для конкретных файлов из merge request (обязательно указать merge_request_iid или source_branch). Только для чтения; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки. project_id/group_id принимают числовой ID или URL-encoded path.

Параметры
  • file_pathsstring[]обязательный

    Список путей к файлам для получения diff (например, ['src/api/users.ts', 'src/repo/user.go']). Сначала вызовите list_merge_request_changed_files, чтобы получить полный список изменённых путей.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstring

    IID запроса на слияние

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • source_branchstring

    Имя исходной ветки

  • unidiffboolean

    Представляет diff в формате unified diff. По умолчанию false.

get_merge_request_noteтолько чтениевнешний мир

Получает конкретный комментарий для merge request. Используйте этот инструмент для получения одного известного комментария к merge request по идентификатору комментария; для получения коллекции используйте get_merge_request_notes, а для контекста с обсуждениями — mr_discussions. Он доступен только для чтения и возвращает объект комментария или ошибку при неверном идентификаторе, отсутствии комментария или недостаточных правах доступа.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID запроса на слияние

  • note_idstringобязательный

    Идентификатор заметки потока

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

get_merge_request_notesтолько чтениевнешний мир

Перечисляет заметки для запроса на слияние. Используйте этот инструмент для перечисления плоских заметок в запросе на слияние; используйте mr_discussions, когда требуется структура обсуждения и состояние разрешения. Он только для чтения и возвращает записи заметок, а неверные идентификаторы, отсутствующие ресурсы и ошибки пагинации или прав доступа сообщаются GitLab.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID запроса на слияние

  • order_byenum

    Поле, по которому сортировать заметки

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество элементов на странице

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • sortenum

    Порядок сортировки заметок.

get_projectтолько чтениевнешний мир

Получает сведения о конкретном проекте. Чтобы найти ресурсы, используйте соответствующий инструмент списка или поиска. Только для чтения; отсутствующие ресурсы, отказ в доступе и ограничения частоты запросов возвращают ошибки. project_id/group_id принимают числовой ID или URL-encoded путь.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

get_repository_treeтолько чтениевнешний мир

Выводит список файлов и каталогов в репозитории. Работает только на чтение; отсутствующие ресурсы, отказ в доступе и ограничения частоты запросов возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • page_tokenstring

    Токен для keyset-пагинации. Используйте значение next_page_token из предыдущего ответа, чтобы получить следующую страницу.

  • paginationstring

    Метод пагинации. Используйте 'keyset' для пагинации на основе keyset (требуется для репозиториев с большим количеством файлов). Вызовы без keyset сохраняют прежний формат ответа в виде массива для обратной совместимости; этот прежний формат ответа устарел и может быть удалён в одном из будущих основных релизов. Вызовы с keyset возвращают структурированный ответ с items и next_page_token, когда доступны дополнительные страницы.

  • pathstring

    Путь внутри репозитория

  • per_pagenumber

    Количество результатов на страницу

  • project_idstringобязательный

    Идентификатор или URL-кодированный путь проекта.

  • recursiveboolean

    Логическое значение, определяющее, нужно ли получать рекурсивное дерево.

  • refstring

    Название ветки или тега репозитория. Если не указано, используется ветка по умолчанию.

health_checkтолько чтениевнешний мир

Проверяет состояние сервера и аутентификацию. Всегда сообщает версию MCP-сервера (mcp_server_version). При успешной аутентификации также сообщает версию экземпляра GitLab из GET /api/v4/version (version, revision, enterprise). Сбои при получении версии не приводят к провалу проверки работоспособности: эти поля просто опускаются. Используйте этот инструмент, чтобы проверить связь с сервером и аутентификацию перед запросами к GitLab; а whoami берите, когда нужно узнать, кто аутентифицированный пользователь. Ответ 403 от GET /user с ошибкой insufficient_scope означает, что токен принят, но не хватает области доступа User API (read_user или детализированной User:Read); проверка остаётся ok, устанавливает user_api_warning и опускает метаданные версии. Ответы 403 из-за ограничения частоты запросов и блокировки аутентификации остаются неаутентифицированными. Состояние GitLab не меняет и возвращает статус сервера и аутентификации плюс сведения о версии GitLab, когда они доступны. Сбои соединения без HTTP-ответа возвращают status error, authenticated false и объект ошибки (kind tls, dns, timeout или network, а также code и message) вместо ошибки протокола.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

list_branchesтолько чтениевнешний мир

Выводит список веток в проекте с фильтром поиска. Для одного известного ресурса используйте соответствующий инструмент get. Только для чтения; отсутствующие ресурсы, отказ в доступе и ограничения частоты запросов возвращают ошибки. project_id/group_id принимают числовой ID или URL-encoded путь.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • searchstring

    Поисковый запрос для фильтрации веток по имени.

list_commitsтолько чтениевнешний мир

Выводит список коммитов репозитория с фильтрами. Для одного известного ресурса используйте соответствующий инструмент get. Только чтение; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • allboolean

    Получить все коммиты из репозитория

  • authorstring

    Искать коммиты по автору коммита.

  • first_parentboolean

    Следуй только за первым родительским коммитом при обнаружении merge-коммита.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • orderenum

    Перечисли коммиты по порядку.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • pathstring

    Путь к файлу

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • ref_namestring

    Название ветки репозитория, тега или диапазона ревизий; если не указано, используется ветка по умолчанию.

  • sincestring

    Только коммиты после или в эту дату возвращаются в формате ISO 8601 YYYY-MM-DDTHH:MM:SSZ.

  • trailersboolean

    Извлекайте и включайте Git-трейлеры для каждого коммита.

  • untilstring

    Возвращаются только коммиты, сделанные до или в эту дату, в формате ISO 8601: YYYY-MM-DDTHH:MM:SSZ

  • with_statsboolean

    Статистика по каждому коммиту добавляется в ответ.

list_issue_discussionsтолько чтениевнешний мир

Перечисляет обсуждения для задачи. Используйте это для просмотра цепочек обсуждений по задаче; используйте list_issues для записей задач и get_issue для полей одной задачи. Она доступна только для чтения и возвращает элементы обсуждений, при этом неверные идентификаторы, отсутствующие задачи и ошибки прав доступа сообщаются как ошибки.

Параметры
  • issue_iidstringобязательный

    Внутренний ID задачи проекта.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

list_issuesтолько чтениевнешний мир

Перечисляет задачи (по умолчанию: созданные текущим пользователем; используйте scope='all' для всех задач). Используйте этот инструмент для управления задачами: он выводит список задач GitLab, при необходимости с фильтром по project_id. Используйте get_issue, когда iid задачи уже известен, и my_issues для задач, назначенных текущему пользователю. Инструмент доступен только для чтения и поддерживает постраничную выдачу, требует права на чтение задач и возвращает записи задач или ошибки GitLab при недопустимых идентификаторах, отсутствующих ресурсах или превышении лимита запросов.

Параметры
  • assignee_idstring

    Возвращает проблемы, назначенные указанному идентификатору пользователя (идентификатор пользователя, нет или любой). Взаимоисключающий с assignee_username.

  • assignee_usernamestring[]

    Возвращает проблемы, назначенные указанному имени пользователя. Взаимоисключающий с assignee_id.

  • author_idstring

    Возвращает задачи, созданные указанным ID пользователя. Нельзя использовать одновременно с author_username.

  • author_usernamestring

    Возвращает задачи, созданные указанным пользователем. Взаимоисключающе с author_id.

  • confidentialboolean

    Фильтровать конфиденциальные или публичные задачи

  • created_afterstring

    Возвращает задачи, созданные после указанного времени.

  • created_beforestring

    Возвращает задачи, созданные до указанного времени.

  • due_datestring

    Возвращает задачи, у которых указан срок.

  • issue_typeenum

    Фильтровать по заданному типу задачи. Один из: задача, инцидент, тест-кейс или задача.

  • iteration_idstring

    Возвращает задачи, назначенные на указанный ID итерации. Значение None возвращает задачи, не принадлежащие ни одной итерации. Значение Any возвращает задачи, принадлежащие любой итерации.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Массив имен меток

  • milestonestring

    Название вехи

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstring

    Идентификатор проекта или URL-кодированный путь (необязательно - если не указано, выводит задачи во всех доступных проектах).

  • scopeenum

    Возвращает проблемы из конкретной области.

  • searchstring

    Ищите по конкретным терминам.

  • stateenum

    Возвращает проблемы с конкретным состоянием.

  • updated_afterstring

    Возвращает задачи, обновлённые после указанного времени.

  • updated_beforestring

    Возвращает задачи, обновленные до указанного времени.

  • with_labels_detailsboolean

    Возвращай больше деталей для каждой метки.

list_labelsтолько чтениевнешний мир

Выводит список меток для проекта. Для одного известного ресурса используйте соответствующий инструмент get. Только для чтения; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • include_ancestor_groupsboolean

    Включите родительские группы.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

  • searchstring

    Ключевое слово для фильтрации меток

  • with_countsboolean

    Включать ли количество проблем и запросов на слияние.

list_merge_request_changed_filesтолько чтениевнешний мир

Перечисляет изменённые пути файлов в merge request без содержимого diff (требуется merge_request_iid или source_branch). Только для чтения; при отсутствии ресурсов, отказе в доступе и превышении лимитов возвращает ошибки. project_id/group_id принимают числовой ID или URL-encoded путь.

Параметры
  • excluded_file_patternsstring[]

    Массив регулярных выражений для исключения файлов. Примеры: ["^vendor/", ".pb.go$"]

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstring

    IID запроса на слияние

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • source_branchstring

    Имя исходной ветки

list_merge_request_diffsтолько чтениевнешний мир

Выводит диффы merge request с постраничной навигацией (требуется merge_request_iid или source_branch). Для одного известного ресурса применяется соответствующий инструмент get. Работает только на чтение; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstring

    IID запроса на слияние

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • source_branchstring

    Имя исходной ветки

  • unidiffboolean

    Представляет различия в унифицированном формате diff. По умолчанию — false. Введено в GitLab 16.5.

list_merge_requestsтолько чтениевнешний мир

Выводит список запросов на слияние (без project_id: MRs пользователя; с project_id: MRs проекта). Для одного известного ресурса используйте соответствующий инструмент get. Только для чтения; отсутствующие ресурсы, отказ в доступе и ограничения скорости возвращают ошибки. project_id/group_id принимают числовой ID или URL-кодированный путь.

Параметры
  • approved_by_usernamesstring[]

    Возвращает запросы на слияние, одобренные указанными пользователями (массив).

  • assignee_idstring

    Возвращает MR, назначенные на указанный ID пользователя (целое число), 'none' или 'any'. Нельзя использовать вместе с assignee_username.

  • assignee_usernamestring

    Возвращает запросы на слияние, назначенные указанному имени пользователя. Взаимоисключается с assignee_id.

  • author_idstring

    Возвращает запросы на слияние, созданные указанным пользователем (целочисленный идентификатор). Взаимоисключающе с author_username.

  • author_usernamestring

    Возвращает запросы на слияние, созданные указанным пользователем. Взаимоисключающе с author_id.

  • created_afterstring

    Возвращает запросы на слияние, созданные после указанного времени.

  • created_beforestring

    Возвращает запросы на слияние, созданные до указанного времени.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Массив имен меток

  • milestonestring

    Название вехи

  • order_byenum

    Возвращает запросы на слияние, отсортированные по указанному полю.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstring

    Идентификатор проекта или путь в URL-кодировке (необязательно - если не указан, выводит все запросы на слияние, доступные пользователю)

  • reviewer_idstring

    Возвращает запросы на слияние, в которых пользователь указан рецензентом. Должно быть целым числом, 'none' или 'any'. Взаимоисключающе с reviewer_username.

  • reviewer_usernamestring

    Возвращает запросы на слияние, где пользователь указан как ревьюер по имени пользователя. Нельзя использовать вместе с reviewer_id.

  • scopeenum

    Возвращает запросы на слияние из определённой области.

  • searchstring

    Ищите по конкретным терминам.

  • sortenum

    Возвращает запросы на слияние, отсортированные по возрастанию или убыванию.

  • source_branchstring

    Возвращает запросы на слияние из конкретной исходной ветки.

  • stateenum

    Возвращает запросы на слияние с определённым состоянием.

  • target_branchstring

    Возвращает запросы на слияние, нацеленные на конкретную ветку.

  • updated_afterstring

    Возвращает запросы на слияние, обновлённые после указанного времени.

  • updated_beforestring

    Возвращает merge-запросы, обновлённые до указанного времени.

  • wipenum

    Фильтровать merge request по их статусу WIP.

  • with_labels_detailsboolean

    Возвращай больше деталей для каждой метки.

list_project_membersтолько чтениевнешний мир

Выводит список участников проекта GitLab. Только для чтения; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки. project_id/group_id принимают числовой ID или путь в URL-кодировке.

Параметры
  • include_inheritanceboolean

    Включает унаследованные члены. По умолчанию false.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (по умолчанию: 20, максимум: 100)

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

  • querystring

    Поиск участников по имени или имени пользователя

  • skip_usersnumber[]

    ID пользователей, которые нужно исключить

  • user_idsnumber[]

    Фильтровать по ID пользователей

list_projectsтолько чтениевнешний мир

Перечисляет проекты, доступные текущему пользователю. Для одного известного ресурса используйте соответствующий инструмент get. Только для чтения; отсутствующие ресурсы, отказ в доступе и лимиты запросов возвращают ошибки.

Параметры
  • archivedboolean

    Фильтр по архивным проектам

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • membershipboolean

    Фильтрует проекты, где текущий пользователь является участником.

  • min_access_levelnumber

    Фильтровать по минимальному уровню доступа.

  • order_byenum

    Возвращает проекты, отсортированные по полю.

  • ownedboolean

    Отфильтровать проекты текущего пользователя

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • searchstring

    Поисковый запрос по проектам

  • search_namespacesboolean

    Должно быть true, если поиск — полный путь.

  • simpleboolean

    Возвращайте только ограниченные поля.

  • sortenum

    Возвращает проекты, отсортированные по возрастанию или по убыванию.

  • topicstring

    Фильтровать по теме (проекты, отмеченные этой темой)

  • visibilityenum

    Фильтр по видимости проекта

  • with_issues_enabledboolean

    Отфильтруйте проекты с включённой функцией issues.

  • with_merge_requests_enabledboolean

    Фильтровать проекты с включенными merge requests

mr_discussionsтолько чтениевнешний мир

Перечисляет элементы обсуждения для запроса на слияние. Используйте этот инструмент для перечисления полных веток обсуждения запроса на слияние; используйте get_merge_request_notes, когда нужны только плоские заметки. Он только для чтения и возвращает элементы обсуждения в виде веток, а недействительные идентификаторы запроса на слияние, отсутствующие ресурсы и ошибки разрешений возвращаются как ошибки.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID запроса на слияние

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

my_issuesтолько чтениевнешний мир

Перечисляет задачи, назначенные аутентифицированному пользователю. Используйте этот инструмент для управления задачами: он перечисляет задачи, назначенные аутентифицированному пользователю. Для списка по всему проекту или с фильтром по автору используйте list_issues, а для одной задачи: get_issue. Для определения текущего пользователя нужен классический read_user или fine-grained User:Read. Работает только на чтение, с постраничной выдачей, требует аутентификации и возвращает записи о назначенных задачах либо ошибки прав доступа или лимита запросов.

Параметры
  • created_afterstring

    Возвращает проблемы, созданные после указанного времени (ISO 8601)

  • created_beforestring

    Возвращает задачи, созданные до указанного времени (ISO 8601).

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Массив имён меток для фильтрации

  • milestonestring

    Заголовок вехи для фильтрации

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (по умолчанию: 20, максимум: 100)

  • project_idstring

    ID проекта или URL-кодированный путь (необязательно для поиска по всем доступным проектам)

  • searchstring

    Ищет конкретные термины в заголовке и описании

  • stateenum

    Возвращает задачи с определенным статусом (по умолчанию: открытые)

  • updated_afterstring

    Возвращает задачи, обновлённые после указанного времени (ISO 8601)

  • updated_beforestring

    Возвращает задачи, обновлённые до указанного времени (ISO 8601)

resolve_merge_request_threadвнешний мир

Закрывает обсуждение в запросе слияния. Используйте это, чтобы пометить существующее обсуждение как закрытое; используйте update_merge_request_discussion_note, когда нужно изменить сам текст комментария. Операция меняет состояние проверки, требует разрешения на закрытие обсуждений и возвращает обновлённое обсуждение или ошибку об отсутствии обсуждения/прав.

Параметры
  • discussion_idstringобязательный

    ID потока

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • merge_request_iidstringобязательный

    IID запроса на слияние

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • resolvedbooleanобязательный

    Стоит ли завершать поток

search_repositoriesтолько чтениевнешний мир

Ищет проекты GitLab. Если идентификатор известен, используйте типизированный инструмент get или list. Работает только на чтение; отсутствующие ресурсы, отказ в доступе и ограничения по частоте запросов возвращают ошибки.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • pagenumber

    Номер страницы для постраничной навигации (по умолчанию 1)

  • per_pagenumber

    Количество элементов на странице (макс: 100, по умолчанию: 20)

  • querystring

    Поисковый запрос (алиас для 'search')

  • searchstring

    Поисковый запрос

update_issueвнешний мир

Обновляет задачу. По умолчанию возвращает краткое подтверждение; установите full_response=true для получения полного объекта обновлённой задачи. Используйте это для изменения полей существующей задачи; применяйте update_issue_description_patch для точечного редактирования описания, которое не требует отправки полного тела, а для обсуждений используйте create_issue_note. Операция изменяет состояние задачи, требует разрешения на редактирование задачи и возвращает обновлённую задачу или ошибку валидации, прав доступа или конфликта.

Параметры
  • assignee_idsnumber[]

    Массив идентификаторов пользователей, которым назначается задача.

  • confidentialboolean

    Сделать вопрос конфиденциальным

  • descriptionstring

    Описание проблемы

  • discussion_lockedboolean

    Флаг для блокировки обсуждений.

  • due_datestring

    Дата, к которой должна быть решена проблема (ГГГГ-ММ-ДД)

  • full_responseboolean

    Если true, возвращает полный обновленный объект задачи. По умолчанию возвращает краткое подтверждение (iid, title, state, web_url, updated_at), чтобы снизить расход токенов.

  • issue_iidstringобязательный

    Внутренний ID задачи проекта.

  • issue_typeenum

    Тип проблемы. Один из вариантов: issue, incident, test_case или task.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Массив имен меток

  • milestone_idstring

    ID Milestone для назначения

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

  • state_eventenum

    Обновить состояние задачи (закрыть/переоткрыть)

  • titlestring

    Заголовок проблемы

  • weightnumber

    Вес задачи (числовое значение, обычно в часах работы)

update_issue_description_patchвнешний мир

Применяет патч (поиск/замена или unified diff) к описанию задачи. Снижает расход токенов — можно вносить небольшие изменения без отправки полного описания. Поддерживает dry_run для предварительного просмотра изменений и create_note для сводки обновлений. Используйте этот инструмент для целенаправленного изменения поиска/замены или unified diff в описании задачи; перед применением сомнительного патча запускайте dry_run, а если нужна сводка аудита — create_note. Инструмент изменяет описание задачи, если не в режиме dry_run, требует разрешения на редактирование задачи и возвращает результат патча или ошибку несоответствия/валидации/разрешений.

Параметры
  • allow_multipleboolean

    Для search_replace: разрешить замену всех совпадений (по умолчанию: false - ошибка при дубликате).

  • create_noteboolean

    Если верно, добавьте примечание с кратким описанием изменений после обновления.

  • dry_runboolean

    Если true, показывает предварительный просмотр изменений, не обновляя задачу.

  • issue_iidstringобязательный

    Внутренний ID задачи проекта.

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • patchstringобязательный

    Содержимое патча, которое нужно применить к описанию задачи.

  • patch_typeenumобязательный

    Тип применяемого формата патча.

  • project_idstringобязательный

    ID проекта или путь в URL-кодировке

update_merge_requestвнешний мир

Обновляет запрос на слияние (требуется merge_request_iid или source_branch). Для новых ресурсов используйте инструмент create, а для комментариев - инструмент note. Изменяет данные GitLab; требует разрешения и возвращает ошибки валидации или конфликта. project_id/group_id принимают числовой ID или URL-encoded путь.

Параметры
  • assignee_idsnumber[]

    Идентификаторы пользователей, которым нужно назначить MR

  • descriptionstring

    Описание merge request

  • draftboolean

    Незавершённый merge request

  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

  • labelsstring[]

    Метки для MR

  • merge_request_iidstring

    IID запроса на слияние

  • milestone_idstring

    ID вехи для назначения. Установите 0, чтобы снять назначение. Null считается пропущенным.

  • project_idstringобязательный

    ID проекта или полный URL-кодированный путь к проекту

  • remove_source_branchboolean

    Флаг, указывающий, следует ли удалить исходную ветку.

  • reviewer_idsnumber[]

    Идентификаторы пользователей для назначения ревьюерами в MR

  • source_branchstring

    Имя исходной ветки

  • squashboolean

    Объединяет коммиты в один коммит при слиянии.

  • state_eventenum

    Новое состояние (закрыть/переоткрыть) для MR

  • target_branchstring

    Целевая ветка

  • titlestring

    Заголовок merge request

whoamiтолько чтениевнешний мир

Получает данные текущего аутентифицированного пользователя. Служит для определения аутентифицированного пользователя GitLab; для поиска другого пользователя вызываются get_user или get_users. Требует классического read_user или fine-grained User:Read. Работает в режиме только для чтения и возвращает профиль текущего пользователя, а отсутствие учётных данных или нехватка прав в GitLab возвращаются как ошибки.

Параметры
  • jmespathstring

    Необязательное выражение JMESPath, фильтрующее JSON-результат перед возвратом.

2.3.5основная
2.3.5-next.125
2.3.5-next.124
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.70
2.1.69
2.1.68
2.1.67
2.1.66
2.1.65
2.1.64
2.1.63
2.1.62
2.1.61
2.1.60
2.1.59
2.1.58
2.1.57
2.1.56
2.1.55
2.1.54
2.1.53
2.1.52
2.1.51
2.1.50
2.1.49
2.1.48
2.1.47
2.1.46
2.1.45
2.1.44
2.1.43
2.1.42
2.1.41
2.1.40
2.1.39
2.1.38
2.1.30
2.1.29
2.1.28
2.1.27
2.1.26
2.1.25
2.1.24
2.1.23
2.1.22
2.1.21
2.1.20
2.1.19
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.36
2.0.35
2.0.34
2.0.33
2.0.32
2.0.30
2.0.28
2.0.25
2.0.24
2.0.23
2.0.22
2.0.21
2.0.20
2.0.19
2.0.18
2.0.13
2.0.11
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
1.0.77
2.0.0-beta.0
1.0.76
1.0.75
1.0.74
1.0.72
1.0.71
1.0.70
1.0.69
1.0.68
1.0.67
1.0.66
1.0.65
1.0.64
1.0.63
1.0.62
1.0.61
1.0.60
1.0.59
1.0.58
1.0.57
1.0.56
1.0.55
1.0.54
1.0.53
1.0.52
1.0.51
1.0.50
1.0.49
1.0.48
1.0.47
1.0.46
1.0.45
1.0.43
1.0.42
1.0.41
1.0.40
1.0.39
1.0.38
1.0.37
1.0.36
1.0.35
1.0.34
1.0.33
1.0.32
1.0.31
1.0.30
1.0.29
1.0.28
1.0.27
1.0.26
1.0.25
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0

Выберите клиент, чтобы установить Gitlab MCP:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "gitlab-mcp-h5xs": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "gitlab-mcp-h5xs": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "gitlab-mcp-h5xs": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"gitlab-mcp-h5xs\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@zereight/mcp-gitlab\",\"--token=gxxxxxx-your-pat-here\",\"--api-url=https://your-domain-gitlab.com/api/v4\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "gitlab-mcp-h5xs": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add gitlab-mcp-h5xs -- npx -y @zereight/mcp-gitlab --token=gxxxxxx-your-pat-here --api-url=https://your-domain-gitlab.com/api/v4

Либо через JSON-конфиг:

claude mcp add-json gitlab-mcp-h5xs "{\"command\":\"npx\",\"args\":[\"-y\",\"@zereight/mcp-gitlab\",\"--token=gxxxxxx-your-pat-here\",\"--api-url=https://your-domain-gitlab.com/api/v4\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add gitlab-mcp-h5xs -- npx -y @zereight/mcp-gitlab --token=gxxxxxx-your-pat-here --api-url=https://your-domain-gitlab.com/api/v4

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.gitlab-mcp-h5xs]
command = "npx"
args = ["-y", "@zereight/mcp-gitlab", "--token=gxxxxxx-your-pat-here", "--api-url=https://your-domain-gitlab.com/api/v4"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите Gitlab MCP, а в поле команды запуска — строку ниже:
npx -y @zereight/mcp-gitlab --token=gxxxxxx-your-pat-here --api-url=https://your-domain-gitlab.com/api/v4

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "gitlab-mcp-h5xs": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "gitlab-mcp-h5xs": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например gitlab-mcp-h5xs.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: gitlab-mcp-h5xs
    command: npx
    args:
      - "-y"
      - "@zereight/mcp-gitlab"
      - "--token=gxxxxxx-your-pat-here"
      - "--api-url=https://your-domain-gitlab.com/api/v4"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "gitlab-mcp-h5xs": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab",
        "--token=gxxxxxx-your-pat-here",
        "--api-url=https://your-domain-gitlab.com/api/v4"
      ]
    }
  }
}

Похожие MCP-сервера

HainanZhao/mcp-gitlab-jira

HainanZhao/mcp-gitlab-jira

от hainanzhao

MCP сервер для интеграции GitLab и Jira: управляйте проектами, merge requests, CI/CD, задачами GitLab и тикетами Jira, добавляйте комментарии, ищите по JQL. Полезен AI-агентам для автоматизации раз...

TypeScript⭐ 11
raohwork/forgejo-mcp

raohwork/forgejo-mcp

от raohwork

MCP-сервер для управления репозиториями Gitea/Forgejo через AI-ассистентов (Claude, Gemini). Обрабатывает issue, метки, вехи, релизы, PR, Wiki и Actions. Ускоряет работу команды, автоматизируя рути...

Go⭐ 70
mshegolev/gitlab-ci-mcp

mshegolev/gitlab-ci-mcp

от mshegolev

MCP сервер для GitLab CI/CD. Позволяет ИИ-агентам управлять пайплайнами, джобами, расписаниями и репозиторием (ветки, теги, MR). Работает с любым GitLab (SaaS/self-hosted), для корпоративных сетей. 23 инструмента.

Python⭐ 2
muhannad-hash/git-context-mcp

muhannad-hash/git-context-mcp

от muhannad-hash

MCP-сервер, который по файлу и диапазону строк находит коммит, PR и связанные issues через git blame и GitHub API — всё прямо в Claude. Разработчикам: вместо ручного поиска получаете контекст кода ...

JavaScript⭐ 2
ddukbg/github-enterprise-mcp

ddukbg/github-enterprise-mcp

от ddukbg

Управляет репозиториями, issues и PR в GitHub Enterprise: создаёт, обновляет, удаляет, запускает Actions, управляет ветками и пользователями.

TypeScript⭐ 29
adhikasp/mcp-git-ingest

adhikasp/mcp-git-ingest

от adhikasp

MCP-сервер для чтения структуры GitHub-репозитория и ключевых файлов. Упрощает анализ кода: извлекает иерархию папок, важные файлы, помогает быстро разобраться в проекте. Полезен разработчикам и AI...

Python⭐ 314
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин