First of all, thank you for creating iMCP, great app!
I've been using iMCP with Claude and noticed that the Calendar service currently supports:
calendars_list – list available calendars
events_fetch – get events with filtering
events_create – create new events
However, I'm missing two essential tools for complete calendar management:
events_update – update an existing event
events_delete – delete an event by ID
Use case
When Claude creates an event with incorrect dates (e.g., a two-day event instead of a single day), there's no way to fix it programmatically – I have to manually delete and ask Claude to recreate it.
Reference implementation
The icloud-calendar-mcp project implements these tools via CalDAV. Their API looks like this:
update_event:
- event_id: string (required)
- title: string (optional)
- start_time: string (optional)
- end_time: string (optional)
- description: string (optional)
- location: string (optional)
delete_event:
- event_id: string (required)
Since iMCP uses Apple's native EventKit framework, the implementation should be straightforward using:
Would you consider adding these tools?
First of all, thank you for creating iMCP, great app!
I've been using iMCP with Claude and noticed that the Calendar service currently supports:
calendars_list– list available calendarsevents_fetch– get events with filteringevents_create– create new eventsHowever, I'm missing two essential tools for complete calendar management:
events_update– update an existing eventevents_delete– delete an event by IDUse case
When Claude creates an event with incorrect dates (e.g., a two-day event instead of a single day), there's no way to fix it programmatically – I have to manually delete and ask Claude to recreate it.
Reference implementation
The icloud-calendar-mcp project implements these tools via CalDAV. Their API looks like this:
Since iMCP uses Apple's native EventKit framework, the implementation should be straightforward using:
EKEventStore.remove(_:span:commit:)for deletionEKEventStore.save(_:span:commit:)for updatesWould you consider adding these tools?