GitLab Merge Request Review
Perform a code review on a GitLab merge request. Prefer glab MCP for fetching MR data; use glab CLI when MCP is unavailable.
Repo and MR Resolution
Default repo
- Default: The GitLab project is assumed to be the same as the current project name (e.g. workspace or repo directory name).
- If the current directory is a Git repo with a GitLab remote, use that to infer
namespace/projectwhen possible.
When repo is missing or wrong
If any of these are true:
- Not in a Git repo, or
- No GitLab remote, or
- The MR to review is in a different project,
then ask the user for:
- Repo: GitLab project path (
namespace/projector full path), or the repo URL. - MR: Merge request IID (e.g.
42) or branch name, if not the current branch.
Do not guess the repo; ask once you know the default does not apply or cannot be determined.
Workflow
- Resolve repo
- Use default (project name / current GitLab remote). - If not available or not the target repo, ask user for repo (and MR if needed).
- Resolve MR
- Prefer the merge request for the current branch. - If user specified an MR IID or branch, use that. - If none can be determined, ask for MR IID or branch.
- Fetch MR data
- MCP: Use glab MCP tools to get MR details and diff (e.g. view MR, get diff). - CLI: glab mr view [MR_IID] and glab mr diff [MR_IID] (omit MR_IID when one MR is in context for current branch). - Ensure you have the full diff and title/description before reviewing.
- Perform the review
- Analyze the diff for: - Correctness and logic - Security and data handling - Style, naming, and structure - Tests and edge cases - Docs and comments where relevant - Produce a concise review: summary, list of findings (with file/line or hunk context), and suggestions.
- Optional: post as MR comment
- Only after user confirmation. Do not post to GitLab until the user explicitly agrees. - MCP: Use the tool to add a comment (e.g. MR note) with the review text. - CLI: glab mr note [MR_IID] --message "..." with the review body (escape or quote appropriately).
Getting MR data
- MCP: Use available glab MCP tools to:
- List or get the current/specified MR - Retrieve the MR diff
- CLI (from repo with glab auth):
- glab mr view - view MR for current branch (or glab mr view <IID>) - glab mr diff - diff for current branch MR (or glab mr diff <IID>) - If repo is different: glab mr view -R namespace/project <IID> and glab mr diff -R namespace/project <IID>
Review output format
- Summary: 2-4 sentences on what the MR does and overall assessment.
- Findings: Group by severity or category (e.g. "Blocking", "Suggestions", "Nits").
- For each item: file (and line/hunk if possible), issue, and suggested change or question.
- Conclusion: Approve / approve with comments / request changes (or equivalent), and any follow-up steps.
Keep the review actionable: clear, specific, and tied to the diff.
Checklist
- Repo resolved (default = project name; else asked user for repo)
- MR resolved (current branch or user-specified IID/branch)
- MR details and full diff fetched (MCP or CLI)
- Review written with summary, findings with context, and conclusion
- If posting comment: user confirmed; then used MCP or
glab mr note