LabscoMCP early access ↗
mattheworiordanMCP SERVER

remi

Create, complete and organise Apple Reminders — including the sections Apple never exposed.

by mattheworiordan ↗Project & Task ManagementCommunity

LABSCO SUMMARY

Sections are the reason this exists.

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 README can call it the only Apple Reminders CLI that supports sections — remindctl and reminders-cli have none.

What it is

A macOS tool for Apple Reminders that runs as an MCP server with remi --mcp, exposing tools with fuzzy matching and structured responses.

What you get

  • 16 tools by the README's count, 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

Requirements

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.

Setup effort

One command — npm install -g @mattheworiordan/remi