
Apple Reminders
io.github.high5-ventures由 GitHub 账号 high5-ventures 发布v1.1.0更新于 Oct 24, 2026
Fast, native macOS Apple Reminders via EventKit. 10-200x faster than AppleScript alternatives.
概览
让助手通过原生 EventKit 读取、搜索、创建、更新、完成和删除 macOS 提醒事项。
- 可以做什么
- 将 Apple 的 EventKit 框架封装为已签名的 Swift 二进制文件,并通过 stdio 暴露 13 个工具。只读工具可列出提醒列表、按状态列出提醒、全文搜索,以及返回今天、逾期和已排期的提醒;写入工具可创建、更新、完成、取消完成和删除单条提醒。提醒 ID 跨会话保持稳定,每个工具都声明只读或破坏性注解,便于客户端在修改前询问。
- 适用场景
- 在 Mac 上希望助手回答提醒事项相关问题或在对话中管理提醒时值得添加,例如查看今天到期的事项、找出逾期条目,或添加和完成待办。仅支持 macOS,面向同一台机器上的 Claude Desktop、Claude Code 及其他 MCP 客户端。
- 运行要求
- 需要运行 macOS 11 或更高版本的 Mac(Apple Silicon 或 Intel)。可通过 .mcpb 包、Claude Code 插件或 npm 包 @high5ventures/apple-reminders-mcp 安装(npm 方式需要 Node.js)。必须在 macOS 隐私提示中授予提醒事项访问权限;npm 方式可能需要将 REMINDERS_BINARY 设为二进制的绝对路径。无需账号或 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 Apple Reminders,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Apple Reminders for Claude
[License: MIT] [macOS 11+] [Notarized] [MCPB manifest]
Fast, native Apple Reminders access for Claude — works in Claude Desktop, Claude Cowork, and Claude Code (CLI). One signed Swift/EventKit binary, three distribution packages.
Reminder IDs are stable across sessions. A full CRUD round-trip takes under a second on a database with 300+ reminders. Umlauts, accents, CJK characters and emoji pass through unchanged.
Published by high5 ventures GmbH — signed with Developer ID Application: high5 ventures GmbH and notarized by Apple.
Quick start
You need a Mac (Apple Silicon or Intel) running macOS 11 or later, and Claude Desktop.
- Download
apple-reminders.mcpbfrom the latest release. - Double-click it. Claude Desktop opens an install dialog — click Install.
- Ask Claude something like "What's on my reminders for today?"
macOS asks for Reminders access on that first question. Allow it, and Claude can read and change your reminders.
No configuration is needed: the bundle contains the server and the signed binary, and Claude Desktop sets the paths on install.
Updating is the same three steps with the newer .mcpb.
Not using Claude Desktop? See Installation for Claude Code and other MCP clients.
Contents
- Description
- Features
- Usage examples
- Installation
- Configuration
- MCP tools
- Privacy policy
- Troubleshooting
- Support
- Architecture
- License
Description
Apple Reminders for Claude gives Claude full CRUD access to your macOS Reminders app. It wraps Apple's native EventKit framework in a signed Swift binary that returns stable UUIDs and structured JSON, and ships three ways:
All three ship the same binary and the same 13 tools, so behaviour does not differ between them.
Features
- 13 MCP tools covering the full reminder lifecycle: list lists, list reminders (open/completed/all), full-text search, today/overdue/scheduled smart queries, CRUD on individual reminders.
- Native EventKit — not AppleScript, not reverse-engineered SQLite scraping.
- Stable UUIDs — reminder IDs survive across sessions, unlike AppleScript URIs or CLI positional indexes.
- Tool safety annotations — every tool declares
readOnlyHint/destructiveHintso Claude clients can auto-run queries but prompt for mutations. - Language-neutral — the skill matches on intent, not keywords. Works identically in German, French, Spanish, Japanese, etc.
- Speed — full CRUD smoke-test completes in under 1 s on 300+ reminders across 10 lists.
- Signed + notarized — no Gatekeeper warnings; deployable via MDM.
- 100% local — no network I/O. See PRIVACY.md.
Usage examples
In Claude Desktop and Cowork the tools appear under Apple Reminders; in Claude Code the skill loads when you mention reminders. The examples below show the tool calls behind each answer.
Example 1 — "What's on my plate today?"
You: Was habe ich heute zu tun?
Claude (invokes
get_today):Claude: Du hast heute zwei offene Erinnerungen: den Zahnarzt-Termin um 10:00 (Persönlich) und die Rechnungs-Prüfung um 14:00 (Arbeit).
Example 2 — "Add a reminder to the groceries list"
You: Remind me to buy oat milk tomorrow at 6pm.
Claude (invokes
create_reminder):Response:
Claude: Done — added "Buy oat milk" to Groceries for tomorrow at 18:00.
Example 3 — "Clean up what's overdue"
You: Show me everything that's overdue, then mark the Slack-DM one as done.
Claude (invokes
get_overdue):Claude (invokes
complete_reminderwithid: "G7H8…"):Claude: Two overdue items: Slack reply (now marked done) and PR #482 review (still open).
Installation
Claude Desktop / Cowork
Download apple-reminders.mcpb from Releases and double-click it. Claude Desktop shows an install dialog; click Install, then grant Reminders access in the macOS privacy prompt on the first tool call.
Updating works exactly the same way — download the newer .mcpb and double-click it.
This is how the extension is installed. The two sections below cover other MCP clients; on a Mac with Claude Desktop you do not need them.
Claude Code (CLI)
Reload Claude Code before the next step; the plugin is not visible until the marketplace has been picked up.
This path offers new versions automatically, but does not install them; you still confirm each update.
Any other MCP client (Cursor, Zed, …)
Then add it to your client's MCP configuration:
Or skip the global install and let the client fetch it on demand:
The location of that file differs per client.
Build from source
Produces dist/reminders-eventkit (universal binary for Apple Silicon and Intel), dist/skill/ (Claude Code skill), and dist/apple-reminders.mcpb (Claude Desktop bundle). Builds are unsigned; see CONTRIBUTING.md for the signed release workflow.
Requirements for building: macOS 11+, Xcode Command Line Tools, Node.js 18+. Toolchains older than Xcode 15 also work; they compile without the macOS 14 permission API and fall back to the older request. To build only your own architecture, set ARCHS, e.g. ARCHS=x86_64 ./build.sh.
Configuration
No configuration is required for normal use. The extension runs with these defaults:
If you use the npm-distributed server with a non-standard MCP client, set REMINDERS_BINARY to the absolute path of the reminders-eventkit binary:
The .mcpb and Claude Code plugin installations set this variable automatically.
MCP tools
All 13 tools return a stable JSON envelope — { "status": "ok", "data": ... } on success, { "status": "error", "code": "...", "message": "..." } on failure.
"Destructive" here follows the MCP specification: it means the operation mutates existing state irreversibly from the user's point of view. Claude clients use these hints to decide when to prompt for confirmation.
Privacy policy
This extension is 100% local at runtime — no data leaves your Mac via this extension. high5 ventures GmbH operates no server and collects no telemetry. The only network activity is the one-time download of the signed Swift binary from GitHub Releases during install (verified by Apple Developer ID signature, refuses to install on mismatch).
Read the full policy: PRIVACY.md.
Troubleshooting
Binary crashed (exit 1): spawn Unknown system error -86 — the binary was built for a different Mac. Releases up to and including v1.0.4 contain only an Apple Silicon binary that also requires macOS 14; from v1.0.5 the binary is universal and runs on Apple Silicon and Intel from macOS 11. Update to the latest release.
PERMISSION_DENIED — you (or a device policy) turned Reminders access off. Re-enable it in System Settings → Privacy & Security → Reminders, then retry.
PERMISSION_UNAVAILABLE — macOS refused the request without showing a dialog, so the privacy pane stays empty and there is nothing to switch on. Granting permissions or running tccutil reset does not help, because no entry exists to grant or reset.
macOS attributes a privacy request to the process it holds responsible, normally the application that launched the server. If that application declares no Reminders usage description, the request is refused before it reaches EventKit. Since v1.0.4 the binary takes that responsibility itself, so the prompt no longer depends on the host. If the error persists, check the attribution:
The AttributionChain line should name reminders-eventkit as responsible. If it names the host application instead, the self-attribution did not take effect — please include that log line when opening an issue.
Binary quarantined on first launch — releases are signed and notarized, so this should not occur. To verify:
If either fails, the copy may have been tampered with; re-download from Releases.
"List not found" or "Multiple lists with that name" — reminder lists are matched by exact name. Use get_lists first to see available names. For duplicates, the error response includes a candidates array with stable calendar_identifiers; re-call with id:<calendar_identifier> as the list argument.
Flagged reminders return empty — EventKit does not expose the flagged attribute. The Claude Code skill ships an AppleScript fallback (skills/apple-reminders/scripts/get_flagged.applescript) for users who need this query. The .mcpb bundle does not include this fallback because Claude Desktop does not have shell access.
Still stuck? Open an issue → Support.
Support
- Bug reports & feature requests: https://github.com/high5-ventures/apple-reminders-for-claude/issues
- Security vulnerabilities:
[email protected]— see SECURITY.md - General contact:
[email protected]
Architecture
One Swift source → one binary → three distribution paths. See CONTRIBUTING.md for build internals.
License
Copyright © 2026 high5 ventures GmbH. Released under the MIT License — see LICENSE.
This project is not affiliated with or endorsed by Apple Inc. or Anthropic PBC.
"Apple" and "Reminders" are trademarks of Apple Inc. "Claude" is a trademark of Anthropic PBC.
来源:README.md,提交 7f65ed2
工具
0版本历史
3- v1.1.0最新Oct 19, 2026
- v1.0.5Oct 6, 2026
- v1.0.4Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
