Skip to main content
Glama

Delete milestone

gitlab_delete_milestone
DestructiveIdempotent

Deletes a project milestone in GitLab by project and milestone ID, requiring confirmation for this destructive operation.

Instructions

Delete a project milestone.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "gitlab_delete_milestone"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataNo
titleNo
confirmNoExplicitly confirm this destructive operation. Needed only when the client cannot answer a confirmation prompt.
project_idNo
descriptionNo
state_eventNo
milestone_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv27.3.18
    • addedInput schema / properties / confirm
      Added value: +{
      +  "default": false,
      +  "description": "Explicitly confirm this destructive operation. Needed only when the client cannot answer a confirmation prompt.",
      +  "type": "boolean"
      +}
  2. First observedv27.3.13

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no statement about permanence, what happens to issues assigned to the milestone, or the confirmation flow the 'confirm' field implies. For a destructive operation, this leaves real behavioral questions unanswered.

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

Conciseness3/5

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

The single sentence is front-loaded and contains no filler, so nothing is wasted. However, the terseness reads as under-specification rather than economy for a destructive, 7-parameter tool.

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

Completeness2/5

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

Given 7 loosely-typed optional parameters, no output schema, and a destructive effect, the description is not complete enough to invoke the tool confidently. Annotations carry the safety signal, but target identification and the confirm requirement are left entirely to inference.

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

Parameters1/5

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

Schema description coverage is only 14% (just 'confirm'), and the description supplies no parameter meaning at all. With 7 parameters and 0 required, an agent gets no help determining whether milestone_id, title, or the opaque 'data' object identifies the target, nor why description/state_event appear on a delete operation.

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

Purpose4/5

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

The description names a specific verb and resource ("Delete a project milestone"), so an agent can distinguish it from sibling deletes such as gitlab_delete_epic or gitlab_delete_label. It stops short of differentiating from related milestone tools (gitlab_update_milestone to close instead), which keeps it below a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to delete versus close a milestone via gitlab_update_milestone, and no mention of prerequisites such as ownership or admin rights. The 'confirm' parameter hints that a confirmation gate exists, but the description never explains when the agent must set it.

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

Deploy Server

Other Tools