completeReminder
Mark reminders as completed in Apple Reminders by specifying the list name and reminder name to track tasks and maintain organized to-do lists.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| listName | Yes | ||
| reminderName | Yes |
Implementation Reference
- src/reminders.ts:104-137 (handler)Core handler function that implements the logic to complete (mark as completed) a specific reminder in a given list by finding the list ID, locating the reminder by name, and updating its completed status to true.export async function completeReminder(listName: string, reminderName: string): Promise<boolean> { try { // First get the list ID by name const lists = await reminders.getLists(); const targetList = lists.find(list => list.name === listName); if (!targetList) { throw new Error(`List "${listName}" not found`); } // Get all reminders from the list const reminderItems = await reminders.getReminders( targetList.id, ['name', 'id'] ); // Find the specific reminder by name const targetReminder = reminderItems.find(item => item.name === reminderName); if (!targetReminder) { return false; // Reminder not found } // Update the reminder to mark it as completed await reminders.updateReminder(targetReminder.id, { completed: true }); return true; } catch (error) { console.error(`Failed to complete reminder "${reminderName}" in list "${listName}":`, error); throw new Error(`Failed to complete reminder: ${error}`); } }
- src/index.ts:93-118 (registration)MCP tool registration for 'completeReminder', including input schema validation with Zod and wrapper handler that delegates to reminders.completeReminder and formats the response.server.tool( "completeReminder", { listName: z.string(), reminderName: z.string() }, async ({ listName, reminderName }) => { try { const success = await reminders.completeReminder(listName, reminderName); return { content: [{ type: "text", text: JSON.stringify({ success, message: success ? "Reminder marked as completed" : "Reminder not found" }) }] }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ error: "Failed to complete reminder" }) }], isError: true }; } } );
- src/index.ts:95-98 (schema)Input schema definition using Zod for the completeReminder tool parameters: listName and reminderName as required strings.{ listName: z.string(), reminderName: z.string() },