Skip to main content
Glama
shadowfax92

MCP Apple Reminders

by shadowfax92

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
NameRequiredDescriptionDefault
listNameYes
reminderNameYes

Implementation Reference

  • 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 }; } } );
  • Input schema definition using Zod for the completeReminder tool parameters: listName and reminderName as required strings.
    { listName: z.string(), reminderName: z.string() },

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/shadowfax92/apple-reminders-mcp'

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