# mr_review — gitlab

> 23 actions
> This page as plain markdown. Index: https://mcp.jmrp.io/llms.txt

Canonical: https://mcp.jmrp.io/servers/gitlab/actions/mr_review/
Language: en
Alternate: https://mcp.jmrp.io/es/servers/gitlab/actions/mr_review/index.md
Updated: 2026-09-11T09:56:41+02:00
License: https://mcp.jmrp.io/license/

Counted with a Free-tier token against gitlab.com, which is the only host this endpoint talks to: to use it against a self-managed instance, run the server yourself — its documentation covers that. The catalog is scoped to the token that asks, so the count moves with both its tier and its permissions: higher tiers expose more actions, and administration domains only appear to tokens allowed to use them. That is why the figures differ elsewhere: the upstream project catalogues 1,006 actions across 162 domains, and 851 on the Free/CE surface, while this deployment publishes 747 because it is OAuth-only and acts with your token, so the administration domains a non-admin account cannot call never appear. All three describe the same catalog, counted from three vantage points.

## Actions

### `mr_review.changes_get` — MR Changes Get

_read-only_

Get the current file diffs (changes) for a merge request. Returns: per-file diffs with old_path, new_path, diff content, file status (added/deleted/renamed), file modes, and truncated_files when GitLab collapses large diffs. See also: mr_review.diff_versions_list, mr_review.raw_diffs, merge_request.get.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.diff_version_get` — MR Diff Version Get

_read-only_

Get a single merge request diff version with its commits and file diffs. Returns: the diff version with id, SHAs, state, real_size, the full commit list, and per-file diffs (optionally in unified-diff format). See also: mr_review.diff_versions_list, mr_review.changes_get.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`, `version_id (integer)`

### `mr_review.diff_versions_list` — MR Diff Versions List

_read-only_

List all diff versions (historical snapshots) of a merge request. Returns: an array of diff versions with id, head/base/start SHAs, state, real_size, and created_at, plus pagination metadata. See also: mr_review.diff_version_get, mr_review.changes_get.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.discussion_create` — MR Discussion Create

Create a new discussion thread on a merge request, optionally as an inline diff comment. Returns: the created thread with its first note (author, body, resolvable state, diff position). See also: mr_review.discussion_reply, mr_review.discussion_list, mr_review.changes_get.

**Required parameters:** `body (string)`, `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.discussion_get` — MR Discussion Get

_read-only_

Get a single merge request discussion thread by its discussion id. Returns: the thread with every note (author, body, system flag, resolvable/resolved state, diff position). See also: mr_review.discussion_list, mr_review.discussion_reply, mr_review.discussion_resolve.

**Required parameters:** `discussion_id (string)`, `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.discussion_list` — MR Discussion List

_read-only_

List discussion threads on a merge request with ordering and keyset pagination. Returns: discussion threads with their notes (author, body, system flag, resolvable state, diff position) and pagination metadata. See also: mr_review.discussion_get, mr_review.discussion_create, merge_request.get, mr_review.note_list.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.discussion_note_delete` — MR Discussion Note Delete

_destructive_

Delete a note from a merge request discussion thread (destructive). Returns: a deletion confirmation message. See also: mr_review.discussion_note_update, mr_review.discussion_get, mr_review.discussion_list.

**Required parameters:** `discussion_id (string)`, `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.discussion_note_update` — MR Discussion Note Update

Update the body or resolved state of a note in a merge request discussion thread. Returns: the updated note. See also: mr_review.discussion_reply, mr_review.discussion_note_delete, mr_review.discussion_get.

**Required parameters:** `discussion_id (string)`, `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.discussion_reply` — MR Discussion Reply

Add a reply note to an existing merge request discussion thread. Returns: the created note (author, body, timestamps, resolvable state). See also: mr_review.discussion_create, mr_review.discussion_get, mr_review.discussion_note_update.

**Required parameters:** `body (string)`, `discussion_id (string)`, `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.discussion_resolve` — MR Discussion Resolve

Resolve or unresolve a merge request discussion thread. Returns: the thread with its updated resolved state and notes. See also: mr_review.discussion_get, mr_review.discussion_list, mr_review.discussion_reply.

**Required parameters:** `discussion_id (string)`, `merge_request_iid (integer)`, `project_id (string)`, `resolved (boolean)`

### `mr_review.draft_note_create` — MR Draft Note Create

Create a pending draft note on a merge request. Returns: the created draft note with ID, author, body, and inline position. See also: mr_review.draft_note_list, mr_review.draft_note_publish, mr_review.draft_note_publish_all.

**Required parameters:** `merge_request_iid (integer)`, `note (string)`, `project_id (string)`

### `mr_review.draft_note_delete` — MR Draft Note Delete

_destructive_

Delete a pending draft note permanently. Returns: a success confirmation naming the note, merge request, and project. See also: mr_review.draft_note_list, mr_review.draft_note_get.

**Required parameters:** `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.draft_note_get` — MR Draft Note Get

_read-only_

Get a single draft note from a merge request. Returns: the draft note with author, body, resolve flag, line code, and inline diff position. See also: mr_review.draft_note_list, mr_review.draft_note_update, mr_review.draft_note_publish.

**Required parameters:** `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.draft_note_list` — MR Draft Note List

_read-only_

List pending draft notes on a merge request. Returns: each draft note with author, body, optional inline position, line code, and pagination metadata. See also: mr_review.draft_note_get, mr_review.draft_note_create, mr_review.draft_note_publish_all.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.draft_note_publish` — MR Draft Note Publish

Publish a single draft note as a regular merge request note. Returns: a success confirmation naming the note, merge request, and project. See also: mr_review.draft_note_publish_all, mr_review.draft_note_list.

**Required parameters:** `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.draft_note_publish_all` — MR Draft Note Publish All

Publish all of the user's pending draft notes on a merge request. Returns: a success confirmation naming the merge request and project. See also: mr_review.draft_note_list, mr_review.draft_note_publish.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.draft_note_update` — MR Draft Note Update

Update a pending draft note's body or position. Returns: the updated draft note. See also: mr_review.draft_note_get, mr_review.draft_note_publish.

**Required parameters:** `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.note_create` — MR Note Create

Add a general comment (note) to a merge request. Returns: the created note with id, author, body, timestamps, and resolvable/internal flags. See also: mr_review.note_list, merge_request.get, mr_review.discussion_create.

**Required parameters:** `body (string)`, `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.note_delete` — MR Note Delete

_destructive_

Delete a merge request note permanently. Returns: a success confirmation naming the note, MR, and project. See also: mr_review.note_get, mr_review.note_list.

**Required parameters:** `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.note_get` — MR Note Get

_read-only_

Get a single merge request note by its ID. Returns: the note with author, body, timestamps, position, and resolvable/internal flags. See also: mr_review.note_list, mr_review.note_update, mr_review.note_delete.

**Required parameters:** `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.note_list` — MR Notes List

_read-only_

List all notes (comments) on a merge request. Returns: notes with author, body, system/internal flags, and pagination metadata. See also: mr_review.note_get, mr_review.note_create, mr_review.discussion_list.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`

### `mr_review.note_update` — MR Note Update

Update a merge request note's body. Returns: the updated note with new body and updated_at timestamp. See also: mr_review.note_get, mr_review.note_list, mr_review.note_delete.

**Required parameters:** `body (string)`, `merge_request_iid (integer)`, `note_id (integer)`, `project_id (string)`

### `mr_review.raw_diffs` — MR Raw Diffs

_read-only_

Get the raw unified-diff output for a merge request in plain-text git-apply format. Returns: raw_diff, a single plain-text unified diff for the MR head suitable for patch application or programmatic analysis. See also: mr_review.changes_get, mr_review.diff_versions_list.

**Required parameters:** `merge_request_iid (integer)`, `project_id (string)`
