Skip to main content
Glama

Interactive Project Create

gitlab_interactive_project_create

Create 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

TableJSON Schema
NameRequiredDescriptionDefault
project_idNoOptional: pre-fill project ID or path for tools that need it

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
next_stepsNo
idYes
nameYes
pathYes
path_with_namespaceYes
name_with_namespaceNo
visibilityYes
default_branchYes
web_urlYes
descriptionYes
archivedYes
empty_repoNo
forks_countNo
star_countNo
open_issues_countNo
http_url_to_repoNo
ssh_url_to_repoNo
namespaceNo
topicsYes
merge_methodNo
squash_optionNo
only_allow_merge_if_pipeline_succeedsYes
only_allow_merge_if_all_discussions_are_resolvedYes
remove_source_branch_after_mergeYes
forked_from_projectNo
marked_for_deletion_onNo
created_atYes
updated_atNo
last_activity_atNo
readme_urlNo
avatar_urlNo
creator_idNo
request_access_enabledYes
issues_enabledYes
merge_requests_enabledYes
wiki_enabledYes
jobs_enabledYes
lfs_enabledYes
ci_config_pathNo
allow_merge_on_skipped_pipelineYes
merge_pipelines_enabledYes
merge_trains_enabledYes
merge_commit_templateNo
squash_commit_templateNo
autoclose_referenced_issuesYes
approvals_before_mergeNo
resolve_outdated_diff_discussionsYes
container_registry_enabledNo
shared_runners_enabledNo
public_buildsNo
snippets_enabledNo
packages_enabledNo
package_registry_access_levelNo
build_timeoutNo
suggestion_commit_messageNo
compliance_frameworksNo
import_urlNo
merge_request_title_regexNo
merge_request_title_regex_descriptionNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Details step-by-step interaction flow, cancellation behavior, confirmation requirement, and error handling for unsupported clients. Adds substantial context beyond the annotations (destructiveHint=false, openWorldHint=true).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with a summary sentence, ordered bullet points, and separate sections for usage and returns. Slightly verbose but each sentence adds value; could be slightly trimmed without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, complete interactive flow, when to use/not, alternatives, client requirement, error handling, and return format. No gaps given the presence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only schema parameter (project_id) is already described in the schema (100% coverage). Description does not add additional meaning for that parameter. The interactive parameters are not in schema, so no extra value for schema parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a GitLab project via step-by-step prompts with confirmation, distinguishing it from the programmatic sibling 'gitlab_project'. The verb 'create' and resource 'project' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (human-in-the-loop) and when not (scripted/programmatic, pointing to gitlab_project as alternative). Also mentions client capability requirement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmrplens/gitlab-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server