Skip to main content
Glama

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
NameRequiredDescriptionDefault
limitNoMaximum number of reminders to return (default: 10)

Implementation Reference

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

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/samicokar/mcp-mac'

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