Skip to main content
Glama

get_upcoming_milestones

Track and manage GitHub project deadlines by retrieving upcoming milestones within a specified time frame, with options to include related issues and set results limit.

Instructions

Get a list of upcoming milestones within a time frame

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysAheadYes
includeIssuesYes
limitYes

Implementation Reference

  • Core implementation of getUpcomingMilestones tool. Fetches all milestones, filters upcoming ones within daysAhead that are open, sorts by due date, limits results, and computes metrics including issues if requested.
    async getUpcomingMilestones(daysAhead: number = 30, limit: number = 10, includeIssues: boolean = false): Promise<MilestoneMetrics[]> { try { const milestones = await this.milestoneRepo.findAll(); const now = new Date(); const futureDate = new Date(now); futureDate.setDate(now.getDate() + daysAhead); const upcomingMilestones = milestones.filter(milestone => { if (!milestone.dueDate) return false; const dueDate = new Date(milestone.dueDate); return dueDate > now && dueDate <= futureDate && milestone.status !== ResourceStatus.COMPLETED && milestone.status !== ResourceStatus.CLOSED; }); upcomingMilestones.sort((a, b) => { if (!a.dueDate || !b.dueDate) return 0; return new Date(a.dueDate).getTime() - new Date(b.dueDate).getTime(); }); const limitedMilestones = upcomingMilestones.slice(0, limit); const milestoneMetrics = await Promise.all( limitedMilestones.map(milestone => this.getMilestoneMetrics(milestone.id, includeIssues) ) ); return milestoneMetrics; } catch (error) { throw this.mapErrorToMCPError(error); } }
  • Tool definition including input schema (daysAhead, limit, includeIssues), description, and usage examples for get_upcoming_milestones.
    export const getUpcomingMilestonesTool: ToolDefinition<GetUpcomingMilestonesArgs> = { name: "get_upcoming_milestones", description: "Get a list of upcoming milestones within a time frame", schema: getUpcomingMilestonesSchema as unknown as ToolSchema<GetUpcomingMilestonesArgs>, examples: [ { name: "List upcoming milestones", description: "Get milestones due in the next 14 days", args: { daysAhead: 14, limit: 10, includeIssues: true, }, }, ], };
  • Registers the getUpcomingMilestonesTool in the central ToolRegistry singleton.
    this.registerTool(getUpcomingMilestonesTool);
  • MCP server dispatcher routes 'get_upcoming_milestones' tool calls to ProjectManagementService.getUpcomingMilestones after validation.
    case "get_upcoming_milestones": return await this.service.getUpcomingMilestones(args.daysAhead, args.limit, args.includeIssues);
  • Zod input validation schema for get_upcoming_milestones parameters.
    export const getUpcomingMilestonesSchema = z.object({ daysAhead: z.number().int().positive(), limit: z.number().int().positive(), includeIssues: z.boolean(), }); export type GetUpcomingMilestonesArgs = z.infer<typeof getUpcomingMilestonesSchema>;

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/kunwarVivek/mcp-github-project-manager'

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