update-task-snooze-date
Reschedule tasks or move them to backlog by updating the snooze date with a new target date in YYYY-MM-DD format.
Instructions
Update task snooze date to reschedule tasks or move them to backlog
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limitResponsePayload | No | Whether to limit the response payload size | |
| newDay | Yes | Target date in YYYY-MM-DD format | |
| taskId | Yes | The ID of the task to reschedule | |
| timezone | No | Timezone string (e.g., 'America/New_York'). If not provided, uses user's default timezone |
Implementation Reference
- src/tools/task-tools.ts:206-235 (handler)Main tool handler implementation using withTransportClient wrapper. Calls the underlying client.updateTaskSnoozeDate method.export const updateTaskSnoozeDateTool = withTransportClient({ name: "update-task-snooze-date", description: "Update task snooze date to reschedule tasks or move them to backlog", parameters: updateTaskSnoozeDateSchema, execute: async ( { taskId, newDay, timezone, limitResponsePayload }: UpdateTaskSnoozeDateInput, context: ToolContext, ) => { const options: { timezone?: string; limitResponsePayload?: boolean } = {}; if (timezone) options.timezone = timezone; if (limitResponsePayload !== undefined) { options.limitResponsePayload = limitResponsePayload; } const result = await context.client.updateTaskSnoozeDate( taskId, newDay, options, ); return formatJsonResponse({ success: result.success, taskId, newDay, updatedFields: result.updatedFields, }); }, });
- src/schemas.ts:162-175 (schema)Zod schema defining the input parameters for the tool.export const updateTaskSnoozeDateSchema = z.object({ taskId: z.string().min(1, "Task ID is required").describe( "The ID of the task to reschedule", ), newDay: z.string().date("Must be a valid date in YYYY-MM-DD format").describe( "Target date in YYYY-MM-DD format", ), timezone: z.string().optional().describe( "Timezone string (e.g., 'America/New_York'). If not provided, uses user's default timezone", ), limitResponsePayload: z.boolean().optional().describe( "Whether to limit the response payload size", ), });
- src/main.ts:33-44 (registration)MCP server registration loop that registers all tools including 'update-task-snooze-date' via the allTools array.allTools.forEach((tool) => { server.registerTool( tool.name, { description: tool.description, inputSchema: "shape" in tool.parameters ? tool.parameters.shape : tool.parameters, }, tool.execute, ); });
- src/tools/index.ts:5-8 (registration)Aggregation of all tools into allTools array, which includes taskTools containing the snooze tool.export const allTools = [ ...userTools, ...taskTools, ...streamTools,
- src/tools/task-tools.ts:406-426 (registration)Export of taskTools array that includes updateTaskSnoozeDateTool.export const taskTools = [ // Query tools getTasksBacklogTool, getTasksByDayTool, getArchivedTasksTool, getTaskByIdTool, // Lifecycle tools createTaskTool, deleteTaskTool, // Update tools updateTaskCompleteTool, updateTaskSnoozeDateTool, updateTaskBacklogTool, updateTaskPlannedTimeTool, updateTaskNotesTool, updateTaskDueDateTool, updateTaskTextTool, updateTaskStreamTool, ];