mcd-advisor

mcp
Security Audit
Warn
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.

SUMMARY

麦麦参谋:想吃的一样不变,用麦当劳官方核价帮你找到这一顿更合适的买法(麦当劳中国 MCP · Agent Skill · 零依赖 CLI)

README.md

麦麦参谋 · 同一顿,换个买法

🍔 在线体验 · 先看效果 · 三种用法 · 怎么工作 · English

在线体验:不用装、不用 Token

价格来源:麦当劳官方核价 离线测试 24 条通过 零依赖 Node ≥18 麦当劳 MCP:8/35 个工具 MIT License

麦麦参谋 · 同一顿,换个买法

菜单显示 ¥28,为什么这次核价是 ¥57?

你想吃的东西(餐品、规格、数量)一样都不变,麦麦参谋用麦当劳官方核价帮你核对这一顿怎么买更合适:分开点、套餐、随心配 1+1、门店券,挑出一个,并附上一张能核对的账单。省得下就告诉你怎么省,省不下就直说。

👉 打开在线体验:点选想吃的,马上看到建议和账单。页面上 249 个组合的价格,都是在真实门店由麦当劳官方核价接口逐个返回的,不是估算。

场⁠景点麦当劳之前,想知道「同样这些东西」怎么买更合适
输⁠入想吃什么(例:麦辣鸡腿堡 中薯 中可乐)+ 在哪(城市 + 地标,或 App 收藏门店)
输⁠出一个建议 + 少付多少 + 会员条件价的解释 + 可领券提醒 + 一张账单(门店、时间、逐行小计、核价编号)
不⁠做不下单、不替你换主食、不劝你多买、不推荐买会员卡、不承诺「全场最省」

先看效果

三个真实案例:随心配省 ¥13.1;菜单 ¥28 的四件套不加卡要 ¥57;只要一个汉堡时保持原单

终端输出:建议三件套 ¥33.5,比分开点少付 ¥12.5,并解释 ¥28 的四件套和可领券
离线回放 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:

  1. 在 open.mcd.cn/mcp 用手机号登录 → 控制台 → 激活;
  2. 写进仓库之外的 ~/.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> 用录好的数据离线运行

它怎么工作

业务流程(泳道图):用户、AI 助手、麦麦参谋引擎、麦当劳官方 MCP 四条泳道;名字不明确先反问,买不到一模一样的直说,只有官方核价成功的方案参与排名

  • 同一顿,由代码判定:每个方案拆开后,食物清单必须和你要的完全一致,多出一份薯条也不行。小杯和中杯算两种东西;「任选 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 为准。

项目信息

如果它帮你看清了某一顿的价格,欢迎点个 ⭐。

Reviews (0)

No results found