Apple's public API has no section support, so remi works through three layers to get it: EventKit for reminder CRUD, the private ReminderKit framework to create sections, and direct SQLite writes with CRDT vector clocks so section membership reaches iCloud. That is also why the section features ask for Full Disk Access, and why the comparison table lists it as the only CLI here that has them.
A macOS tool for Apple Reminders that runs as an MCP server with `remi --mcp`, exposing 16 tools with fuzzy matching and structured responses.
- 16 tools, among them `remi_lists`, `remi_add`, `remi_complete`, `remi_move`, `remi_today` and `remi_search`
- Sections that actually sync to iCloud — create them, assign reminders, move items between them
- Natural-language dates and recurrence: `next tuesday`, `in 3 days`, `every 2 weeks`, `every 3 months on monday,friday`
- Fuzzy matching, so "shopping" finds the list called "Groceries / Shopping List" and "milk" completes the right reminder
- Structured JSON from every command, which is what makes the answers usable to an agent rather than to a human reading a terminal
macOS 13 or later, Node.js 18+, and Xcode Command Line Tools. Install with `brew tap mattheworiordan/tap && brew install remi`, or `npm install -g @mattheworiordan/remi`. macOS asks for Reminders access on first run; section features additionally need Full Disk Access for your terminal app. `remi authorize` walks you through both and `remi doctor` shows what has been granted.
One command — npm install -g @mattheworiordan/remi
