hujjun/mcd-saver-strategist

麦当劳省钱点餐助手(麦门精算师)|麦当劳优惠券组合优化 Skill:拉取麦当劳菜单与全部可用优惠券,算出最省的点餐组合,巨无霸套餐 ¥47 → ¥21.9(省 53%)。McDonalds MCP(麦当劳 MCP)coupon optimizer · McDonalds China MCP Server · Agent Skill for WorkBuddy · 麦当劳程序员创意开发大赛参赛作品

这是什么

mcd-saver-strategist 是一个 WorkBuddy 技能,充当麦当劳中国的虚拟“价格计算器”。当用户询问类似 “我想要巨无霸套餐,怎么点最便宜?” 时,该技能会:

  1. 调用 麦当劳中国 MCP API 获取当前菜单、价格、营养数据以及用户账户可用的所有优惠券。
  2. 将该数据规范化为 JSON 请求。
  3. 运行 确定性组合优化器(scripts/optimizer.py),枚举所有合法的商品和优惠券组合,并遵守 MCP 的叠加规则、预算或卡路里限制。
  4. 返回 前 N 个最低价且合规的组合,如果用户确认,则通过 MCP 创建订单。

这是一个竞赛参赛作品(麦当劳程序员创意开发竞赛),并非麦当劳官方产品。


快速安装

# 克隆仓库
git clone https://github.com/hujjun/mcd-saver-strategist.git

# 将技能复制到你的 WorkBuddy 技能目录
cp -r mcd-saver-strategist/skills/mcd-saver-strategist ~/.workbuddy/skills/

Windows 用户复制到 %USERPROFILE%\.workbuddy\skills\。

你还需要一个 MCP 令牌(参见 README 中的“申请麦当劳 MCP Token”部分),并通过 WorkBuddy 的 连接器 → 自定义连接器 → 配置 MCP 使用提供的 mcp-config.example.json 进行配置。


使用方法

  • 在对话中:说类似 “我想吃巨无霸套餐,怎么点最便宜”。
  • 代理会获取菜单和四向优惠券池,运行优化器并回复最便宜的可行组合(例如 “1+1 随心配 ¥12.9 + 可乐 ¥9 = ¥21.90,节省 ¥25.10”)。
  • 你可以添加约束:
    • budget=30 → 显示 30 元以下的最佳餐点。
    • max_calories=800 → 返回低卡路里、便宜的组合。
    • delivery 模式 → 包含配送费,并过滤仅限到店自取的优惠券。
  • 当你确认时,技能会调用 MCP 的 calculate-price 验证最终价格,然后调用 create-order 下单。

命令行演示(无需令牌)

仓库附带一个小型离线数据集,以便你本地尝试优化器:

cd skills/mcd-saver-strategist/scripts
python optimizer.py                 # 默认到店场景
python optimizer.py --json          # 同时输出 JSON
python optimizer.py --mode delivery --fee 9   # 包含配送费
python optimizer.py --budget 25
python optimizer.py --max-calories 800
python selftest.py                  # 运行 19 个内置测试

技术亮点

特性 详情
确定性优化器 纯 Python,仅使用标准库;带剪枝的穷举搜索,遵守 MCP 的叠加规则(stackable:false 表示互斥)。
零外部依赖 可在 WorkBuddy 沙箱和静态 Web 演示(docs/index.html)中运行。
MCP 集成 使用 MCP 端点获取菜单、优惠券、营养信息、价格验证和订单创建。
场景感知 优惠券带有 channel 字段(pickup、delivery、any)。优化器自动按所选场景过滤,并在需要时添加配送费。
预算/卡路里约束 简单的线性约束,优化器在找到全局最低价格的同时遵守这些约束。
自测套件 selftest.py 包含 19 个断言,覆盖边缘情况(空优惠券列表、冲突优惠券等)。
在线交互式演示 GitHub Pages 页面(docs/index.html)在浏览器中重现相同逻辑;用户可拖动滑块调整预算和卡路里,并立即看到结果。

谁可能觉得有用

  • 学生或上班族,希望在不手动处理优惠券的情况下获得最便宜的麦当劳餐点。
  • 健身/减肥爱好者,需要在预算内获得低卡路里选项。
  • 团体,订购多份餐点并需要控制总花费。
  • “优惠券猎人”,拥有大量优惠券并需要最优组合。

许可证

MIT(参见 LICENSE)。

相关

  • 项目
  • 项目
  • 项目
  • 项目