GitLab MCP for Code Review

by mehmetakinn
MIT License
1
  • Linux
  • Apple

Integrations

  • Enables interaction with GitLab's API to analyze and manage merge requests, including fetching diffs, comparing versions, adding comments, and approving/unapproving merge requests.

コードレビューのためのGitLab MCP

このプロジェクトは、cayirtepeomer/gerrit-code-review-mcpからフォークされ、GitLab 統合用に適応されています。

ClaudeのようなAIアシスタントをGitLabのマージリクエストに統合するためのMCP(Model Context Protocol)サーバー。これにより、AIアシスタントはGitLab APIを介して直接コード変更をレビューできるようになります。

特徴

  • 完全なマージリクエスト分析: 差分、コミット、コメントを含むマージリクエストの完全な詳細を取得します
  • ファイル固有の差分: マージリクエスト内の特定のファイルの変更を分析する
  • バージョン比較: 異なるブランチ、タグ、コミットを比較します
  • レビュー管理: コメントの追加、マージリクエストの承認または承認解除
  • プロジェクト概要: プロジェクト内のすべてのマージリクエストのリストを取得する

インストール

前提条件

  • Python 3.10以上
  • API スコープ (read_api、api) を持つ GitLab 個人アクセス トークン
  • 完全なMCP統合のためのカーソルIDE

クイックスタート

  1. このリポジトリをクローンします:
git clone https://github.com/yourusername/gitlab-mcp-code-review.git cd gitlab-mcp-code-review
  1. 仮想環境を作成してアクティブ化します。
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt
  1. GitLab 設定で.envファイルを作成します (すべてのオプションについては.env.example参照してください)。
# Required GITLAB_TOKEN=your_personal_access_token_here # Optional settings GITLAB_HOST=gitlab.com GITLAB_API_VERSION=v4 LOG_LEVEL=INFO

設定オプション

.envファイルでは次の環境変数を設定できます。

変数必須デフォルト説明
GITLAB_トークンはい-GitLab個人アクセストークン
GITLAB_ホストいいえgitlab.comGitLabインスタンスのホスト名
GITLAB_API_バージョンいいえv4使用するGitLab APIバージョン
ログレベルいいえ情報ログレベル(DEBUG、INFO、WARNING、ERROR、CRITICAL)
デバッグいいえ間違いデバッグモードを有効にする
リクエストタイムアウトいいえ30APIリクエストのタイムアウト(秒)
最大再試行回数いいえ3失敗したリクエストの最大再試行回数

カーソルIDE統合

この MCP を Cursor IDE で使用するには、次の構成を~/.cursor/mcp.jsonファイルに追加します。

{ "mcpServers": { "gitlab-mcp-code-review": { "command": "/path/to/your/gitlab-mcp-code-review/.venv/bin/python", "args": [ "/path/to/your/gitlab-mcp-code-review/server.py", "--transport", "stdio" ], "cwd": "/path/to/your/gitlab-mcp-code-review", "env": { "PYTHONPATH": "/path/to/your/gitlab-mcp-code-review", "VIRTUAL_ENV": "/path/to/your/gitlab-mcp-code-review/.venv", "PATH": "/path/to/your/gitlab-mcp-code-review/.venv/bin:/usr/local/bin:/usr/bin:/bin" }, "stdio": true } } }

/path/to/your/gitlab-mcp-code-reviewクローンしたリポジトリへの実際のパスに置き換えます。

利用可能なツール

MCP サーバーは、GitLab と対話するための次のツールを提供します。

道具説明
fetch_merge_requestマージリクエストに関する完全な情報を取得する
fetch_merge_request_diff特定のマージリクエストの差分を取得する
fetch_commit_diff特定のコミットの差分情報を取得する
compare_versions異なるブランチ、タグ、コミットを比較する
add_merge_request_commentマージリクエストにコメントを追加する
approve_merge_requestマージリクエストを承認する
unapprove_merge_requestマージリクエストを承認しない
get_project_merge_requestsプロジェクトのマージリクエストのリストを取得する

使用例

マージリクエストを取得する

# Get details of merge request #5 in project with ID 123 mr = fetch_merge_request("123", "5")

特定のファイルの変更を表示する

# Get diff for a specific file in a merge request file_diff = fetch_merge_request_diff("123", "5", "path/to/file.js")

ブランチを比較する

# Compare develop branch with master branch diff = compare_versions("123", "develop", "master")

マージリクエストにコメントを追加する

# Add a comment to a merge request comment = add_merge_request_comment("123", "5", "This code looks good!")

マージリクエストを承認する

# Approve a merge request and set required approvals to 2 approval = approve_merge_request("123", "5", approvals_required=2)

トラブルシューティング

問題が発生した場合:

  1. GitLabトークンに適切な権限(api、read_api)があることを確認します
  2. .envファイルの設定を確認してください
  3. MCP構成パスが正しいことを確認してください
  4. 次のコマンドで接続をテストします: curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projects
  5. より詳細なログ記録を行うには、.env ファイルで LOG_LEVEL=DEBUG を設定します。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

開発プロセスの詳細については、 CONTRIBUTING.mdファイルを参照してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Claude などの AI アシスタントを GitLab のマージ リクエストと統合する MCP サーバー。これにより、コードの変更をレビューしたり、コメントを追加したり、マージ リクエストを GitLab API 経由で直接承認/非承認したりできるようになります。

  1. 特徴
    1. インストール
      1. 前提条件
      2. クイックスタート
    2. 設定オプション
      1. カーソルIDE統合
        1. 利用可能なツール
          1. 使用例
            1. マージリクエストを取得する
            2. 特定のファイルの変更を表示する
            3. ブランチを比較する
            4. マージリクエストにコメントを追加する
            5. マージリクエストを承認する
          2. トラブルシューティング
            1. 貢献
              1. ライセンス

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  MCP Server for the GitLab API, enabling project management, file operations, and more.
                  Last updated -
                  9
                  1,630
                  44,247
                  JavaScript
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  A custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.
                  Last updated -
                  JavaScript
                • -
                  security
                  F
                  license
                  -
                  quality
                  An MCP server that enables communication with GitLab repositories, allowing interaction with GitLab's API to manage projects, issues, and repositories through natural language.
                  Last updated -
                  20
                  JavaScript
                • A
                  security
                  F
                  license
                  A
                  quality
                  An MCP server that enables AI assistants to manage GitHub Actions workflows by providing tools for listing, viewing, triggering, canceling, and rerunning workflows through the GitHub API.
                  Last updated -
                  9
                  24
                  TypeScript
                  • Linux
                  • Apple

                View all related MCP servers

                ID: 1q749wqn55