delete_milestone
Remove a milestone from a GitLab project to manage project timelines and track progress by deleting outdated or completed milestones.
Instructions
Delete a milestone from a GitLab project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| milestone_id | Yes |
Implementation Reference
- src/api/milestones.ts:83-93 (handler)The handler function that performs the actual API call to delete a milestone in GitLab.
export async function deleteMilestone(projectId: string, milestoneId: number): Promise<void> { if (!projectId?.trim()) { throw new Error("Project ID is required"); } if (!milestoneId || milestoneId < 1) { throw new Error("Valid milestone ID is required"); } const endpoint = `/projects/${encodeProjectId(projectId)}/milestones/${milestoneId}`; await gitlabDelete(endpoint); } - src/schemas.ts:337-340 (schema)Zod schema for validating the input arguments for delete_milestone.
export const DeleteMilestoneSchema = z.object({ project_id: z.string(), milestone_id: z.number() }); - src/server.ts:145-148 (registration)Registration of the delete_milestone tool in the MCP server.
name: "delete_milestone", description: "Delete a milestone from a GitLab project", inputSchema: zodToJsonSchema(DeleteMilestoneSchema) }, - src/server.ts:351-355 (handler)The request handler logic that dispatches the tool call to the API function.
case "delete_milestone": { const args = DeleteMilestoneSchema.parse(request.params.arguments); await api.deleteMilestone(args.project_id, args.milestone_id); return { content: [{ type: "text", text: JSON.stringify({ success: true }, null, 2) }] }; }