Interactive Project Create
gitlab_interactive_project_createCreate a GitLab project interactively by responding to step-by-step prompts for name, description, visibility, readme option, and default branch, with explicit confirmation before the API call to ensure human oversight.
Instructions
Create 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.
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; defaults to false when declined.
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.
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: gitlab_project, gitlab_group.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional: pre-fill project ID or path for tools that need it |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next_steps | No | ||
| id | Yes | ||
| name | Yes | ||
| path | Yes | ||
| path_with_namespace | Yes | ||
| name_with_namespace | No | ||
| visibility | Yes | ||
| default_branch | Yes | ||
| web_url | Yes | ||
| description | Yes | ||
| archived | Yes | ||
| empty_repo | No | ||
| forks_count | No | ||
| star_count | No | ||
| open_issues_count | No | ||
| http_url_to_repo | No | ||
| ssh_url_to_repo | No | ||
| namespace | No | ||
| topics | Yes | ||
| merge_method | No | ||
| squash_option | No | ||
| only_allow_merge_if_pipeline_succeeds | Yes | ||
| only_allow_merge_if_all_discussions_are_resolved | Yes | ||
| remove_source_branch_after_merge | Yes | ||
| forked_from_project | No | ||
| marked_for_deletion_on | No | ||
| created_at | Yes | ||
| updated_at | No | ||
| last_activity_at | No | ||
| readme_url | No | ||
| avatar_url | No | ||
| creator_id | No | ||
| request_access_enabled | Yes | ||
| issues_enabled | Yes | ||
| merge_requests_enabled | Yes | ||
| wiki_enabled | Yes | ||
| jobs_enabled | Yes | ||
| lfs_enabled | Yes | ||
| ci_config_path | No | ||
| allow_merge_on_skipped_pipeline | Yes | ||
| merge_pipelines_enabled | Yes | ||
| merge_trains_enabled | Yes | ||
| merge_commit_template | No | ||
| squash_commit_template | No | ||
| autoclose_referenced_issues | Yes | ||
| approvals_before_merge | No | ||
| resolve_outdated_diff_discussions | Yes | ||
| container_registry_enabled | No | ||
| shared_runners_enabled | No | ||
| public_builds | No | ||
| snippets_enabled | No | ||
| packages_enabled | No | ||
| package_registry_access_level | No | ||
| build_timeout | No | ||
| suggestion_commit_message | No | ||
| compliance_frameworks | No | ||
| import_url | No | ||
| merge_request_title_regex | No | ||
| merge_request_title_regex_description | No |