Interactive MR Create
gitlab_interactive_mr_createInteractively create a GitLab merge request by answering step-by-step prompts for source branch, target branch, title, description, labels, and settings. Final confirmation before API call; cancel anytime to abort.
Instructions
Create a GitLab merge request through step-by-step prompts, with explicit confirmation before calling the GitLab API. Cancellation at any prompt aborts without creating the MR.
After invocation, the tool elicits in order:
source_branch (string, required) — branch with the changes to merge.
target_branch (string, required) — branch to merge into (e.g. main, develop).
title (string, required) — MR title.
description (string, optional, multi-line, Markdown) — leave empty to skip.
labels (string, optional) — comma-separated; trimmed and deduped server-side.
remove_source_branch (boolean, optional) — yes/no confirmation; default unset.
squash (boolean, optional) — yes/no confirmation; default unset.
confirm (boolean, required) — final yes/no review of the assembled summary.
When to use: human-in-the-loop MR creation. NOT for: scripted/programmatic creation — use gitlab_merge_request (action='create') with all fields pre-supplied.
Requires the MCP client to support the elicitation capability. If unsupported, returns a structured error naming gitlab_merge_request (action='create') as the alternative.
Returns: JSON with the created MR (id, merge_request_iid, web_url, title, source_branch, target_branch, state).
See also: gitlab_merge_request, gitlab_branch.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID or URL-encoded path where the MR will be created |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next_steps | No | ||
| id | Yes | ||
| merge_request_iid | Yes | ||
| project_id | Yes | ||
| project_path | No | ||
| source_project_id | No | ||
| target_project_id | No | ||
| title | Yes | ||
| description | Yes | ||
| state | Yes | ||
| source_branch | Yes | ||
| target_branch | Yes | ||
| web_url | Yes | ||
| merge_status | Yes | ||
| draft | Yes | ||
| has_conflicts | Yes | ||
| blocking_discussions_resolved | Yes | ||
| squash | No | ||
| squash_on_merge | No | ||
| merge_when_pipeline_succeeds | No | ||
| should_remove_source_branch | No | ||
| discussion_locked | Yes | ||
| rebase_in_progress | No | ||
| author | No | ||
| merged_by | No | ||
| assignees | Yes | ||
| reviewers | Yes | ||
| labels | Yes | ||
| milestone | No | ||
| references | No | ||
| sha | No | ||
| merge_commit_sha | No | ||
| merge_error | No | ||
| changes_count | No | ||
| diverged_commits_count | No | ||
| upvotes | No | ||
| downvotes | No | ||
| squash_commit_sha | No | ||
| force_remove_source_branch | No | ||
| allow_collaboration | No | ||
| closed_by | No | ||
| merge_after | No | ||
| task_completion_count | No | ||
| task_completion_total | No | ||
| time_estimate | No | ||
| total_time_spent | No | ||
| subscribed | No | ||
| first_contribution | No | ||
| diff_refs | No | ||
| pipeline_id | No | ||
| pipeline_web_url | No | ||
| pipeline_name | No | ||
| head_pipeline_id | No | ||
| latest_build_started_at | No | ||
| latest_build_finished_at | No | ||
| created_at | Yes | ||
| updated_at | Yes | ||
| merged_at | No | ||
| closed_at | No | ||
| prepared_at | No | ||
| user_notes_count | No |