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 分