mcd-saver-strategist - 把麦当劳点餐的优惠组合交给确定性算法
mcd-saver-strategist 是一个基于麦当劳中国 MCP 的点餐省钱技能:由 Agent 取数与讲解、由 Python 脚本做确定性组合优化,在菜单、优惠券与叠加规则之间搜索总价最低的合规方案。项目由 hujjun 维护,MIT 许可,截至 2026-10-30 获 1546 星标,尚无正式 release。
mcd-saver-strategist(项目自述又名「麦门省钱精算师」)是一个面向麦当劳点餐场景的 AI 智能体技能。它要解决的问题很具体:菜单有几十项、优惠券动辄十几张、叠加规则各不相同,用户懒得算,而让大模型直接口算价格、折扣与叠加又容易出错。据项目说明,它的核心思路是「取数交给 MCP,算术交给代码,表达交给 Agent」——实时菜单、价格、券与营养数据由麦当劳中国 MCP 提供,组合搜索由仓库内的 Python 脚本完成,Agent 只负责理解需求、归一化数据、讲解方案并在用户确认后下单。适合价格敏感的学生与上班族、需要控制热量的健身人群、多人拼单的家庭或同事,以及手里券多、想知道哪张券真正值得用的人。
维护者与状态
项目由 hujjun 维护,仓库创建于 2026-10-09,最后提交时间为 2026-10-19。截至 2026-10-30,仓库获得 1546 星标。事实表显示该项目尚无正式 release,因此目前没有版本号可循,使用方式以仓库中的技能目录与脚本为准。项目自述为麦当劳程序员创意开发大赛的参赛作品,并明确声明非麦当劳官方产品。
主要能力
以下能力均据项目 README 与技能说明整理,属于项目自述:
- 最低价组合搜索:用户说出想吃的餐品,技能拉取门店菜单与可用优惠券,穷举出总价最低的合规组合。README 给出的示例是巨无霸加中薯条与可乐直选 47.00 元,改用「1+1 随心配」组合后为 21.90 元;该数字来自项目自带的示例数据,并非实时门店价格。
- 多目标优化:提供 cheapest、balanced、lightest、fewest 四种点餐目标,同一约束下给出不同最优解。项目说明四种目标都以最低到手价为价格锚,只在容忍带内做次级优选。
- 券体检:按名义面额、实际节省、机会成本三个口径逐张评估优惠券,把「小券挤掉大组合」这类隐性代价显式标出。
- 凑单建议:用子集和动态规划找出补足满减差额的最小代价组合,并给出净变化,净变化可能为负,即加购反而更省。
- 帕累托前沿:输出价格与热量两个维度上的不可支配解集,说明「想更省就要多吃多少热量」。
- 多人拼单:按份数计价并给出人均分摊,优惠只计一次,属于保守计价。
- 外送场景:支持麦乐送地址与门店查询,配送费计入总价参与预算判断,仅外送可用的券才参与优化。
在工程层面,项目自述优化器为纯 Python 标准库实现、零依赖,在线试算页为单文件零依赖;CI 中包含自测、前后端对拍与性能基准。README 称在 160 款菜品、12 张券的规模下耗时约 260 毫秒,该数字来自项目自带的基准脚本,本文未做独立验证。
使用入口
代码与文档位于 hujjun/mcd-saver-strategist,项目另提供在线试算页面:项目官网,据 README 说明该页面无需登录,可切换点餐目标、拖动预算与热量上限实时查看最优组合,并包含券体检与帕累托前沿图。
据项目说明,完整使用需要三步:先在麦当劳 MCP 开放平台申请 Token,再在 WorkBuddy 的连接器设置中填入仓库提供的 MCP 配置示例并把 Token 占位符替换为真实值,最后把技能目录复制到 WorkBuddy 的用户技能目录。README 给出的一行安装命令如下:
git clone https://github.com/hujjun/mcd-saver-strategist.git && cp -r mcd-saver-strategist/skills/mcd-saver-strategist ~/.workbuddy/skills/
Windows 下目标目录为 %USERPROFILE%\.workbuddy\skills\。装好后在对话框里直接描述需求即可触发技能。
如果只想看算法效果,项目说明可以不配置 Token,直接用内置样例数据离线运行优化器:
cd skills/mcd-saver-strategist/scripts python optimizer.py --json python demo.py python optimizer.py --objective lightest python optimizer.py --budget 25 --max-calories 800
此外脚本目录还包含自测、性能基准、MCP 连通自检与前后端对拍脚本,其中 MCP 连通自检需要真实 Token,对拍脚本需要 Node 环境。
许可与限制
项目采用 MIT 许可证。README 中列出的已知边界包括:仓库内的菜单价格与热量为示例快照,结构对齐 MCP 返回但数值仅供演示,实际以门店实时返回为准;优惠券内容同样是示例快照,可用性以账号实时状态为准;下单能力经由 MCP 核价与下单接口完成,仓库页面本身不涉及下单。项目还说明,优惠券存在场景属性,部分门店券仅到店可用,外送场景会自动剔除不可用券;历史订单接口在账号无历史订单时返回空列表,依赖它的功能需要空态兜底。
项目自述为参赛作品,由参赛者独立开发,非麦当劳官方产品;输出仅供参考,不构成医疗、营养或其他专业建议,餐品信息、价格与供应状态以麦当劳官方渠道的实时结果为准,使用麦当劳 MCP 服务须遵守其使用条款与服务规则。此外,完整功能依赖 WorkBuddy 环境与麦当劳 MCP Token,脱离该环境时只能运行离线样例流程。