使用说明
日历mcp
本地MCP服务器,通过 EventKit 助手应用程序。
完全由OpenAI GPT-5.4通过Codex构建。
安装
git clone https://github.com/<your-account>/calendar-mcp.git
cd calendar-mcp
./bootstrap.sh
跑
npm run start
权限
跑 calendar_permissions 曾经与 prompt: true 和 access: "full".
助手应用程序旨在使用项目的正常代码签名构建,以便macOS可以将日历访问归因于稳定的应用程序身份。
如果Codex内部没有出现提示,请直接启动助手应用程序一次:
open CalendarMCPHelperApp/build/Build/Products/Release/CalendarMCPHelperApp.app
直接打开时,应用程序将请求日历访问并显示状态警报。在初始授权之后,MCP工具可以正常读写事件。
删除安全是有意缩小的:每个 calendar_delete_event 调用只能删除一个已解析的目标。重复删除支持一次或一个完整系列,但不支持 futureEvents 或任何批量删除形状。
calendar_update_event 就地更新事件,而不是强制删除并重新创建流。省略的字段保持不变。要清除可空字段,请传递以下命令之一 clearLocation, clearNotes, clearUrl,或 clearTimeZone.
日期输入
所有工具日期输入都接受以下线格式:
2026-04-02当地日历日2026-04-02T09:30或2026-04-02T09:30:00当地挂钟时间2026-04-02T09:30:00-05:00或2026-04-02T14:30:00Z就在一瞬间
仅本地日期和本地日期时间输入在助手应用程序的当前macOS时区中进行解释。返回的事件有效载荷总是使用带有时区偏移的ISO-8601时间戳。
calendar_list_events 款待 start 和 end 作为解析这些输入后的确切时间窗口。
occurrenceDate 对于重复事件,也接受查找 YYYY-MM-DD在这种情况下,助手将按当地日历日匹配事件。当你已经有了 occurrenceDate 从之前的工具响应中获取时间戳,更喜欢传递回确切的时间戳。
MCP配置
{
"mcpServers": {
"calendar": {
"command": "node",
"args": ["/absolute/path/to/calendar-mcp/dist/index.js"],
"env": {
"CALENDAR_MCP_HELPER_APP_PATH": "/absolute/path/to/calendar-mcp/CalendarMCPHelperApp/build/Build/Products/Release/CalendarMCPHelperApp.app"
}
}
}
}
验证
npm run verify