苹果iCalendar MCP服务器
模型上下文协议(MCP)服务器,允许Claude Code与macOS上的苹果日历应用程序交互。
功能
此MCP服务器公开了以下管理Apple日历的工具:
- 列表_日历 -列出所有可用日历
- get_events -从特定日历检索事件
- create_event -在日历中创建新事件
- 删除事件 -从日历中删除事件
- update_事件 -更新现有事件
- 搜索事件 -按关键字搜索所有日历中的事件
先决条件
- macOS(苹果日历应用程序需要)
- Node.js 18或更高版本
- 必须安装和配置Apple日历应用程序
安装
1.安装依赖项
cd apple-icalendar-mcp
npm install2.编制项目
npm run build3.配置克劳德代码
将此MCP服务器添加到Claude代码配置中。创建或修改MCP配置文件:
对于Claude Desktop (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"apple-icalendar": {
"command": "node",
"args": ["/chemin/absolu/vers/apple-icalendar-mcp/dist/index.js"]
}
}
}对于Claude代码CLI,创建/修改MCP配置文件:
{
"mcpServers": {
"apple-icalendar": {
"command": "node",
"args": ["/chemin/absolu/vers/apple-icalendar-mcp/dist/index.js"]
}
}
}替换 /chemin/absolu/vers/ 通过项目文件夹的完整路径。
使用
设置后,您可以使用Claude代码与Apple日历交互:
命令示例
列出所有日历:
Claude, liste mes calendriers查看日历中的事件:
Claude, montre-moi les événements de mon calendrier "Travail" pour les 7 prochains jours创建新事件:
Claude, crée un événement "Réunion d'équipe" le 15 janvier 2025 de 14h à 15h dans mon calendrier "Travail"搜索事件:
Claude, recherche tous les événements contenant "dentiste"修改事件:
Claude, change l'heure de l'événement "Réunion d'équipe" à 15h删除事件:
Claude, supprime l'événement "Réunion annulée" de mon calendrier "Travail"工具详情
列表_日历
列出所有可用的日历。
设置 : 无
返回: 日历列表及其名称和说明
get_events
获取特定日历的事件。
设置 :
calendar_name(字符串,必需)-日历名称days_ahead(数字,可选)-提前天数(默认值:30)
返回: 事件列表及其详细信息
create_event
在日历中创建新事件。
设置 :
calendar_name(字符串,必需)-日历名称summary(字符串,必需)-事件标题start_date(字符串,必需)-开始日期和时间(格式:“2025年1月15日下午2:00:00”)end_date(字符串,必需)-结束日期和时间location(字符串,可选)-活动地点description(字符串,可选)-事件描述
返回: 消息取消确认
删除事件
从日历中删除事件。
设置 :
calendar_name(字符串,必需)-日历名称event_summary(字符串,必需)-要删除的事件的标题
返回: 消息取消确认
update_事件
更新现有事件。
设置 :
calendar_name(字符串,必需)-日历名称event_summary(字符串,必需)-事件的当前标题new_summary(字符串,可选)-新标题new_start_date(字符串,可选)-新的开始日期new_end_date(字符串,可选)-新的结束日期new_location(字符串,可选)-新位置new_description(字符串,可选)-新描述
返回: 消息取消确认
搜索事件
按关键字搜索所有日历中的事件。
设置 :
query(字符串,必需)-要搜索的关键字days_ahead(数字,可选)-提前天数(默认值:30)
返回: 相应事件列表
日期格式
日期必须采用AppleScript接受的格式,例如:
- “2025年1月15日下午2:00:00”
- “2025年1月15日下午2:00:00”
- "15/1/2025 14:00:00"
权限
首次使用服务器时,macOS将要求您允许访问日历。接受此权限以使服务器正常工作。
发展
自动重新加载的开发模式
npm run dev项目结构
apple-icalendar-mcp/
├── src/
│ └── index.ts # Code principal du serveur
├── dist/ # Fichiers compilés (généré)
├── package.json # Configuration npm
├── tsconfig.json # Configuration TypeScript
└── README.md # Documentation故障排除
服务器未连接
- 检查配置中的路径是否正确且绝对
- 检查项目是否已编译(
npm run build) - 在系统首选项>安全和隐私中检查日历访问权限
未找到事件
- 检查日历名称是否正确(区分大小写)
- 检查日历应用程序是否包含事件
- 检查使用的日期格式
AppleScript错误
AppleScript错误将显示在响应中。检查:
- 日历应用程序是可访问的
- 日历和事件名称是否正确
- 日期采用有效格式
局限性
- 仅适用于macOS
- 需要Apple日历应用程序
- 日期格式必须遵循AppleScript约定
- 事件搜索通过简单的字符串匹配完成
许可证
麻省理工学院
贡献
欢迎捐款!不要犹豫打开问题或拉取请求。
