mcpField
A
apple-reminders

apple-reminders

本地服务
github.com/high5-ventures生产力101 周前更新

关于 apple-reminders

apple-reminders 是原生 macOS MCP 服务,通过 EventKit 让 Claude 和其他 MCP 客户端访问 Apple Reminders。它提供稳定的提醒 ID 和结构化 JSON;不同分发方式使用相同的 13 个工具。

主要功能

  1. 01覆盖提醒列表和生命周期的 13 个工具
  2. 02基于 Swift 与 EventKit 的原生实现
  3. 03跨会话稳定的提醒 UUID
  4. 04结构化 JSON 响应
  5. 05只读与修改操作安全标注
  6. 06运行时完全本地且无网络访问

适用场景

  1. 01查找今天到期或已逾期的提醒
  2. 02跨列表搜索提醒
  3. 03通过 MCP 客户端创建或更新提醒
  4. 04在客户端安全确认下完成或删除提醒

MCP 相关

该服务提供 13 个工具,用于列出、搜索、创建、更新、完成和删除 Apple Reminders。它以 Claude Desktop 扩展、Claude Code 插件或供其他 MCP 客户端使用的 npm 包形式提供。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"high5-ventures-apple-reminders": {
"command": "npx",
"args": [
"-y",
"@high5ventures/apple-reminders-mcp"
]
}
}
}
启动命令npx -y @high5ventures/apple-reminders-mcp

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

安装包
npm@high5ventures/apple-reminders-mcp1.1.0

工具

还没有获取到工具列表

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

详细介绍

适用于 Claude 的 Apple Reminders

License: MIT macOS 11+ Notarized MCPB manifest

为 Claude 提供快速、原生的 Apple Reminders 访问能力,适用于 Claude Desktop、Claude Cowork 和 Claude Code(CLI)。一个经过签名的 Swift/EventKit 二进制文件,三种分发包。

提醒事项 ID 在不同会话间保持稳定。在包含 300 多条提醒事项的数据库上,完整的 CRUD 往返操作耗时不到一秒。变音符号、重音符号、中日韩字符和表情符号均可原样保留。

由 high5 ventures GmbH 发布——使用 Developer ID Application: high5 ventures GmbH 签名,并经 Apple 公证。


快速开始

你需要一台运行 macOS 11 或更高版本的 Mac(Apple Silicon 或 Intel),以及 Claude Desktop。

  1. 从最新版本下载 apple-reminders.mcpb。
  2. 双击该文件。Claude Desktop 会打开安装对话框——点击 Install。
  3. 向 Claude 提问,例如 “我今天有哪些提醒事项?”

首次提问时,macOS 会请求访问提醒事项的权限。允许后,Claude 就可以读取和更改你的提醒事项。

无需配置:此安装包包含服务和签名后的二进制文件,Claude Desktop 会在安装时设置路径。

更新时,只需按照相同的三个步骤安装较新的 .mcpb。

不使用 Claude Desktop?请参阅安装,了解如何用于 Claude Code 和其他 MCP 客户端。


目录


描述

适用于 Claude 的 Apple Reminders 为 Claude 提供对 macOS Reminders 应用的完整 CRUD 访问能力。它通过经过签名的 Swift 二进制文件封装 Apple 原生的 EventKit 框架,返回稳定的 UUID 和结构化 JSON,并提供三种分发方式:

目标安装包获取方式
Claude Desktop / Cowork.mcpb 安装包版本发布页
Claude Code(CLI)带技能的插件在此代码库上使用 /plugin marketplace add
任何 MCP 客户端npm 包npm install -g @high5ventures/apple-reminders-mcp

三种分发方式都包含相同的二进制文件和 13 个相同的工具,因此它们的行为没有差异。

功能

  • 13 个 MCP 工具,覆盖提醒事项的完整生命周期:列出清单、列出提醒事项(未完成/已完成/全部)、全文搜索、查询今天/逾期/已安排的提醒事项,以及对单条提醒事项执行 CRUD 操作。
  • 原生 EventKit——不使用 AppleScript,也不通过逆向工程抓取 SQLite 数据。
  • 稳定的 UUID——提醒事项 ID 在不同会话间保持不变,不像 AppleScript URI 或 CLI 位置索引。
  • 工具安全注释——每个工具都声明 readOnlyHint / destructiveHint,让 Claude 客户端可以自动运行查询,并在执行更改操作前征求确认。
  • 不受语言限制——技能根据意图而非关键词匹配。无论使用德语、法语、西班牙语、日语等语言,效果都相同。
  • 速度快——在包含 10 个清单和 300 多条提醒事项的环境中,完整的 CRUD 冒烟测试耗时不到 1 秒。
  • 已签名并经公证——不会触发 Gatekeeper 警告;可通过 MDM 部署。
  • 100% 本地运行——不进行网络 I/O。请参阅 PRIVACY.md。

使用示例

在 Claude Desktop 和 Cowork 中,这些工具会显示在 Apple Reminders 下;在 Claude Code 中,提到提醒事项时技能就会加载。以下示例展示了各个回答背后的工具调用。

示例 1 —“我今天有什么事要做?”

你: 我今天有什么事要做?

Claude(调用 get_today):

{ "status": "ok", "data": { "reminders": [
  { "id": "A1B2…", "name": "Zahnarzt-Termin bestätigen", "list": "Persönlich", "due_date": "2026-04-14T10:00:00" },
  { "id": "C3D4…", "name": "Rechnung #2026-0412 prüfen", "list": "Arbeit", "due_date": "2026-04-14T14:00:00" }
] } }

Claude: 你今天有两条未完成的提醒:10:00 的牙医预约(个人),以及 14:00 的账单核对(工作)。

示例 2 —“在购物清单中添加一条提醒”

你: 提醒我明天 18:00 买燕麦奶。

Claude(调用 create_reminder):

{ "list": "Groceries", "title": "Buy oat milk", "dueDate": "2026-04-15T18:00:00" }

响应:

{ "status": "ok", "data": { "reminder": { "id": "E5F6…", "name": "Buy oat milk", "due_date": "2026-04-15T18:00:00" } } }

Claude: 完成——已在购物清单中添加“Buy oat milk”,时间为明天 18:00。

示例 3 —“处理逾期事项”

你: 列出所有逾期事项,然后将那条 Slack 私信标记为已完成。

Claude(调用 get_overdue):

{ "status": "ok", "data": { "reminders": [
  { "id": "G7H8…", "name": "Reply to Alex in Slack DM", "list": "Work", "due_date": "2026-04-12T17:00:00" },
  { "id": "I9J0…", "name": "Review PR #482", "list": "Work", "due_date": "2026-04-13T12:00:00" }
] } }

Claude(调用 complete_reminder,参数为 id: "G7H8…"):

{ "status": "ok", "data": { "reminder": { "id": "G7H8…", "completed": true, "completion_date": "2026-04-14T18:22:01" } } }

Claude: 有两项逾期事项:回复 Slack 消息(现已标记为已完成)和审核 PR #482(仍未完成)。

安装

Claude Desktop / Cowork

从 Releases 下载 apple-reminders.mcpb 并双击。Claude Desktop 会显示安装对话框;点击 Install,然后在首次调用工具时,在 macOS 隐私提示中授予“提醒事项”访问权限。

更新方式完全相同——下载较新的 .mcpb 并双击即可。

以上是安装此扩展的方式。以下两个部分介绍其他 MCP 客户端;在安装了 Claude Desktop 的 Mac 上,无需使用它们。

Claude Code(CLI)
/plugin marketplace add high5-ventures/apple-reminders-for-claude

在进行下一步之前,重新加载 Claude Code;在插件市场加载完成之前,看不到该插件。

/plugin install apple-reminders@high5-apple-reminders-for-claude

此方式会自动提供新版本,但不会自动安装;每次更新仍需由你确认。

其他 MCP 客户端(Cursor、Zed 等)
npm install -g @high5ventures/apple-reminders-mcp

然后将其添加到客户端的 MCP 配置中:

{
  "mcpServers": {
    "apple-reminders": {
      "command": "apple-reminders-mcp"
    }
  }
}

或者跳过全局安装,让客户端按需获取:

{
  "mcpServers": {
    "apple-reminders": {
      "command": "npx",
      "args": ["-y", "@high5ventures/apple-reminders-mcp"]
    }
  }
}

该文件的位置因客户端而异。

从源代码构建
git clone https://github.com/high5-ventures/apple-reminders-for-claude.git
cd apple-reminders-for-claude
./build.sh

将生成 dist/reminders-eventkit(适用于 Apple Silicon 和 Intel 的通用二进制文件)、dist/skill/(Claude Code 技能)和 dist/apple-reminders.mcpb(Claude Desktop 安装包)。构建产物未经签名;签名发布工作流请参阅 CONTRIBUTING.md。

构建要求:macOS 11+、Xcode Command Line Tools、Node.js 18+。早于 Xcode 15 的工具链也可使用;它们会在不使用 macOS 14 权限 API 的情况下编译,并回退到较旧的请求方式。若只构建当前架构,请设置 ARCHS,例如 ARCHS=x86_64 ./build.sh。

配置

正常使用无需配置。该扩展使用以下默认值运行:

设置默认值备注
提醒事项权限首次使用时询问可在系统设置 → 隐私与安全性 → 提醒事项中撤销
二进制文件超时(Node 封装器)30 s硬编码上限;远低于任何 MCP 客户端的超时时间
响应负载上限16 MB可处理包含数千条提醒事项的数据库

如果你使用通过 npm 分发的服务,并搭配非标准 MCP 客户端,请将 REMINDERS_BINARY 设置为 reminders-eventkit 二进制文件的绝对路径:

export REMINDERS_BINARY=/absolute/path/to/reminders-eventkit

.mcpb 和 Claude Code 插件安装会自动设置此变量。

MCP 工具

全部 13 个工具都会返回稳定的 JSON 信封:成功时为 { "status": "ok", "data": ... },失败时为 { "status": "error", "code": "...", "message": "..." }。

工具注解用途
get_lists只读列出所有提醒事项列表及未完成/已完成数量
get_list_info只读按名称或 ID 获取一个列表的元数据
list_reminders只读列出某个列表中的提醒事项(未完成/已完成/全部)
search_reminders只读在所有列表中进行全文搜索
get_today只读获取今天到期的提醒事项
get_overdue只读获取已逾期且未完成的提醒事项
get_scheduled只读获取所有设有到期日期且未完成的提醒事项
get_reminder只读按 ID 获取一条提醒事项
create_reminder添加创建一条新提醒事项
update_reminder破坏性、幂等更新现有提醒事项
complete_reminder破坏性、幂等标记为已完成
uncomplete_reminder破坏性、幂等取消已完成标记
delete_reminder破坏性、幂等永久删除

这里的“破坏性”遵循 MCP 规范:它表示该操作会以不可逆的方式修改现有状态(从用户的角度来看)。Claude 客户端会利用这些提示来决定何时请求确认。

隐私政策

该扩展在运行时100% 在本地运行,不会通过此扩展将任何数据传出你的 Mac。high5 ventures GmbH 不运营任何服务器,也不会收集遥测数据。唯一的网络活动是在安装期间从 GitHub Releases 一次性下载经过签名的 Swift 二进制文件(通过 Apple Developer ID 签名验证;若不匹配则拒绝安装)。

阅读完整政策:PRIVACY.md。

故障排查

Binary crashed (exit 1): spawn Unknown system error -86 — 该二进制文件是为其他 Mac 构建的。v1.0.4 及之前的版本仅包含 Apple Silicon 二进制文件,且还需要 macOS 14;从 v1.0.5 开始,二进制文件为通用版本,可在 macOS 11 及更高版本的 Apple Silicon 和 Intel 设备上运行。请更新到最新版本。

PERMISSION_DENIED — 你(或设备策略)关闭了“提醒事项”访问权限。请在 系统设置 → 隐私与安全性 → 提醒事项 中重新启用,然后重试。

PERMISSION_UNAVAILABLE — macOS 拒绝了请求,且没有显示对话框,因此隐私设置面板为空,也没有可开启的选项。授予权限或运行 tccutil reset 都无济于事,因为没有可授予或重置的条目。

macOS 会将隐私请求归因于它认定的责任进程,通常是启动服务的应用程序。如果该应用程序没有声明“提醒事项”用途说明,请求会在到达 EventKit 前被拒绝。从 v1.0.4 开始,二进制文件会自行承担此责任,因此提示不再取决于宿主应用。如果错误仍然存在,请检查归因信息:

log show --last 3m --predicate 'process == "tccd"' --info --debug | grep -i reminder

AttributionChain 行应将 reminders-eventkit 列为 responsible。如果列出的是宿主应用,则自行归因未生效——提交问题时请附上该日志行。

首次启动时二进制文件被隔离 — 发行版本均已签名并经过公证,因此不应出现这种情况。请验证:

BIN=~/Library/Application\ Support/Claude/Claude\ Extensions/local.mcpb.high5-ventures-gmbh.apple-reminders/bin/reminders-eventkit
codesign --verify --verbose "$BIN"
spctl --assess --type execute "$BIN"

如果任一项验证失败,则该副本可能已被篡改;请从 Releases 重新下载。

“找不到列表”或“存在多个同名列表” — 提醒事项列表会按精确名称匹配。先使用 get_lists 查看可用名称。对于重名列表,错误响应会包含一个 candidates 数组,其中带有稳定的 calendar_identifier;请使用 id:<calendar_identifier> 作为列表参数再次调用。

已标记的提醒事项返回空结果 — EventKit 不会公开 flagged 属性。Claude Code 技能包为需要此查询的用户提供了 AppleScript 回退方案(skills/apple-reminders/scripts/get_flagged.applescript)。.mcpb 包不包含此回退方案,因为 Claude Desktop 无法访问 shell。

仍然无法解决? 请提交问题 → 支持。

支持

架构

Claude Desktop / Cowork           Claude Code CLI                Any MCP client (Cursor, Zed, …)
        │                                │                                   │
        │  (stdio MCP)                   │  (Bash via plugin)                │  (stdio MCP)
        ▼                                ▼                                   ▼
    Node wrapper                 reminders-eventkit                    Node wrapper
   (server/index.js)            (Swift binary, direct)               (npm @high5ventures/…)
        │                                │                                   │
        ▼                                │                                   ▼
 reminders-eventkit                      │                          reminders-eventkit
(same Swift binary)                      │                        (downloaded on install)
        │                                │                                   │
        └────────────────────────────────┴───────────────────────────────────┘
                                         │
                                         ▼
                            Apple EventKit framework
                                         │
                                         ▼
                            macOS Reminders database

一个 Swift 源文件 → 一个二进制文件 → 三种分发方式。构建内部细节请参阅 CONTRIBUTING.md。

许可证

版权所有 © 2026 high5 ventures GmbH。根据 MIT License 发布 — 请参阅 LICENSE。

本项目与 Apple Inc. 或 Anthropic PBC 无关,也未获得其认可。

“Apple”和“Reminders”是 Apple Inc. 的商标。“Claude”是 Anthropic PBC 的商标。

评论

支持 Markdown

第一次接触 MCP?

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

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