# merge_request — gitlab

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

Canonical: https://mcp.jmrp.io/servers/gitlab/actions/merge_request/
Language: en
Alternate: https://mcp.jmrp.io/es/servers/gitlab/actions/merge_request/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

### `merge_request.approval_config` — MR Approval Config

_read-only_

Get the approvals of a merge request. Returns: whether it is approved, the approved-by users with timestamps, and whether the calling user has approved and may approve. For approvals required and left, use the approval state. See also: merge_request.approve.

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

### `merge_request.approval_reset` — MR Approval Reset

_destructive_

Reset all approvals on a merge request. Returns: a success confirmation. See also: merge_request.approval_config, merge_request.unapprove.

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

### `merge_request.approve` — MR Approve

Approve a merge request on behalf of the caller. Returns: the approval state with required-approvals count, approved-by count, and overall approved flag. See also: merge_request.unapprove, merge_request.merge, merge_request.get.

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

### `merge_request.cancel_auto_merge` — MR Cancel Auto Merge

Cancel auto-merge (merge-when-pipeline-succeeds) on a merge request. Returns: the MR with auto-merge disabled. See also: merge_request.merge, merge_request.get.

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

### `merge_request.commits` — MR Commits

_read-only_

List the commits that make up a merge request. Returns: commit SHAs, titles, authors, and timestamps with pagination metadata. See also: merge_request.get, repository.commit_get.

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

### `merge_request.context_commits_create` — Create MR Context Commits

Attach existing repository commit SHAs to a merge request as context commits. Returns: the resulting context commit summaries (full SHA, short SHA, title, author name/email, created date). See also: merge_request.context_commits_list, merge_request.context_commits_delete, repository.commit_get.

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

### `merge_request.context_commits_delete` — Delete MR Context Commits

_destructive_

Remove context commits from a merge request by SHA, detaching them from the review. Returns: a success confirmation. The underlying repository commits are left intact. See also: merge_request.context_commits_list, merge_request.context_commits_create, merge_request.get.

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

### `merge_request.context_commits_list` — List MR Context Commits

_read-only_

List the context commits pinned to a merge request for review. Returns: commit summaries (full SHA, short SHA, title, author name/email, created date). See also: merge_request.get, merge_request.context_commits_create, merge_request.context_commits_delete.

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

### `merge_request.create` — MR Create

Open a new merge request from a source branch into a target branch. Returns: the created MR with IID, state, source/target branches, merge status, assignees, reviewers, labels, and web URL. See also: merge_request.get, merge_request.list, merge_request.merge.

**Required parameters:** `project_id (string)`, `source_branch (string)`, `target_branch (string)`, `title (string)`

### `merge_request.create_pipeline` — MR Create Pipeline

Trigger a new CI/CD pipeline for a merge request. Returns: the created pipeline with id, status, ref, sha, and web URL. See also: merge_request.pipelines, pipeline.get.

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

### `merge_request.create_todo` — MR Create Todo

Create a to-do for a merge request for the caller. Returns: the created to-do item with action, target, and state. See also: merge_request.get, merge_request.subscribe.

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

### `merge_request.delete` — MR Delete

_destructive_

Delete a merge request permanently. Returns: a success confirmation naming the MR and project. See also: merge_request.update, merge_request.get.

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

### `merge_request.emoji_mr_create` — MR Emoji Create

Add an emoji reaction to a merge request. Returns: the created award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_list, merge_request.emoji_mr_delete.

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

### `merge_request.emoji_mr_delete` — MR Emoji Delete

_destructive_

Remove an emoji reaction from a merge request by award id. Returns: a success confirmation naming the award emoji. See also: merge_request.emoji_mr_list, merge_request.emoji_mr_get.

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

### `merge_request.emoji_mr_get` — MR Emoji Get

_read-only_

Get a single emoji reaction on a merge request by award id. Returns: the award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_list, merge_request.emoji_mr_delete.

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

### `merge_request.emoji_mr_list` — MR Emoji List

_read-only_

List all emoji reactions on a merge request. Returns: each award with its emoji name, the awarding user object, awardable id/type, and pagination metadata. See also: merge_request.emoji_mr_get, merge_request.emoji_mr_create, merge_request.get.

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

### `merge_request.emoji_mr_note_create` — MR Note Emoji Create

Add an emoji reaction to a merge request note. Returns: the created award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_note_list, merge_request.emoji_mr_note_delete.

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

### `merge_request.emoji_mr_note_delete` — MR Note Emoji Delete

_destructive_

Remove an emoji reaction from a merge request note by award id. Returns: a success confirmation naming the award emoji. See also: merge_request.emoji_mr_note_list, merge_request.emoji_mr_note_get.

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

### `merge_request.emoji_mr_note_get` — MR Note Emoji Get

_read-only_

Get a single emoji reaction on a merge request note by award id. Returns: the award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_note_list, merge_request.emoji_mr_note_delete.

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

### `merge_request.emoji_mr_note_list` — MR Note Emoji List

_read-only_

List all emoji reactions on a merge request note (comment). Returns: each award with its emoji name, the awarding user object, awardable id/type, and pagination metadata. See also: merge_request.emoji_mr_note_get, merge_request.emoji_mr_note_create, mr_review.note_get.

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

### `merge_request.event_mr_label_get` — MR Label Event Get

_read-only_

Get a single label event for a merge request. Returns: the event with action, the label object, and the acting user. See also: merge_request.event_mr_label_list.

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

### `merge_request.event_mr_label_list` — MR Label Event List

_read-only_

List label events for a merge request. Returns: label events with action, the label object, the acting user, and pagination metadata. See also: merge_request.event_mr_label_get, merge_request.get.

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

### `merge_request.event_mr_milestone_get` — MR Milestone Event Get

_read-only_

Get a single milestone event for a merge request. Returns: the event with action, the milestone object, and the acting user. See also: merge_request.event_mr_milestone_list.

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

### `merge_request.event_mr_milestone_list` — MR Milestone Event List

_read-only_

List milestone events for a merge request. Returns: milestone events with action, the milestone object, the acting user, and pagination metadata. See also: merge_request.event_mr_milestone_get, merge_request.get.

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

### `merge_request.event_mr_state_get` — MR State Event Get

_read-only_

Get a single state event for a merge request. Returns: the event with the state value and the acting user. See also: merge_request.event_mr_state_list.

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

### `merge_request.event_mr_state_list` — MR State Event List

_read-only_

List state events for a merge request. Returns: state events with the state value, the acting user, and pagination metadata. See also: merge_request.event_mr_state_get, merge_request.get.

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

### `merge_request.get` — MR Get

_read-only_

Get a single merge request from a project by its IID. Returns: MR metadata, state, source/target branches, merge status, assignees, reviewers, labels, milestone, and web URL. See also: merge_request.list, merge_request.update, merge_request.merge, merge_request.commits.

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

### `merge_request.issues_closed` — MR Issues Closed

_read-only_

List issues that will be closed when the merge request is merged. Returns: issues with state, labels, assignees, and web URL plus pagination metadata. See also: merge_request.related_issues, issue.get.

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

### `merge_request.list` — MR List

_read-only_

List merge requests in one project with filtering and pagination. Returns: matching MRs with state, branches, merge status, assignees, reviewers, labels, and pagination metadata. See also: merge_request.get, merge_request.create, merge_request.list_group.

**Required parameters:** `project_id (string)`

### `merge_request.list_global` — MR List Global

_read-only_

List merge requests across all accessible projects. Returns: visible MRs with project context, state, branches, and pagination metadata. See also: merge_request.list, merge_request.list_group, search.merge_requests.

### `merge_request.list_group` — MR List Group

_read-only_

List merge requests across a group and its projects. Returns: visible MRs with project context, state, branches, and pagination metadata. See also: merge_request.list, merge_request.list_global, group.get.

**Required parameters:** `group_id (string)`

### `merge_request.merge` — MR Merge

_destructive_

Merge a merge request now, or schedule auto-merge when its pipeline succeeds. Returns: the merged MR with merge_commit_sha and updated state. See also: merge_request.get, merge_request.pipelines, merge_request.cancel_auto_merge.

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

### `merge_request.participants` — MR Participants

_read-only_

List the participants of a merge request. Returns: participating users with username, name, and state. See also: merge_request.reviewers, merge_request.get.

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

### `merge_request.pipelines` — MR Pipelines

_read-only_

List the CI/CD pipelines attached to a merge request. Returns: pipelines with id, status, ref, sha, and web URL. See also: merge_request.create_pipeline, merge_request.merge, pipeline.get.

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

### `merge_request.rebase` — MR Rebase

Rebase a merge request's source branch onto its target. Returns: whether a rebase is now in progress (poll merge_request.get to track completion). See also: merge_request.get, merge_request.merge.

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

### `merge_request.related_issues` — MR Related Issues

_read-only_

List issues related to a merge request. Returns: issues with state, labels, assignees, and web URL plus pagination metadata. See also: merge_request.issues_closed, issue.get.

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

### `merge_request.reviewers` — MR Reviewers

_read-only_

List the reviewers of a merge request. Returns: reviewer users with username, name, and review state. See also: merge_request.participants, merge_request.update.

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

### `merge_request.spent_time_add` — MR Add Spent Time

Add spent time to a merge request. Returns: the updated time tracking stats (estimate and spent time, seconds and human-readable). See also: merge_request.spent_time_reset, merge_request.time_estimate_set, merge_request.time_stats.

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

### `merge_request.spent_time_reset` — MR Reset Spent Time

Reset a merge request's spent time. Returns: the updated time tracking stats. See also: merge_request.spent_time_add, merge_request.time_stats.

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

### `merge_request.subscribe` — MR Subscribe

Subscribe the caller to a merge request's notifications. Returns: the MR with the updated subscription state. See also: merge_request.unsubscribe, merge_request.get.

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

### `merge_request.time_estimate_reset` — MR Reset Time Estimate

Clear a merge request's time estimate. Returns: the updated time tracking stats. See also: merge_request.time_estimate_set, merge_request.time_stats.

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

### `merge_request.time_estimate_set` — MR Set Time Estimate

Set a merge request's time estimate. Returns: the updated time tracking stats (estimate and spent time, seconds and human-readable). See also: merge_request.time_estimate_reset, merge_request.spent_time_add, merge_request.time_stats.

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

### `merge_request.time_stats` — MR Time Stats

_read-only_

Read a merge request's time tracking totals. Returns: estimate and spent time in seconds and human-readable form. See also: merge_request.time_estimate_set, merge_request.spent_time_add.

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

### `merge_request.unapprove` — MR Unapprove

_destructive_

Remove the caller's approval from a merge request. Returns: a success confirmation naming the MR and project. See also: merge_request.approve, merge_request.get.

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

### `merge_request.unsubscribe` — MR Unsubscribe

Unsubscribe the caller from a merge request's notifications. Returns: the MR with the updated subscription state. See also: merge_request.subscribe, merge_request.get.

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

### `merge_request.update` — MR Update

Update an existing merge request's fields or state. Returns: the updated MR with its new field values, state, labels, assignees, and reviewers. See also: merge_request.get, merge_request.merge, merge_request.approve.

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