mcpField
R
remi

remi

本地服务
github.com/mattheworiordan生产力2629 周前更新

关于 remi

remi 是面向 macOS 的 Apple 提醒事项命令行工具与 MCP 服务,支持分区(section)及 iCloud 同步。它输出结构化 JSON,便于 AI Agent 调用,适合偏好在终端中管理提醒事项的用户。

主要功能

  1. 01提醒事项分区与 iCloud 同步
  2. 02自然语言日期与重复规则
  3. 03模糊匹配列表名称
  4. 04结构化 JSON 输出
  5. 05提供 MCP 服务模式

适用场景

  1. 01在终端中查看今日、逾期或即将到期的提醒
  2. 02通过命令行将购物项目放入指定分区
  3. 03让 AI Agent 读取并更新 Apple 提醒事项

MCP 相关

通过 remi --mcp 启动后,该工具以 MCP 服务形式暴露 16 个工具,如 remi_lists、remi_add、remi_complete 和 remi_move,并支持模糊匹配与结构化响应。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mattheworiordan-remi": {
"command": "npx",
"args": [
"-y",
"@mattheworiordan/remi"
]
}
}
}
启动命令npx -y @mattheworiordan/remi

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@mattheworiordan/remi0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

remi

remi

Apple 本该为“提醒事项”打造的命令行工具。

在终端中创建列表、添加提醒、将提醒整理到分区中,并让所有内容在你的 Apple 设备间同步。

remi 演示

为什么选择 remi?

  • 支持 iCloud 同步的分区 — 唯一支持 Apple“提醒事项”分区的命令行工具。创建分区、分配提醒、在分区间移动提醒,所有内容都会同步。
  • 自然语言 — --due "next tuesday"、--repeat "every 2 weeks on monday,friday"
  • 模糊匹配 — 输入 remi list shopping,而不是 remi list "Groceries / Shopping List"
  • 面向 Agent — 结构化 JSON 输出、Claude Code 插件、skills.sh 技能,兼容 OpenClaw
  • 快速 — 使用已编译的 Swift 助手,无需 Electron 或图形界面
与其他工具对比
remiremindctlreminders-cli
分区支持不支持不支持
分区同步(iCloud)支持不适用不适用
循环提醒支持支持不支持
自然语言日期支持支持不支持
JSON 输出支持支持不支持
AI Agent 集成支持部分支持不支持

安装

brew tap mattheworiordan/tap && brew install remi

也可以通过 npm 安装:

npm install -g @mattheworiordan/remi
# or run without installing
npx @mattheworiordan/remi lists

快速开始

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

使用方法

查看待办事项
remi today                    # Due today
remi overdue                  # Past due
remi upcoming --days 7        # Coming up
remi search "dentist"         # Search across all lists
管理提醒
remi add "Work" "Review PR" --due "next friday" --priority high
remi add "Work" "Standup" --due tomorrow --repeat daily
remi complete "Work" "standup"
remi update "Work" "Review PR" --due "in 3 days"
remi delete "Work" "Review PR" --confirm

日期:tomorrow、next tuesday、in 3 days 或 YYYY-MM-DD 重复周期:daily、weekly、monthly、every 2 weeks、every 3 months on monday,friday

使用分区整理
remi sections "Groceries"                                # List sections
remi create-section "Groceries" "Produce"                # Create a section
remi add "Groceries" "Bananas" --section "Produce"       # Add to a section
remi move "Groceries" "Bananas" --to-section "Dairy"     # Move between sections

分区通过 CRDT 向量时钟与 iCloud 同步。请参阅工作原理。

JSON 输出

每条命令都支持 --json,可输出机器可读的数据:

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

AI Agent 集成

remi 专为 AI Agent 设计。可将其用作 MCP 服务、Claude Code 插件或技能:

MCP 服务
{
  "mcpServers": {
    "remi": {
      "command": "remi",
      "args": ["--mcp"]
    }
  }
}

提供 16 个工具:remi_lists、remi_add、remi_complete、remi_move、remi_today、remi_search 等,均支持模糊匹配并返回结构化响应。

其他集成
# Claude Code plugin
claude plugin marketplace add mattheworiordan/remi

# skills.sh
npx skills add mattheworiordan/remi

# OpenClaw
clawhub install remi

权限

首次运行时,macOS 会要求你授予“提醒事项”访问权限(点击“允许”)。分区功能还需要为你的终端应用授予“完全磁盘访问权限”。

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

系统要求

  • macOS 13+(Ventura 或更高版本)
  • Node.js 18+
  • Xcode Command Line Tools(xcode-select --install)

工作原理

由于 Apple 从未在公开 API 中提供分区功能,remi 使用了以下三个层:

层内容原因
EventKit提醒事项的增删改查、查询、重复周期稳定的公开 API
ReminderKit分区的增删改查私有框架 — 唯一能创建可同步分区的方式
SQLite + Token Maps分区成员关系直接写入数据库,并使用 CRDT 向量时钟实现 iCloud 同步

完整的逆向工程过程介绍了我们对 Apple 未公开同步架构的发现。

参与贡献

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

许可证

MIT — Matthew O'Riordan

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。