麦当劳中国 MCP · 程序员创意开发大赛参赛作品

麦门省钱精算师

说出你想吃什么,它拉取菜单和全部可用优惠券,用确定性算法穷举出总价最低的合规组合。
价格不靠大模型口算——算术交给代码,结果可复现、可核验。

直选(不用券)
¥47.00
→
精算师最优解
¥21.90
省 ¥25.10 · 53% OFF
Interactive

在线试算 · 选好想吃的,实时出最优解

下面这个试算器把仓库里的 optimizer.py 完整复刻到了浏览器端,无需登录、无需 Token,打开就能玩。

① 你想吃什么?
选择餐品 可多选 · 点击切换
用餐场景
外送费 元
预算上限 不限
热量上限 不限
② 精算结果
How it works

30 秒看懂:为什么不让大模型算价格

优惠券叠加是典型的「组合爆炸」——几十项菜单 × 十几张券 × 各不相同的叠加规则,口算不可靠。所以我们把职责拆开:

STEP 1

取数交给 MCP

通过麦当劳 MCP 拉取门店菜单、餐品详情、营养数据,以及四路券池:麦麦省可领券、我的券、门店券、外送券。

STEP 2

算术交给代码

optimizer.py 把券抽象成 5 类(单品改价 / 折扣 / 满减 / 组合价 / 赠品),在菜篮 × 券空间里带剪枝穷举,输出总价最低的 Top-N。

STEP 3

表达交给 Agent

Agent 理解需求、讲解方案、说明为什么这么点;确认后用 calculate-price 核价、create-order 完成下单闭环。

用户需求→ MCP 取数→ 归一化 JSON→ 确定性优化器→ Top-N 方案→ Agent 讲解→ 核价 · 下单
Honesty

真实性对照表

哪些是真的、哪些是示意,一目了然。

项目性质说明
优化算法✅ 真实本页试算器与仓库 scripts/optimizer.py 为同一套逻辑的前端复刻,结果可由 python optimizer.py 复现。
「省 53%」结论✅ 真实由算法在示例数据上算出:直选 ¥47.00 → 最优 ¥21.90,非人工编排的数字。
券叠加 / 互斥规则✅ 真实采用保守策略:stackable:false 的券与任何券互斥;宁可少报优惠,也保证方案价 ≤ 实付价。
菜单价格 / 热量🟡 示例快照结构对齐 MCP query-meals / list-nutrition-foods 返回,数值为演示用,实际以门店实时返回为准。
优惠券内容🟡 示例快照结构对齐 MCP 四路券池归一化结果,具体券的可用性、门槛以你的账号实时状态为准。
下单能力✅ 真实Skill 可经 MCP 真实下单(核价 → 创建订单 → 支付链接);本页只做价格试算,不涉及下单。
Install

一句话安装

把这个 Skill 装进 WorkBuddy,配好麦当劳 MCP,就能直接在对话里用。

# 1) 克隆仓库并安装 Skill git clone https://github.com/hujjun/mcd-saver-strategist.git cp -r mcd-saver-strategist/skills/mcd-saver-strategist ~/.workbuddy/skills/ # 2) 本地无需 Token 也能跑通完整优化流程 cd mcd-saver-strategist/skills/mcd-saver-strategist/scripts python optimizer.py # 看优化结果 python optimizer.py --json # 输出结构化 JSON python selftest.py # 跑 19 项自测 # 3) 场景参数 python optimizer.py --mode delivery --fee 9 python optimizer.py --budget 25 python optimizer.py --max-calories 800

启用麦当劳 MCP

  • 前往 open.mcd.cn/mcp 手机号登录,在控制台激活并复制 Token
  • 在 WorkBuddy【连接器】→【自定义连接器】填入 mcp-config.example.json 的内容
  • 把 ${MCD_MCP_TOKEN} 换成你的真实 Token 并【启用】
  • 装好 Skill 后,直接说「我想吃巨无霸套餐,怎么点最便宜」即可触发
FAQ

常见问题

这和直接让大模型算有什么区别?

大模型口算价格、折扣、叠加规则并不可靠,容易出现"看着便宜、到店付不出"的假低价。本项目把金额计算全部交给确定性算法或被 MCP 返回的实价,Agent 只负责理解需求和讲解方案。

优惠券叠加会不会算错?

采用保守策略:标记为不可叠加的券与任何券互斥;两张普通满减/赠品券才允许共存。宁可少报优惠,也保证给出的方案价不会高于实际应付价。

需要我自己的麦当劳账号吗?

本页试算器用内置示例数据,不需要登录。真正在 WorkBuddy 里使用 Skill 时,才需要你自己的麦当劳 MCP Token 来拉取你的券和门店信息。

能真的下单吗?

可以。Agent 确认方案后,会先用 calculate-price 复核价格,再调用 create-order 创建订单并返回支付链接。

为什么有的方案价格一样,排序却不同?

当总价相同时,会优先展示热量更低的方案(排序键为「总价 → 热量」),让同等花费下更健康的选择排前面。