Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Fast, native macOS Apple Reminders via EventKit. 10-200x faster than AppleScript alternatives.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"apple-reminders": {
"command": "npx",
"args": [
"-y",
"@high5ventures/apple-reminders-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add apple-reminders -- npx -y @high5ventures/apple-reminders-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"apple-reminders": {
"command": "npx",
"args": [
"-y",
"@high5ventures/apple-reminders-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"apple-reminders": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@high5ventures/apple-reminders-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 high5-ventures 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.1.0)于19天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Asset Notation
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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](https://h5ventures.de) — signed with Developer ID Application: high5 ventures GmbH and notarized by Apple.
You need a Mac (Apple Silicon or Intel) running macOS 11 or later, and Claude Desktop.
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.
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:
| Target | Artifact | Where to get it |
|---|---|---|
| Claude Desktop / Cowork | .mcpb bundle | Releases |
| Claude Code (CLI) | Plugin with skill | /plugin marketplace add against this repository |
| Any MCP client | npm package | npm install -g @high5ventures/apple-reminders-mcp |
All three ship the same binary and the same 13 tools, so behaviour does not differ between them.
readOnlyHint / destructiveHint so Claude clients can auto-run queries but prompt for mutations.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.
You: Was habe ich heute zu tun?
Claude (invokes
get_today):
`json
{ "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: Du hast heute zwei offene Erinnerungen: den Zahnarzt-Termin um 10:00 (Persönlich) und die Rechnungs-Prüfung um 14:00 (Arbeit).
You: Remind me to buy oat milk tomorrow at 6pm.
Claude (invokes
create_reminder):
`json
{ "list": "Groceries", "title": "Buy oat milk", "dueDate": "2026-04-15T18:00:00" }
`
Response:
`json
{ "status": "ok", "data": { "reminder": { "id": "E5F6…", "name": "Buy oat milk", "due_date": "2026-04-15T18:00:00" } } }
`
Claude: Done — added "Buy oat milk" to Groceries for tomorrow at 18:00.
You: Show me everything that's overdue, then mark the Slack-DM one as done.
Claude (invokes
get_overdue):
`json
{ "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 (invokes
complete_reminderwithid: "G7H8…"):
`json
{ "status": "ok", "data": { "reminder": { "id": "G7H8…", "completed": true, "completion_date": "2026-04-14T18:22:01" } } }
`
Claude: Two overdue items: Slack reply (now marked done) and PR #482 review (still open).
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.
/plugin marketplace add high5-ventures/apple-reminders-for-claude
Reload Claude Code before the next step; the plugin is not visible until the marketplace has been picked up.
/plugin install apple-reminders@high5-apple-reminders-for-claude
This path offers new versions automatically, but does not install them; you still confirm each update.
npm install -g @high5ventures/apple-reminders-mcp
Then add it to your client's MCP configuration:
{
"mcpServers": { "apple-reminders": { "command": "apple-reminders-mcp" } } }
Or skip the global install and let the client fetch it on demand:
{
"mcpServers": { "apple-reminders": { "command": "npx", "args": ["-y", "@high5ventures/apple-reminders-mcp"] } } }
The location of that file differs per client.
git clone https://github.com/high5-ventures/apple-reminders-for-claude.git
cd apple-reminders-for-claude ./build.sh
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.
No configuration is required for normal use. The extension runs with these defaults:
| Setting | Default | Notes |
|---|---|---|
| Reminders permission | prompted on first use | Revocable in System Settings → Privacy & Security → Reminders |
| Binary timeout (Node wrapper) | 30 s | Hardcoded ceiling; well under any MCP client timeout |
| Response payload cap | 16 MB | Covers databases with thousands of reminders |
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:
export REMINDERS_BINARY=/absolute/path/to/reminders-eventkit
The .mcpb and Claude Code plugin installations set this variable automatically.
All 13 tools return a stable JSON envelope — { "status": "ok", "data": ... } on success, { "status": "error", "code": "...", "message": "..." } on failure.
| Tool | Annotation | Purpose |
|---|---|---|
get_lists | read-only | List all reminder lists with open/completed counts |
get_list_info | read-only | Metadata for one list by name or id |
list_reminders | read-only | List reminders in a list (open/completed/all) |
search_reminders | read-only | Full-text search across all lists |
get_today | read-only | Reminders due today |
get_overdue | read-only | Overdue open reminders |
get_scheduled | read-only | All open reminders with a due date |
get_reminder | read-only | Fetch one reminder by ID |
create_reminder | additive | Create a new reminder |
update_reminder | destructive, idempotent | Update an existing reminder |
complete_reminder | destructive, idempotent | Mark as completed |
uncomplete_reminder | destructive, idempotent | Unmark completed |
delete_reminder | destructive, idempotent | Permanently delete |
"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.
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.
`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:
log show --last 3m --predicate 'process == "tccd"' --info --debug | grep -i reminder
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 verif
只显示了开头部分;其余内容请在仓库中阅读