reminders_get_incomplete_reminders
Retrieve incomplete reminders from all lists on macOS to track pending tasks and manage follow-ups.
Instructions
Get incomplete reminders across all lists
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of reminders to return (default: 10) |
Implementation Reference
- src/index.ts:1067-1135 (handler)The handler function for 'reminders_get_incomplete_reminders' that runs an AppleScript command via osascript to fetch up to 'limit' (default 10) incomplete reminders from all Reminders lists, formats them with list names, and returns the result or error.case 'reminders_get_incomplete_reminders': try { const limit = (args?.limit as number) || 10; const command = `osascript -e 'on run argv set numLimit to (item 1 of argv) as number tell application "Reminders" set incompleteReminders to {} set reminderCount to 0 repeat with aList in lists set listName to name of aList repeat with aReminder in reminders of aList if not completed of aReminder and reminderCount < numLimit then set reminderName to name of aReminder set reminderBody to body of aReminder if reminderBody is missing value then set reminderBody to "" set end of incompleteReminders to (reminderName & " (List: " & listName & ")") set reminderCount to reminderCount + 1 end if end repeat end repeat return incompleteReminders as string end tell end run' -- ${limit}`; const { stdout, stderr } = await execAsync(command); if (stderr.trim()) { return { content: [ { type: 'text', text: `Error getting incomplete reminders: ${stderr.trim()}`, }, ], }; } const output = stdout.trim(); if (!output || output === '') { return { content: [ { type: 'text', text: 'No incomplete reminders found', }, ], }; } return { content: [ { type: 'text', text: `Incomplete Reminders (limit: ${limit}):\n${output}`, }, ], }; } catch (error: any) { return { content: [ { type: 'text', text: `Error executing incomplete reminders command: ${error.message}`, }, ], }; }
- src/index.ts:128-140 (registration)Tool registration in ListTools handler, including name, description, and input schema (optional 'limit' number).{ name: 'reminders_get_incomplete_reminders', description: 'Get incomplete reminders across all lists', inputSchema: { type: 'object', properties: { limit: { type: 'number', description: 'Maximum number of reminders to return (default: 10)', }, }, }, },
- src/index.ts:131-140 (schema)Input schema definition for the tool: optional 'limit' parameter of type number.inputSchema: { type: 'object', properties: { limit: { type: 'number', description: 'Maximum number of reminders to return (default: 10)', }, }, }, },