Skip to main content
Glama

iterations-get-active

Retrieve active Shortcut iterations for the current user's teams to track ongoing project timelines and sprints.

Instructions

Get the active Shortcut iterations for the current user based on their team memberships

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamIdNoThe ID of a team to filter iterations by

Implementation Reference

  • The handler function that implements the core logic of fetching active iterations either for a specific team or for all teams the current user belongs to, using the ShortcutClientWrapper.
    async getActiveIterations(teamId?: string) { if (teamId) { const team = await this.client.getTeam(teamId); if (!team) throw new Error(`No team found matching id: "${teamId}"`); const result = await this.client.getActiveIteration([teamId]); const iterations = result.get(teamId); if (!iterations?.length) return this.toResult(`Result: No active iterations found for team.`); if (iterations.length === 1) return this.toResult( "The active iteration for the team is:", await this.entityWithRelatedEntities(iterations[0], "iteration"), ); return this.toResult( "The active iterations for the team are:", await this.entitiesWithRelatedEntities(iterations, "iterations"), ); } const currentUser = await this.client.getCurrentUser(); if (!currentUser) throw new Error("Failed to retrieve current user."); const teams = await this.client.getTeams(); const teamIds = teams .filter((team) => team.member_ids.includes(currentUser.id)) .map((team) => team.id); if (!teamIds.length) throw new Error("Current user does not belong to any teams."); const resultsByTeam = await this.client.getActiveIteration(teamIds); const allActiveIterations = [...resultsByTeam.values()].flat(); if (!allActiveIterations.length) return this.toResult("Result: No active iterations found for any of your teams."); return this.toResult( `You have ${allActiveIterations.length} active iterations for your teams:`, await this.entitiesWithRelatedEntities(allActiveIterations, "iterations"), ); }
  • Registers the 'iterations-get-active' tool on the MCP server, including input schema validation with Zod and linking to the getActiveIterations handler.
    server.addToolWithReadAccess( "iterations-get-active", "Get the active Shortcut iterations for the current user based on their team memberships", { teamId: z.string().optional().describe("The ID of a team to filter iterations by"), }, async ({ teamId }) => await tools.getActiveIterations(teamId), );
  • Zod schema defining the input parameters for the tool: optional teamId string.
    { teamId: z.string().optional().describe("The ID of a team to filter iterations by"), },

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/useshortcut/mcp-server-shortcut'

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