[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2d4id29jqbyaq":3},{"code":4,"message":5,"data":6,"timestamp":23},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":11,"age_days":12,"hn_threads":13,"one_liner":14,"summary_md":15,"topic":16,"github_topics":19,"license":20,"homepage":20,"updated_at":21,"history":22},"holdcloud\u002Fmcd-calendar-buddy",19,"作为一个J人&麦门信徒，是时候把优惠活动日期添加到我的日历了。疯狂星期四（just kidding~","Python",152,0,[],"Pulls McDonald's China campaign dates through an MCP tool and writes them into your calendar with reminders.","A contest entry, not a polished product: it is a small, zero-dependency Python CLI that turns McDonald's China campaign listings into calendar events. Worth a look if you already live in Calendar.app and use the official McDonald's MCP service; otherwise the token requirement and macOS focus narrow its appeal.\n\n## The problem\n\nYou want the limited-edition burger launch or coupon window to appear in your schedule before it sells out, but the information lives in a promotional feed you would have to check manually. Copying dates into Calendar.app by hand is the step that usually gets skipped. This tool queries the McDonald's MCP `campaign-calendar` tool, parses the returned Markdown into events, and writes them into a dedicated calendar with reminders attached. The result is a recurring sync workflow rather than one more page to remember to open.\n\n## What's different\n\nThe interesting design choice is how reminders are derived from the activity text. If the description contains a precise sale start such as a date and time, the tool schedules two alerts, one day and one hour before; all-day campaigns get a single reminder at 09:00 the previous day. That distinction is more useful than a blanket reminder, and it is configurable with `--remind-days`. Event identity is handled with UIDs, so re-running `sync` skips already-written events instead of duplicating them.\n\nCross-platform use rests on `.ics` export as the fallback. Only macOS gets direct Calendar.app writes, via AppleScript and a separate automation permission. The `schedule` command generates a launchd job that runs daily, but that path is macOS-only. Keyword filtering is simple comma-separated matching on title\u002Fdescription text, so it is convenient and also brittle if an activity is only loosely named. Parsing depends on the shape of McDonald's Markdown, and the README claims eight unit tests around parsing and fallback behavior, not a guarantee against upstream format changes.\n\n## Who should try it\n\nGood fit: a macOS user in mainland China who already has a McDonald's MCP token, treats Calendar.app as the source of truth, and wants campaign reminders without checking a feed. The built-in `sync` plus `schedule` path is the intended experience there. Poor fit: anyone without a token, or who does not want another service credential stored in an environment variable, since the query path does not work without it. Users on Windows or Linux can still use `query` and `export -o mc.ics` and import the file, but they lose direct calendar writes and should not expect `schedule` to manage a daily job for them; the documented one-line install prompts for AI agents assume the token is obtained from the official MCP site.\n\n## Requirements and limitations\n\nPython 3.10+ and a working `MCD_MCP_TOKEN` are the hard prerequisites; the README describes obtaining it by logging into the McDonald's MCP site and activating it in the console. No third-party dependencies are needed for the runtime, which keeps setup small. macOS direct sync triggers a Calendar automation permission prompt the first time, which must be granted in System Settings; declining it leaves only the `.ics` route. The license badge says MIT, but the repository metadata lists no declared license, so check the actual license file before redistributing.\n\nOngoing upkeep matters more than installation: parsing, filtering and reminder extraction all follow McDonald's feed format, and there is no documented monitoring beyond the CI test badge. If the feed's Markdown changes, malformed events are the likely symptom, so inspect the first `query` output before trusting `sync` with a large batch. Also, the project explicitly states it is not an official McDonald's product and that official channels are authoritative, which limits it to personal reminder convenience.\n\n## HotRepo's take\n\nOn 2026-10-25 the project appeared on HotRepo's NEW-REPOSITORY board for Python at #19 with 152 total stars, tracked only since 2026-10-24. That is a young-repository snapshot, not evidence of staying power; comparable daily history is insufficient to judge persistence. Before relying on it, verify that your MCP token still returns the `campaign-calendar` payload the parser expects.\n\n[Project source and documentation](https:\u002F\u002Fgithub.com\u002Fholdcloud\u002Fmcd-calendar-buddy)",{"slug":17,"name":18},"productivity","Productivity & Utilities",[],null,"2026-10-25T18:46:31Z",[],1792975369]