mcd-advisor
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
麦麦参谋:想吃的一样不变,用麦当劳官方核价帮你找到这一顿更合适的买法(麦当劳中国 MCP · Agent Skill · 零依赖 CLI)
🍔 在线体验 · 先看效果 · 三种用法 · 怎么工作 · English
麦麦参谋 · 同一顿,换个买法
菜单显示 ¥28,为什么这次核价是 ¥57?
你想吃的东西(餐品、规格、数量)一样都不变,麦麦参谋用麦当劳官方核价帮你核对这一顿怎么买更合适:分开点、套餐、随心配 1+1、门店券,挑出一个,并附上一张能核对的账单。省得下就告诉你怎么省,省不下就直说。
👉 打开在线体验:点选想吃的,马上看到建议和账单。页面上 249 个组合的价格,都是在真实门店由麦当劳官方核价接口逐个返回的,不是估算。
| 场景 | 点麦当劳之前,想知道「同样这些东西」怎么买更合适 |
| 输入 | 想吃什么(例:麦辣鸡腿堡 中薯 中可乐)+ 在哪(城市 + 地标,或 App 收藏门店) |
| 输出 | 一个建议 + 少付多少 + 会员条件价的解释 + 可领券提醒 + 一张账单(门店、时间、逐行小计、核价编号) |
| 不做 | 不下单、不替你换主食、不劝你多买、不推荐买会员卡、不承诺「全场最省」 |
先看效果
离线回放 2026-10-21 晚在上海黄浦华旭国际大厦餐厅录下的官方返回(fixtures/,任何人都能复现)。价格因门店、时段而异,不是全国统一价。
这三个案例覆盖了三种结果:
| 你想吃 | 麦麦参谋的回答 | 依据 |
|---|---|---|
| 麦香鸡 + 中可乐 | 点随心配 1+1,¥13.9(分开点 ¥27.0) | 两样一样不少,官方核价 |
| 麦辣鸡腿堡 + 中薯 + 中可乐 | 点三件套,¥33.5(分开点 ¥46.0);菜单上 ¥28 的四件套要随单加购麦金卡,不加卡 ¥57.0,加卡 ¥37.9(含 ¥9.9 卡费),而且会多一份麦乐鸡 | 每种买法都单独核价 |
| 只要一个麦辣鸡腿堡 | 保持原单,¥22.5 | 套餐会多出薯条可乐,不算同一顿 |
几个人一起点:手机传一圈、大家把要的写进同一句话就行,它会算出合在一起怎么买更划算。比如三个人各要一个汉堡 + 中薯 + 中可乐:
node bin/mcd-advisor.mjs "巨无霸 板烧鸡腿堡 麦辣鸡腿堡 3个中薯 3杯中可乐" --city 上海市 --near 人民广场
建议点巨无霸、板烧鸡腿堡、麦辣鸡腿汉堡三份三件套,共 ¥104.5,分开点要 ¥142.0,少付 ¥37.5,同样有离线回放记录。它只回答「合在一起怎么买」,不做 AA 分账,谁付多少你们自己转就好。
三种用法
① 在线体验:不用装、不用 Token
打开 https://wenboxia.github.io/mcd-advisor/,选主食、小食、饮品和份数,右边就是麦麦参谋的回答:建议买法、少付多少、会员条件价的解释、可领券提醒,还有一张能展开核对的账单。
页面数据是在一家上海门店的午餐时段用官方核价逐个录下的快照;想用你自己的门店实时核价,用下面两种方式。
② 在 AI 助手里一句话问(推荐)
本仓库就是一个 Agent Skill(SKILL.md),装进 Claude Code、Codex 等支持 Skill 的工具后,直接说「麦辣鸡腿堡加中薯中可乐,人民广场附近怎么买更划算」就行:
git clone https://github.com/wenboxia/mcd-advisor.git ~/.claude/skills/mcd-advisor
第一次用之前,需要一个你自己的麦当劳 MCP Token:
- 在 open.mcd.cn/mcp 用手机号登录 → 控制台 → 激活;
- 写进仓库之外的
~/.config/mcd-advisor/.env(格式见.env.example),不要发给任何人。
Skill 按三层渐进式披露组织:
- frontmatter 里的说明负责触发;
SKILL.md正文约 40 行,只放硬规则和流程;references/里的规则和排错文档在需要时才读。
宿主模型只负责问清楚要吃什么、运行脚本、把结果讲清楚,价格一律来自脚本输出。
没有支持 Skill 的工具?在配置里加上 DEEPSEEK_API_KEY,用一句大白话问也行(换 Kimi、GLM 时再设 LLM_BASE_URL 和 DEEPSEEK_MODEL):
node bin/mcd-advisor.mjs --ask "中午想在上海人民广场吃个麦辣鸡腿堡,配中薯和可乐"
③ 命令行(开发者)
零第三方依赖,Node.js 18+。先离线跑一下,不需要 Token:
git clone https://github.com/wenboxia/mcd-advisor.git && cd mcd-advisor && npm run demo
配好 Token 后实时核价:
node bin/mcd-advisor.mjs "麦辣鸡腿堡 中薯 中可乐" --city 上海市 --near 人民广场
node bin/mcd-advisor.mjs "两个麦香鸡 两杯中可乐" --store 1450713 --json
node bin/mcd-advisor.mjs "麦辣鸡腿汉堡三件套" --city 上海市 --near 人民广场 # 报套餐名也行,按默认搭配拆开比较
| 选项 | 作用 |
|---|---|
--city --near |
按城市 + 地标找最近的门店;都不填就用你在 App 里收藏的门店 |
--store |
直接指定门店编号 |
--json |
输出 JSON,给 Agent 或其他程序用 |
--ask |
用一句大白话提问(需要 DeepSeek 等模型 Key) |
--claim |
领取麦麦省可领券后重新核价。官方接口会一次领取全部可领券,所以脚本会先说明,并要你在终端里亲手输入 y |
--replay <dir> |
用录好的数据离线运行 |
它怎么工作
- 同一顿,由代码判定:每个方案拆开后,食物清单必须和你要的完全一致,多出一份薯条也不行。小杯和中杯算两种东西;「任选 3 份」这样的格子按份数算。买不到一模一样的一顿时会直说(例如某样东西只在会多出别的东西的套餐里卖)。
- 说不清就先问:名字只有完全对上才直接用,「巨无霸大套餐」「鸡块」这种会先给你选项,不会悄悄换成别的东西。「学生专享」这类有资格限制的商品不会出现在方案里。
- 份数再多也是最优:按剩余食物做动态规划,4 份、6 份照样能找到估算最省的组合,再交给官方核价。
- 价格只认官方:菜单价只用来决定哪些方案值得送去核价,最终排序只看
calculate-price的返回。价格分三种状态:✅ 已官方核价、🟡 待核验(券还没领,拿不到券号)、⚪ 无法确认。后两种不参与排名。 - 会员条件价讲清楚:菜单
discountType是「随单购…」的商品,分别核价「不加卡」和「加卡(含卡费)」,只解释,不推荐买卡。 - 快:第一次查一家店要拉取全部菜单详情,实测约 7 秒;当天再查会用缓存,实测 1–2 秒。
用到哪些 MCP 工具、为什么不用另外 27 个、踩过哪些坑,见 MCP_INTEGRATION.md。
为什么敢让你相信这个结果
- 可复现:
fixtures/里是 2026-10-21 晚真实查询录下的官方原始返回(已核对不含个人信息)。npm test用它离线回放,24 条测试覆盖:- 换买法、随心配、份数、几个人一起点、保持原单、买不到一模一样;
- 会员条件价、可领券、一单一券、核价失败;
- 多份格子、4 份以上最优、有资格限制的商品、模糊名字先问、套餐名展开;
- 指定门店、工具白名单、名字归一、密钥扫描。
- 可核对:每次建议都附核价编号(官方
traceId)和逐行小计。 - 不夸大:没有更合适的买法就说「保持原来的点法」。没领的券只标「待核验」,不拿来排名。
安全与隐私
- 默认只读:工具调用走白名单。下单、取消、抽奖、积分兑换这些工具,即使被要求也发不出去(有测试覆盖)。
- 唯一的写操作是领券:必须加
--claim,并在终端里亲手输入y。非交互环境会直接拒绝。 - 密钥不出本机:Token 和模型 Key 只放在
~/.config/mcd-advisor/.env,仓库里只有占位符。npm run check-secrets会扫描所有要提交的文件,并逐字比对本机的真实密钥值;npm test也会跑它。想在每次提交前自动检查,运行一次git config core.hooksPath .githooks,之后 pre-commit 会扫描暂存区里实际要提交的内容。
已知限制
- 只支持到店自取(含堂食、外带取餐柜),暂不支持外送和得来速。
- 可领券在领取前拿不到券号,无法提前核价。官方领券接口一次领取全部,不能只领一张。
- 套餐里的口味特调(去酸黄瓜、少冰等)还没参与比较,默认按标准做法核价。
- 价格只代表那家店、那个时刻的官方报价,下单时以 App 为准。
项目信息
- 麦当劳程序员创意开发大赛参赛作品,非麦当劳官方产品。项目里没有使用麦当劳的商标图形。
- 报名 Issue:M-China/mcd-developer-innovation-challenge#983(官方已确认成功参赛)
- 参赛声明:CONTEST_DECLARATION.md · MCP 接入说明:MCP_INTEGRATION.md · 配置示例:mcp-config.example.json
- 许可证:MIT
如果它帮你看清了某一顿的价格,欢迎点个 ⭐。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found