Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add Reminders category with enhanced functionality #4

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

iekp
Copy link

@iekp iekp commented Dec 9, 2024

This PR adds a comprehensive Reminders category to the applescript-mcp server with the following features:

New Features

  • Full reminder management (create, update, delete)
  • Advanced search with multiple filters
  • List management
  • Tag support
  • Location-based reminders
  • Rich property support
  • Utility functions for AppleScript generation

Example Usage

// Create a payment reminder
await server.executeScript({
  name: "reminders_create",
  arguments: {
    title: "Pay Rent",
    notes: "Monthly rent payment",
    dueDate: "2024-01-01",
    priority: 5,
    list: "Finance",
    tags: ["payments", "monthly"],
    url: "https://example.com/pay",
    remindDate: "2023-12-31"
  }
});

// Search for overdue tasks
await server.executeScript({
  name: "reminders_search",
  arguments: {
    list: "Finance",
    isOverdue: true,
    hasReminder: true
  }
});

Implementation Details

  • Organized code into modular files
  • Type-safe implementations
  • Comprehensive error handling
  • Utility functions for AppleScript string escaping
  • Clear documentation and examples

Testing

The new functionality has been tested with:

  • Basic reminder operations
  • Complex search queries
  • List management
  • Tag operations
  • Error cases

Documentation

Full documentation is included in the code comments and schemas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant