Remi

io.github.mattheworiordan由 GitHub 帳號 mattheworiordan 發布v0.2.1更新於 Oct 24, 2026

Apple Reminders CLI and MCP server with section support and iCloud sync

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

針對 macOS 上 Apple 提醒事項的本機 MCP 伺服器與命令列工具,讓助理建立、整理、搜尋和完成提醒事項與分區,並同步到 iCloud。

可以做什麼
列出並檢視提醒事項清單,支援模糊比對,所有指令都能輸出 JSON。新增、更新、完成和刪除提醒事項,支援自然語言日期與重複規則。查看今天到期、已逾期和即將到期的項目,並跨所有清單搜尋。建立分區、把提醒事項指派到分區並在分區之間移動,同步到 iCloud。
適用情境
適合希望助理在 Mac 上管理 Apple 提醒事項的情境:記錄任務、查看待辦事項,並把清單整理成可同步到其他 Apple 裝置的分區。
執行需求
在 macOS 13 或更新版本本機執行,需要 Node.js 18+ 和 Xcode Command Line Tools,可透過 Homebrew 或 npm 安裝。macOS 需授予提醒事項存取權限,分區功能還需為終端機應用程式開啟完整磁碟存取權。
安裝前請注意
助理可以寫入、修改和刪除你真實的提醒事項與分區資料,並同步到 iCloud。分區功能依賴 Apple 私有框架並直接寫入 SQLite 資料庫,可能隨 macOS 更新失效。為終端機開啟完整磁碟存取會擴大其可讀取的範圍。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Remi,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[remi]

remi

The CLI that Apple should have built for Reminders.

Create lists, add reminders, organize them into sections, and have everything sync across all your Apple devices — from the terminal.

[remi demo]

Why remi?

  • Sections with iCloud sync — the only CLI that supports Apple Reminders sections. Create them, assign reminders, move between them, and it all syncs.
  • Natural language — --due "next tuesday", --repeat "every 2 weeks on monday,friday"
  • Fuzzy matching — type remi list shopping instead of remi list "Groceries / Shopping List"
  • Agent-first — structured JSON output, Claude Code plugin, skills.sh skill, OpenClaw compatible
  • Fast — compiled Swift helpers, no Electron, no GUI

vs other tools

remiremindctlreminders-cli
SectionsYesNoNo
Section sync (iCloud)YesN/AN/A
RecurrenceYesYesNo
Natural language datesYesYesNo
JSON outputYesYesNo
AI agent integrationYesPartialNo

Install

bash
brew tap mattheworiordan/tap && brew install remi

Or via npm:

bash
npm install -g @mattheworiordan/remi# or run without installingnpx @mattheworiordan/remi lists

Quick start

bash
remi lists                                              # See all listsremi list "Groceries"                                   # View a list (fuzzy: remi list groceries)remi add "Groceries" "Buy milk" --section "Dairy"       # Add to a sectionremi today                                              # What's due today?remi complete "Groceries" "milk"                        # Fuzzy complete

Usage

Check what's due

bash
remi today                    # Due todayremi overdue                  # Past dueremi upcoming --days 7        # Coming upremi search "dentist"         # Search across all lists

Manage reminders

bash
remi add "Work" "Review PR" --due "next friday" --priority highremi add "Work" "Standup" --due tomorrow --repeat dailyremi complete "Work" "standup"remi update "Work" "Review PR" --due "in 3 days"remi delete "Work" "Review PR" --confirm

Dates: tomorrow, next tuesday, in 3 days, or YYYY-MM-DD Recurrence: daily, weekly, monthly, every 2 weeks, every 3 months on monday,friday

Organize with sections

bash
remi sections "Groceries"                                # List sectionsremi create-section "Groceries" "Produce"                # Create a sectionremi add "Groceries" "Bananas" --section "Produce"       # Add to a sectionremi move "Groceries" "Bananas" --to-section "Dairy"     # Move between sections

Sections sync to iCloud via CRDT vector clocks. See how it works.

JSON output

Every command supports --json for machine-readable output:

bash
remi today --json# {"success": true, "data": [...]}

AI agent integration

remi is designed for AI agents. Use it as an MCP server, Claude Code plugin, or skill:

MCP server

json
{  "mcpServers": {    "remi": {      "command": "remi",      "args": ["--mcp"]    }  }}

16 tools: remi_lists, remi_add, remi_complete, remi_move, remi_today, remi_search, and more — all with fuzzy matching and structured responses.

Other integrations

bash
# Claude Code pluginclaude plugin marketplace add mattheworiordan/remi
# skills.shnpx skills add mattheworiordan/remi
# OpenClawclawhub install remi

Permissions

On first run, macOS will ask you to grant Reminders access (click Allow). Section features also need Full Disk Access for your terminal app.

bash
remi authorize    # Guides you through bothremi doctor       # Shows what's granted

Requirements

  • macOS 13+ (Ventura or later)
  • Node.js 18+
  • Xcode Command Line Tools (xcode-select --install)

How it works

remi uses three layers because Apple never exposed sections in their public API:

LayerWhatWhy
EventKitReminder CRUD, queries, recurrenceStable public API
ReminderKitSection CRUDPrivate framework — only way to create sections that sync
SQLite + Token MapsSection membershipDirect database writes with CRDT vector clocks for iCloud sync

The full reverse-engineering story explains what we discovered about Apple's undocumented sync architecture.

Contributing

bash
git clone https://github.com/mattheworiordan/remi.git && cd reminpm install && npm run build:swift && npm run buildnpm test                        # Unit testsnpm run test:integration        # Integration tests (needs Reminders access)

License

MIT — Matthew O'Riordan

來源:README.md,提交 c7bd272

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分