Skip to main content
Glama
robertn702

Sunsama MCP Server

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
NameRequiredDescriptionDefault
limitResponsePayloadNoWhether to limit the response payload size
newDayYesTarget date in YYYY-MM-DD format
taskIdYesThe ID of the task to reschedule
timezoneNoTimezone string (e.g., 'America/New_York'). If not provided, uses user's default timezone

Implementation Reference

  • 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,
        });
      },
    });
  • 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,
  • 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,
    ];

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/robertn702/mcp-sunsama'

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