Action domain
interactive
Every action this domain exposes through gitlab_execute_action, from the gitlab://tools manifest. Each entry folds out to its full upstream description and required parameters.
4 · actions0 · destructive0 · read-only
Counted with a Free-tier GitLab token. 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.
interactive.issue_createInteractive Issue CreateCreate a GitLab issue through step-by-step prompts, with explicit confirmation before calling the GitLab API. Cancellation at any prompt aborts without creating the issue.
Input: project_id (numeric ID or URL-encoded path) selects the target project. Prompted fields are title, description, labels, confidential, and confirm. Requires permission to create issues in that project.
After invocation, the tool elicits in order:
- title (string, required): issue title.
- description (string, optional, multi-line, Markdown): leave empty to skip.
- labels (string, optional): comma-separated. Trimmed and deduped server-side.
- confidential (boolean, optional): yes/no confirmation. Defaults to public when declined.
- confirm (boolean, required): final yes/no review of the assembled summary.Behavior: cancellation/decline at any prompt aborts with no GitLab API call and no side effects. Each confirmed invocation creates ONE new issue. NON-idempotent: re-running with the same title/fields creates another issue. Side effects on success: GitLab fires issue-created webhooks and may notify issue subscribers.
When to use: human-in-the-loop issue creation. NOT for: scripted/programmatic creation. Use gitlab_issue (action='create') with all fields pre-supplied.
Requires the MCP client to support the elicitation capability. If unsupported, returns a structured error naming gitlab_issue (action='create') as the alternative.
Returns: JSON with the created issue (id, issue_iid, web_url, title, state). issue_iid corresponds to GitLab's iid field.
See also: issue.create, issue.get.
Required parameters: No required parameters
interactive.mr_createInteractive MR CreateCreate 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.
Input: project_id (numeric ID or URL-encoded path) selects the target project. Prompted fields are source_branch, target_branch, title, description, labels, remove_source_branch, squash, and confirm. Requires permission to create merge requests in that project.
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.Behavior: cancellation/decline at any prompt aborts with no GitLab API call and no side effects. Each confirmed invocation creates ONE new merge request. NON-idempotent: GitLab rejects an already-open MR for the same source_branch to target_branch in the same project as a validation failure (HTTP 422). Retries may fail with 422 instead of returning the existing MR. Confirm branch/MR state before re-running. For scripted idempotent workflows, use gitlab_merge_request (action='create') with all fields pre-supplied and handle 422 as the expected duplicate case.
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). merge_request_iid corresponds to GitLab's iid field.
See also: merge_request.create, branch.create.
Required parameters: No required parameters
interactive.project_createInteractive Project CreateCreate a GitLab project through step-by-step prompts, with explicit confirmation before calling the GitLab API. Cancellation at any prompt aborts without creating the project except initialize_with_readme, where decline/cancel continues with false.
Input: no fields. Every project detail is elicited. Requires permission to create projects for the authenticated user.
After invocation, the tool elicits in order:
- name (string, required): project display name and (when path is omitted) URL slug.
- description (string, optional): leave empty to skip.
- visibility (enum, required): one of private, internal, public.
- initialize_with_readme (boolean, optional): yes/no confirmation. Explicit no, decline, or cancel continues with false.
- default_branch (string, optional): leave empty to use the GitLab default ('main').
- confirm (boolean, required): final yes/no review of the assembled summary.When to use: human-in-the-loop project creation. NOT for: scripted/programmatic creation. Use gitlab_project (action='create') with all fields pre-supplied.
Behavior: each successful invocation creates ONE new project after explicit user confirmation. NON-idempotent: re-running with the same project path/name can fail with 400/409. Cancellation/decline at any prompt aborts with no GitLab API call and no side effects, except initialize_with_readme where no/decline/cancel is accepted as initialize_with_readme=false. Side effects on success: GitLab may initialize a repository and notify project members.
Requires the MCP client to support the elicitation capability. If unsupported, returns a structured error naming gitlab_project (action='create') as the alternative.
Returns: JSON with the created project (id, path_with_namespace, web_url, visibility, default_branch).
See also: project.get, group.get.
Required parameters: No required parameters
interactive.release_createInteractive Release CreateCreate a GitLab release through step-by-step prompts, with explicit confirmation before calling the GitLab API. Cancellation at any prompt aborts without creating the release.
Input: project_id (numeric ID or URL-encoded path) selects the target project. Prompted fields are tag_name, name, description, and confirm. Requires permission to create releases in that project.
After invocation, the tool elicits in order:
- tag_name (string, required): must reference an existing tag in the project. Create it first via gitlab_tag (action='create').
- name (string, optional): release title. Defaults to tag_name when left empty.
- description (string, optional, multi-line, Markdown): release notes. Leave empty to skip.
- confirm (boolean, required): final yes/no review of the assembled summary.When to use: human-in-the-loop release publishing. NOT for: CI/automated release creation. Use gitlab_release (action='create') with all fields pre-supplied.
Requires the MCP client to support the elicitation capability. If unsupported, returns a structured error naming gitlab_release (action='create') as the alternative.
Behavior: each successful invocation publishes ONE new release after explicit user confirmation. NON-idempotent: re-running with the same tag returns 409 (release already exists). Cancellation/decline at any prompt aborts with no GitLab API call and no side effects. Side effects on success: GitLab fires release-created webhooks and may notify release subscribers.
Returns: JSON with the created release (tag_name, name, description, web_url).
See also: release.create, tag.create.
Required parameters: No required parameters