https://github.com/owayo/gitlab-mcp-server

by owayo
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides access to GitLab project data including pipeline job failures, merge request comments, and code changes to enable AI assistants to help debug failed jobs, address review comments, and perform code reviews.

GitLab-MCP-Server

GitLab과의 연동 기능을 제공하는 Model Context Protocol (MCP) 서버입니다. GitLab의 특정 프로젝트에서 파이프라인 실패 정보 및 병합 요청에 대한 지적 사항을 검색하여 AI 어시스턴트에게 제공합니다.

개요

이 MCP 서버는 GitLab API를 활용하여 다음 정보를 AI 어시스턴트에게 제공합니다.

  1. GitLab 파이프라인에서 실패한 작업의 콘솔 출력
  2. GitLab MR에 대한 미해결 지적 사항(댓글)
  3. GitLab MR 변경 사항(로컬 리포지토리의 현재 상태와의 차이)

MCP의 기능을 사용함으로써 AI 어시스턴트는 GitLab의 정보를 직접 얻고 보다 정확한 지원을 제공할 수 있습니다.

설치

# uvのインストール $ curl -LsSf https://astral.sh/uv/install.sh | sh $ cd /path/to/this-mcp-server # ライブラリのインストール $ uv sync

준비

GitLab 액세스 토큰이 필요합니다. 액세스 토큰은 GitLab 설정 → 액세스 토큰에서 발행하십시오. 발행할 때, read_api 에 체크를 넣어 주세요.

기능

1. 파이프라인 실패 정보를 가져오고 수정 ( get_pipeline_failed_jobs )

GitLab 파이프라인에서 실패한 작업의 콘솔 출력을 가져옵니다. 취득한 정보를 바탕으로 AI 어시스턴트에 의한 수정이 이루어집니다.

산출 :

  • 실패한 작업의 콘솔 출력(작업 이름, 상태, 상세 로그 포함)

2. MR의 지적 사항을 취득해 수정 ( get_review_comments )

GitLab MR의 미해결 지적 사항(코멘트)을 취득해 대응합니다. 해결된 댓글이나 파일에 붙어 있지 않은 댓글은 제외됩니다.

산출 :

  • MR에 미해결하고 파일에 붙어있는 지적 사항 (코멘트자, 시간, 코멘트 내용, 파일 위치 정보 등을 포함)

3. MR의 변경 내용을 취득하고 리뷰 ( get_review_changes )

GitLab MR의 기본 커밋(base_sha)에서 현재 로컬 리포지토리 상태까지의 차이를 가져옵니다. 원격 차이가 아닌 로컬 최신 상태(작업 중 커밋되지 않은 변경 포함)와의 차이를 얻을 수 있습니다. 취득한 차이로 검토가 이루어집니다.

산출 :

  • MR의 기본 커밋에서 현재 로컬 상태까지의 변경 내용(각 파일의 변경 유형과 차이)

AI 어시스턴트와의 협력

AI 어시스턴트(예: Claude)는 이 MCP 서버에 대해 다음 함수를 호출할 수 있습니다.

  • get_pipeline_failed_jobs() : 파이프라인의 실패 정보 취득
  • get_review_comments() : MR의 지적 사항 취득
  • get_review_changes() : MR의 변경 내용 취득

이러한 함수는 현재 브랜치와 관련된 MR 정보를 자동으로 검색합니다.

Claude for Desktop에서 설정

claude_desktop_config.json 에 다음 설정을 추가하십시오.

{ "mcpServers": { "gitlab-mcp": { "command": "uv", "args": [ "--directory", "/path/to/this-mcp-server", "run", "main.py" ], "env": { "GITLAB_URL": "your_gitlab_url", "GITLAB_PROJECT_NAME": "gitlab_project_name", "GITLAB_API_KEY": "your_gitlab_api_key", "GIT_REPO_PATH": "/path/to/git/repo" } } } }

Cursor에서 설정

프로젝트 루트의 .cursor/mcp.json 에 다음 설정을 추가하십시오.

{ "mcpServers": { "gitlab-mcp": { "command": "env", "args": [ "GITLAB_URL=your_gitlab_url", "GITLAB_PROJECT_NAME=gitlab_project_name", "GITLAB_API_KEY=your_gitlab_api_key", "GIT_REPO_PATH=/path/to/git/repo", "uv", "--directory", "/path/to/this-mcp-server", "run", "main.py" ] } } }

참고: 위의 설정 예에서 다음 값을 적절하게 바꾸십시오.

  • your_gitlab_api_key : GitLab API 액세스 토큰
  • /path/to/git/repo : 로컬 Git 저장소의 절대 경로
  • /path/to/this-mcp-server 의 절대 경로
-
security - not tested
A
license - permissive license
-
quality - not tested

GitLab과의 연동 기능을 제공하는 Model Context Protocol (MCP) 서버입니다. GitLab의 특정 프로젝트에서 파이프라인 실패 정보 및 병합 요청에 대한 지적 사항을 검색하여 AI 어시스턴트에게 제공합니다.

  1. 概要
    1. インストール
      1. 準備
        1. 機能
          1. 1. パイプラインの失敗情報を取得して修正 (get_pipeline_failed_jobs)
          2. 2. MRの指摘事項を取得して修正 (get_review_comments)
          3. 3. MRの変更内容を取得してレビュー (get_review_changes)
        2. AIアシスタントとの連携
          1. Claude for Desktopでの設定
            1. Cursorでの設定
              ID: kf6yifqdxg