Two stacked planes: a row of flat identical bars below, a grouped and connected structure above, and a line rising from the lower plane that stops at the boundary of the upper one.

Apple Reminders and MCP

You already have a free MCP for Apple Reminders.

If you came here looking for an MCP server that lets your assistant read and write Apple Reminders, you do not need to buy anything. Several free ones exist, built on EventKit or on AppleScript, and they work.

This page is about the thing they cannot do, which has nothing to do with how well they are written.

01 / The ceiling

EventKit has no field for a plan

Every free server is built on the same foundation: Apple’s EventKit, or AppleScript talking to the Reminders app. Both expose exactly what Apple Reminders stores, which is a title, a due date, a list, some notes and a done flag.

What is not in there: a group, let alone one that spans lists. A state other than done and not done. A sentence explaining what a task is waiting on. A dated history of how a task got to where it is. A record of the month you just finished, since a completed reminder is discarded.

No server can hand your assistant a structure that its data source does not contain. That is not a gap in their implementation. It is a gap in what there is to read.

02 / The layer

What ReminderMAP adds, and therefore what it can expose

01

The group tree

Groups nested as deep as the work goes, including groups that pull tasks from several lists into one branch. Your assistant can read the whole tree as a summary and drill into any part of it.

02

Four states, with reasons

Todo, doing, stuck and parked, where stuck carries a line of text about what it is waiting on. Your assistant can both read these and set them.

03

A work log per task

Every state change and every stuck reason as a dated entry, plus the notes you write yourself. Readable one task at a time.

04

The month you finished

Completed work kept and grouped, which Apple Reminders discards. Your assistant can pull a month of it and write your update from what actually happened.

03 / Also

Three smaller differences

  • It is built into the app. Nothing to clone, nothing to keep updated, and one button in Settings copies a working configuration.
  • No automation permissions. It does not drive the Reminders app through AppleScript, so macOS does not ask you to grant one application control over another.
  • Every write goes into the same undo history as your own edits, and shows up in the task work log marked as the AI’s work.

04 / In practice

The case that made it worth building

You ask your assistant to carry out a piece of work. It gets partway in and hits something real: a credential that was never provisioned, an API that is not enabled on that account, a dependency that will not build on this machine. It tells you, you nod, and you move on to something else.

Two weeks later that task looks exactly like a task you never started. The reason lives in a session you closed. With states exposed, the assistant sets it to stuck and writes the reason on the task at the moment it hits the wall. It knew, and you did not.

Note what is actually happening here, because the distinction matters: the app is not watching your work and deciding anything. Your assistant is calling a write tool, under your instruction, with write access you turned on yourself.

05 / Shape

How it is wired

Setting it up takes about a minute and is written out step by step on the AI access page.

TransportStreamable HTTP, served by the app itself
Bind address127.0.0.1 only, with a bearer token the app generates
SetupOne button in Settings copies a complete config block for any MCP client
When the app is closedNothing is listening. Set it to open at login if you want it always available
ReadsTree summary, filters by list or group or state or date, one task with its work log, a month of finished work, and what is due today or this week in the same columns as the schedule view
WritesStates and stuck reasons, log entries, moving tasks into groups, creating groups and tasks, start dates, due dates and notes
NeverNo delete tool of any kind. No renaming a task. Both are absent from the tool surface rather than guarded by a confirmation
Batch limitFifty tasks per call, enforced server side. The server instructions additionally require the assistant to describe a batch before running it, and to check with you before marking anything complete
Before the first writeA full backup of the library, kept on its own rotation so heavy use cannot flush your ordinary backups

06 / Cost

The part where we tell you it costs money

The connection is part of the paid tier, in full. There is no reduced free version of it, because an assistant that can read your states but not act on them is a demonstration rather than a tool.

The app itself is free to download, and a large part of it stays free permanently: the map, unlimited groups, two way sync, backups and export. If you want to see whether the planning layer is worth having before letting anything near it, that costs nothing.

A browser demo on sample data, enough to show you how it works. The Mac app is faster and it runs on your own reminders. Nothing here is saved; refresh puts it back.