Skip to main content
Glama

get_overdue_milestones

Identify overdue project milestones in GitHub to track delays and manage deadlines effectively.

Instructions

Get a list of overdue milestones

Input Schema

NameRequiredDescriptionDefault
limitYes
includeIssuesYes

Input Schema (JSON Schema)

{ "properties": { "includeIssues": { "type": "boolean" }, "limit": { "type": "number" } }, "required": [ "limit", "includeIssues" ], "type": "object" }

Implementation Reference

  • Core implementation of the get_overdue_milestones tool logic. Fetches all milestones, filters for overdue open milestones (past due date and not closed/completed), sorts by due date ascending, limits to the specified number, and computes detailed metrics for each using getMilestoneMetrics.
    async getOverdueMilestones(limit: number = 10, includeIssues: boolean = false): Promise<MilestoneMetrics[]> { try { const milestones = await this.milestoneRepo.findAll(); const now = new Date(); const overdueMilestones = milestones.filter(milestone => { if (!milestone.dueDate) return false; const dueDate = new Date(milestone.dueDate); return now > dueDate && milestone.status !== ResourceStatus.COMPLETED && milestone.status !== ResourceStatus.CLOSED; }); overdueMilestones.sort((a, b) => { if (!a.dueDate || !b.dueDate) return 0; return new Date(a.dueDate).getTime() - new Date(b.dueDate).getTime(); }); const limitedMilestones = overdueMilestones.slice(0, limit); const milestoneMetrics = await Promise.all( limitedMilestones.map(milestone => this.getMilestoneMetrics(milestone.id, includeIssues) ) ); return milestoneMetrics; } catch (error) { throw this.mapErrorToMCPError(error); } }
  • MCP server tool handler dispatch: handles call_tool requests for get_overdue_milestones by delegating to ProjectManagementService.getOverdueMilestones.
    case "get_overdue_milestones": return await this.service.getOverdueMilestones(args.limit, args.includeIssues);
  • Zod input schema validation for get_overdue_milestones tool: requires positive integer limit and boolean includeIssues.
    // Schema for get_overdue_milestones tool export const getOverdueMilestonesSchema = z.object({ limit: z.number().int().positive(), includeIssues: z.boolean(), }); export type GetOverdueMilestonesArgs = z.infer<typeof getOverdueMilestonesSchema>;
  • Registers the get_overdue_milestones tool in the central ToolRegistry during initialization.
    this.registerTool(getOverdueMilestonesTool);
  • Full tool definition including name, description, schema reference, and usage examples for MCP list_tools response.
    export const getOverdueMilestonesTool: ToolDefinition<GetOverdueMilestonesArgs> = { name: "get_overdue_milestones", description: "Get a list of overdue milestones", schema: getOverdueMilestonesSchema as unknown as ToolSchema<GetOverdueMilestonesArgs>, examples: [ { name: "List overdue milestones", description: "Get the top 5 overdue milestones", args: { limit: 5, includeIssues: false, }, }, ], };

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/HarshKumarSharma/MCP'

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