holdcloud/mcd-calendar-buddy

效率与系统工具

把麦当劳中国活动通过 MCP 拉下来,自动写进日历并设置提醒。

152
0
Python
今天创建

这是一件参赛作品,不是成熟产品:一个零依赖的小型 Python 命令行工具,把麦当劳中国活动整理进日历。如果你本来就用 macOS 日历、又已经开通麦当劳 MCP,它值得花十分钟试;否则 Token 门槛和平台限制会让它显得很窄。

解决什么问题

限量新品开售或优惠券有效期,你想在错过之前就在日程里看到,但这些信息藏在需要主动去看的活动页里。手动把日期抄进 Calendar.app 往往就是被跳过的那一步。这个工具调用麦当劳 MCP 的 campaign-calendar 查询活动,把返回的 Markdown 解析成日历事件,写进单独的日历并带上提醒。结果是一个可以反复运行的同步流程,而不是又多一个要记得打开的页面。

有什么不同

比较有意思的设计是从活动文案里推断提醒方式:如果能从活动介绍中提取到“10月22日10:45开售”这类精确时间,就提前 1 天和提前 1 小时各提醒一次;全天活动则前一天 09:00 提醒一次。这比笼统的提醒更贴合抢购场景,并且可以用 --remind-days 调整。事件用 UID 标识,重复执行 sync 会跳过已同步的事件,不会堆出重复条目。

跨平台靠 .ics 导出兜底。只有 macOS 会通过 AppleScript 直接写 Calendar.app,第一次写入还要单独授予“自动化”权限;schedule 生成的每日 launchd 任务同样只适用于 macOS。关键词过滤是对标题和描述做简单的逗号分隔匹配,用起来直接,但活动命名稍有变化就可能失配。解析同样依赖麦当劳 Markdown 的具体结构,README 只说明有 8 个单测覆盖解析与降级场景,并不能保证上游格式变化后仍然可用。

谁值得试

适合:使用 macOS、已经拿到麦当劳 MCP Token、以 Calendar.app 为主要日程工具,并且想省掉手动查看活动页的人。在这类环境下,sync 加 schedule 是它设计好的主路径。不适合:没有 Token,或不想把一个服务凭证放进环境变量的人,因为查询这一步离开 Token 就走不通。Windows 和 Linux 用户仍可用 query 和 export -o mc.ics 导出后手动导入,但会失去直接写入日历的能力,也不应指望 schedule 替他们管理每日任务;README 里给 AI 智能体的一句话安装提示也默认你要先去官方站点申请 Token。

使用条件与边界

硬性前提是 Python 3.10+ 和可用的 MCD_MCP_TOKEN,README 说明需要登录麦当劳 MCP 官网并在控制台激活。运行时没有第三方依赖,安装步骤很少。macOS 直接同步会在首次写入时弹出“日历”自动化权限请求,需要在系统设置里允许;拒绝后只能走 .ics 导出。徽章写着 MIT,但仓库元数据没有声明许可证,二次分发前应查看实际的许可证文件。

比起安装,日常维护更值得留意:解析、过滤和提醒提取都跟着麦当劳的活动格式走,除了 CI 测试徽章之外没有看到别的监控说明。如果上游 Markdown 变了,症状通常是生成的事件不完整,所以第一次先用 query 看看输出,再决定要不要让 sync 一次写入大批事件。另外项目明确声明自己不是麦当劳官方产品,活动信息以官方渠道为准,这把它定位成个人提醒工具。

HotRepo 点评

2026-10-25,该项目出现在 HotRepo 新项目榜(Python)第 19 名,记录到 152 个总 star,HotRepo 仅从 2026-10-24 开始追踪。这只是一个年轻仓库的单日快照,不足以判断热度能否持续;可比的历史数据也不够。依赖它之前,请先确认你的 MCP Token 仍能返回解析器所期望的 campaign-calendar 数据。

项目源码与说明

本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。