コードレビューのための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 統合用のCursor IDEまたはClaude デスクトップ アプリ
クイックスタート
- このリポジトリをクローンします:
- 仮想環境を作成してアクティブ化します。
- 依存関係をインストールします:
- GitLab 設定で
.env
ファイルを作成します (すべてのオプションについては.env.example
参照してください)。
設定オプション
.env
ファイルでは次の環境変数を設定できます。
変数 | 必須 | デフォルト | 説明 |
---|---|---|---|
GITLAB_トークン | はい | - | GitLab個人アクセストークン |
GITLAB_ホスト | いいえ | gitlab.com | GitLabインスタンスのホスト名 |
GITLAB_API_バージョン | いいえ | v4 | 使用するGitLab APIバージョン |
ログレベル | いいえ | 情報 | ログレベル(DEBUG、INFO、WARNING、ERROR、CRITICAL) |
デバッグ | いいえ | 間違い | デバッグモードを有効にする |
リクエストタイムアウト | いいえ | 30 | APIリクエストのタイムアウト(秒) |
最大再試行回数 | いいえ | 3 | 失敗したリクエストの最大再試行回数 |
カーソルIDE統合
この MCP を Cursor IDE で使用するには、次の構成を~/.cursor/mcp.json
ファイルに追加します。
/path/to/your/gitlab-mcp-code-review
クローンしたリポジトリへの実際のパスに置き換えます。
クロードデスクトップアプリ統合
この MCP を Claude デスクトップ アプリで使用するには:
- Claudeデスクトップアプリを開く
- 設定→詳細設定→MCP構成に移動します
- 次の構成を追加します。
/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 | プロジェクトのマージリクエストのリストを取得する |
使用例
マージリクエストを取得する
特定のファイルの変更を表示する
ブランチを比較する
マージリクエストにコメントを追加する
マージリクエストを承認する
トラブルシューティング
問題が発生した場合:
- GitLabトークンに適切な権限(api、read_api)があることを確認します
.env
ファイルの設定を確認してください- MCP構成パスが正しいことを確認してください
- 次のコマンドで接続をテストします:
curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projects
- より詳細なログ記録を行うには、.env ファイルで LOG_LEVEL=DEBUG を設定します。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークする
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature
) - 変更をコミットします (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュする (
git push origin feature/amazing-feature
) - プルリクエストを開く
開発プロセスの詳細については、 CONTRIBUTING.mdファイルを参照してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Claude などの AI アシスタントを GitLab のマージ リクエストと統合する MCP サーバー。これにより、コードの変更をレビューしたり、コメントを追加したり、マージ リクエストを GitLab API 経由で直接承認/非承認したりできるようになります。
Related MCP Servers
- -securityFlicense-qualityA 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
- -securityFlicense-qualityAn 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 -201JavaScriptMIT License
- AsecurityFlicenseAqualityAn 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 -91637TypeScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to interact with GitLab repositories, allowing tasks like managing merge requests, searching projects, and creating comments through RESTful API integration.Last updated -672TypeScript