🚀 GitLab MR MCP について
GitLab MR MCP は、AI エージェントが GitLab のマージリクエストや イシューを操作できるようにする MCP サーバーです。GitLab API を通じてコードレビューを支援させたいチーム向けです。
主な機能
- 01トークンで利用可能な GitLab プロジェクトの一覧取得
- 02マージリクエストの詳細、差分、コメントの取得
- 03全体コメントと行単位コメントの追加
- 04マージリクエストのタイトルと説明の設定
活用シーン
- 01AI エージェントによるマージリクエストのレビュー支援
- 02マージリクエストの差分の行単位でのフィードバック
MCP 対応
本プロジェクトは、GitLab のマージリクエストとイシューに関するツールを MCP クライアントに提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🚀 GitLab MR MCP
GitLab のマージリクエストやイシューを操作するための、Model Context Protocol(MCP)サーバーです。
📌 概要
このプロジェクトは、AI エージェントが GitLab リポジトリを操作できるようにする、Model Context Protocol(MCP)を使用したサーバーを実装しています。次のツールを提供します。
- 利用可能な GitLab プロジェクトの一覧表示
- マージリクエストの詳細とコメントの取得
- マージリクエストの差分の取得
- マージリクエストへのコメントの追加
- マージリクエストの差分に含まれるコードへの行単位のコメントの追加
- イシューの詳細の取得
- マージリクエストのタイトルと説明の設定
📦 インストール
⚡ Smithery を使用する
Smithery 経由で Claude Desktop に GitLab MR MCP を自動インストールするには:
npx -y @smithery/cli@latest install @kopfrechner/gitlab-mr-mcp --client claude --config '"{\"gitlabMrMcpToken\":\"YOUR_GITLAB_TOKEN\", \"gitlabMrMcpHost\": \"YOUR_GITLAB_HOST\"}"'
🛠️ 手動インストール
🔧 前提条件
- Node.js
- API アクセス権を持つ GitLab アクセストークン
- GitLab プロジェクト ID
📖 セットアップ
- このリポジトリをクローンします
- 依存関係をインストールします:
npm install
- MCP クライアントの設定に以下を追加します:
{
"mcpServers": {
"gitlab-mr-mcp": {
"command": "node",
"args": ["/path/to/gitlab-mr-mcp/index.js"],
"env": {
"MR_MCP_GITLAB_TOKEN": "your_gitlab_token",
"MR_MCP_GITLAB_HOST": "your_gitlab_host"
}
}
}
}
🛠️ 利用可能なツール
-
get_projectsトークンでアクセスできる GitLab プロジェクトの一覧を取得します。 -
list_open_merge_requests指定したプロジェクトのすべてのオープン中のマージリクエストを一覧表示します。 -
get_merge_request_details特定のマージリクエストの詳細情報を取得します。 -
get_merge_request_commentsディスカッションのノートや差分ノートを含む、特定のマージリクエストのコメントを取得します。 -
add_merge_request_commentマージリクエストに一般的なコメントを追加します。 -
add_merge_request_diff_commentマージリクエスト内のファイルの特定の行にコメントを追加します。 -
get_merge_request_diffマージリクエストの差分を取得します。 -
get_issue_details特定のイシューの詳細情報を取得します。 -
set_merge_request_titleマージリクエストのタイトルを設定します -
set_merge_request_descriptionマージリクエストの説明を設定します
🏗️ 開発
🔍 Inspector の実行
環境変数を設定します:
export MR_MCP_GITLAB_TOKEN=your_gitlab_token
export MR_MCP_GITLAB_HOST=your_gitlab_host
# Optional env vars to filter the projects the `get_projects` tool has access to:
# https://docs.gitlab.com/api/access_requests/#valid-access-levels
export MR_MCP_MIN_ACCESS_LEVEL=min_access_level
# Search term that should match the project path or name
export MR_MCP_PROJECT_SEARCH_TERM=term
MCP クライアントで使用する場合は、次のコマンドを実行できます:
npx -y @modelcontextprotocol/inspector npm start
🛠️ トラブルシューティング
権限の問題(403 Forbidden)が発生した場合は、以下を確認してください。
- GitLab トークンに適切なスコープ(api、read_api)があること
- トークンのユーザーがプロジェクトへの適切なアクセス権を持っていること
- プロジェクト ID が正しいこと
📜 ライセンス
🤝 貢献
貢献を歓迎します。お気軽にプルリクエストを送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
