Calendar.app

io.github.p-l-ta由 GitHub 账号 p-l-ta 发布v1.0.0更新于 Oct 24, 2026

List, search, and manage calendar events via macOS Calendar.app across all configured accounts.

已验证STDIO仅桌面效率与工作流文件与存储

概览

AI 生成的概览

一个本地 macOS MCP 服务器,让助手在 Calendar.app 中跨所有已配置账户列出、搜索、创建、更新和删除日历事件。

可以做什么
列出日历及其名称、颜色、账户和 UUID,并按日期范围列出事件(含重复事件的各次发生),直接读取日历数据库以快速覆盖所有账户。按 UUID 获取单个事件的完整详情(含参与者),并按标题、描述和位置搜索事件。通过 AppleScript 自动化创建新事件、更新现有事件属性并永久删除事件,改动会像在应用内操作一样同步到已连接账户。
适用场景
适合在 Mac 上让助手查看日程、按关键词查找事件,或跨 iCloud、Google、Exchange 日历新增、修改和删除日程,而无需切换应用。
运行要求
需要 macOS 与 Calendar.app、Node.js 20+,以及 Claude Desktop 或任意 stdio 客户端等 MCP 主机;通过 npx 或全局 npm 安装本地运行。由于服务器继承主机权限,需在系统设置中为主机应用授予“完全磁盘访问权限”和“自动化 → 日历”权限。无需 API 密钥或环境变量。
安装前请注意
服务器可创建、更新并永久删除日历事件,改动会同步到所有已连接账户,删除影响不限于本机。它直接读取日历的 SQLite 数据库,需为主机应用授予“完全磁盘访问权限”,权限范围较广。日历数据会作为工具响应传给 MCP 主机;README 称其无后端、无遥测、自身不发起网络请求。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Calendar.app,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

calendar-mcp

MCP server that gives Claude (and other MCP hosts) full access to Calendar.app on macOS — list, search, create, update, and delete events — across every account configured in Calendar.app (iCloud, Google, Exchange, etc.).

Prerequisites

  • macOS (Calendar.app required)
  • Node.js 20+
  • An MCP host: Claude Desktop or any stdio MCP client

Installation

Claude Desktop — one-click install (recommended)

  1. Download calendar-mcp.mcpb from the latest release
  2. Double-click the .mcpb file — Claude Desktop installs it automatically
  3. Grant the required macOS permissions (see below)

Manual / other hosts

bash
npx @p-l-ta/calendar-mcp

Or install globally:

bash
npm install -g @p-l-ta/calendar-mcpcalendar-mcp

Point your MCP host at the calendar-mcp binary (stdio transport). Example config:

json
{  "mcpServers": {    "calendar-app": {      "command": "npx",      "args": ["@p-l-ta/calendar-mcp"]    }  }}

Required macOS permissions

Grant these to the application that runs the MCP host (Claude Desktop, etc.):

PermissionWhere to grant
Full Disk AccessSystem Settings → Privacy & Security → Full Disk Access
Automation → CalendarSystem Settings → Privacy & Security → Automation

The MCP server process inherits permissions from the host application that launches it.

Tools

ToolDescription
list_calendarsList all calendars with name, color, account, and UUID
list_eventsList events in a date range, including recurring-event occurrences
get_eventGet full details of a single event by UUID, including attendees
search_eventsSearch events by text across title, description, and location
create_eventCreate a new calendar event
update_eventUpdate properties of an existing event
delete_eventPermanently delete an event

How it works

  • Reads (list_calendars, list_events, search_events, get_event) — query Calendar's SQLite database directly for fast, structured results across all accounts. Recurring events are expanded correctly via Calendar's OccurrenceCache table.
  • Writes (create_event, update_event, delete_event) — driven by AppleScript automation against Calendar.app, so changes sync to all connected accounts (iCloud, Google, Exchange) just as if you'd made them in the app.

Development

bash
npm installnpm run dev          # tsx watch — live reloadnpm run build        # compile TypeScript → dist/npm run mcpb         # build Claude Desktop extension → build/calendar-mcp.mcpbnpm run smoke        # smoke-test all 7 tools against live Calendar.app data

Note: npm run smoke requires Terminal.app (or your terminal emulator) to have Full Disk Access, since it reads Calendar.sqlitedb directly.

Interactive MCP testing:

bash
npm run buildnpx @modelcontextprotocol/inspector node dist/server.js

Privacy Policy

calendar-mcp is a local MCP server that runs entirely on your Mac. It has no backend, no telemetry, and makes no network requests of its own.

What it accesses:

  • Calendar's SQLite database (~/Library/Group Containers/group.com.apple.calendar/Calendar.sqlitedb) — read-only, used for list/search queries
  • Calendar.app via AppleScript — to create, update, and delete events

What it does NOT do:

  • Collect, store, or transmit any data outside your Mac
  • Connect to any external server or API
  • Log calendar data anywhere

All calendar data stays on your device and is only passed to the MCP host (Claude Desktop or another client) as part of normal tool responses. You control exactly which tools Claude can invoke.

License

MIT

来源:README.md,提交 1691345

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分