create-iteration
Create a new iteration in Shortcut project management by specifying name, start date, end date, and optional team assignment or description.
Instructions
Create a new Shortcut iteration
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the iteration | |
| startDate | Yes | The start date of the iteration in YYYY-MM-DD format | |
| endDate | Yes | The end date of the iteration in YYYY-MM-DD format | |
| teamId | No | The ID of a team to assign the iteration to | |
| description | No | A description of the iteration |
Implementation Reference
- src/tools/iterations.ts:147-171 (handler)The `createIteration` method that executes the tool logic: creates a new Shortcut iteration using the client, handles parameters like name, dates, team, description, and returns a result message with the new iteration ID.async createIteration({ name, startDate, endDate, teamId, description, }: { name: string; startDate: string; endDate: string; teamId?: string; description?: string; }): Promise<CallToolResult> { const iteration = await this.client.createIteration({ name, start_date: startDate, end_date: endDate, group_ids: teamId ? [teamId] : undefined, description, }); if (!iteration) throw new Error(`Failed to create the iteration.`); return this.toResult(`Iteration created with ID: ${iteration.id}.`); }
- src/tools/iterations.ts:71-76 (schema)Zod schema validating the input parameters for the 'create-iteration' tool: name (required string), startDate and endDate (strings in YYYY-MM-DD), optional teamId and description.name: z.string().describe("The name of the iteration"), startDate: z.string().describe("The start date of the iteration in YYYY-MM-DD format"), endDate: z.string().describe("The end date of the iteration in YYYY-MM-DD format"), teamId: z.string().optional().describe("The ID of a team to assign the iteration to"), description: z.string().optional().describe("A description of the iteration"), },
- src/tools/iterations.ts:67-78 (registration)Registers the 'create-iteration' tool with the MCP server in the IterationTools static create method, linking the schema and handler.server.tool( "create-iteration", "Create a new Shortcut iteration", { name: z.string().describe("The name of the iteration"), startDate: z.string().describe("The start date of the iteration in YYYY-MM-DD format"), endDate: z.string().describe("The end date of the iteration in YYYY-MM-DD format"), teamId: z.string().optional().describe("The ID of a team to assign the iteration to"), description: z.string().optional().describe("A description of the iteration"), }, async (params) => await tools.createIteration(params), );