mcd-savings-skill

mcp
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 4 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

会算账的麦当劳点单专家:一键领券 · 自动用最优券 · 智能搭配最最省钱的组合 · 卡路里可视 · 附近门店导航 · DIY 自由搭 · 一键下单

README.md

🍔 麦麦省钱点单助手 · mcd-savings-assistant

会算账的麦当劳点单专家:一键领券 · 自动用最优券 · 智能搭配 · 省钱榜单 · 卡路里可视 · 附近门店导航 · DIY 自由搭 · 一键下单

基于 麦当劳中国 MCP(https://mcp.mcd.cn)能力开发的可交互可视化 Skill。
它不只是一个聊天机器人——它会把 MCP 返回的真实菜单、优惠券、营养与门店数据,渲染成一个可点击、可勾选、实时算价算热量的 HTML 可视化点单助手。

Powered by McDonald's MCP
Built with WorkBuddy


麦麦省钱点单助手 · 省钱榜单与场景推荐 麦麦省钱点单助手 · 菜单自选与购物车

✨ 核心能力

能力 说明 依赖 MCP Tool
💰 一键领券 真实调用 auto-bind-coupons 领完当前所有可领券;页面按 MCP 返回标注「已领取 / 未领取」,并告诉你哪些能用在当前门店 auto-bind-coupons / available-coupons / query-store-coupons / query-my-coupons
🏆 省钱榜单 用真实价格 + 划线价 + 券算出 5 个维度的最优解:券后最省 / 官方直降 / 套餐最优(可按预算筛「20 块怎么吃」)/ 每元管饱 / 每元蛋白;点任意一条直接落到已选并联动高亮 本地枚举 + 券规则(最终仍以 calculate-price 核价)
🧮 省钱最优搭配 给定预算,枚举「主食×小食×饮品」,输出省得最多的 Top 3 方案 query-meals / calculate-price
🔥 控卡搭配 给定热量上限(如 500 kcal),推荐蛋白质最优的组合,并显示营养结构 list-nutrition-foods
🎨 DIY 自由搭 全菜单勾选,套餐内可替换项自由换,实时联动总价与总热量 query-meal-detail
📍 附近门店 + 导航 按距离排序,一键唤起导航到店,含营业时间与配送费 query-nearby-stores / delivery-query-stores
🧾 下单闭环 生成点单指令(先 calculate-price 核价,再 create-order),支持取消与查单 create-order / cancel-order / query-order
📦 麦麦商城订单 查询商城订单列表与详情,点击卡片展开商品明细与实付金额 mall-order-list / mall-order-detail
👥 拼单凑单分享 多人各自选品、按人分账、人均金额;自动算「还差多少起送」并推荐补差商品;一键生成分享文案 calculate-price + 本地枚举
🔔 优惠不错过提醒 8 类规则按紧急度排序:券临期 / 可领未领 / 积分过期 / 积分余额 / 抽奖机会 / 抽奖活动 / 奖品待用 / 进行中活动(当前账号实测生成 12 条),券类提醒可点击直接定位商品 query-my-coupons / available-coupons / query-my-account / query-lottery-info / query-my-prizes / campaign-calendar
✨ 祝福提示卡 选完餐生成 3D 翻转祝福卡,按场景/热量/省钱/拼单动态生成情绪价值文案 本地生成

一切数据来自 MCP 实时返回,零编造。


🎯 目标用户

人群 痛点 本 Skill 给什么
价格敏感的学生 / 刚工作的年轻人 想吃麦当劳但怕贵,卡包里躺着一堆不会用的券 省钱榜单直接算「怎么点最划算」,实测一个四件套划线 ¥57 → 实付 ¥28
写字楼上班族(下午茶 / 加班餐拼单) 同事一起点,谁付多少算不清,还差几块不起送 拼单分账 + 凑单神器补差推荐 + 一键生成分享文案
控卡 / 健身人群 不知道一份餐多少卡,怕超 卡路里预算筛选 + 蛋白质/脂肪/碳水结构,缺数据的诚实标「热量待核」
带娃家长 想给孩子搭得均衡又不浪费 儿童套餐场景 + 营养结构可视化
麦门重度用户 懒得研究活动日历、积分、抽奖 8 类「优惠不错过」提醒主动推送,点一下直达商品

一句话:给「想吃麦当劳但不想多花钱、也不想动脑算」的人,一个会算账的点单助手。


🎨 视觉与交互

方向:Retro-futuristic Terminal HUD(复古未来 / 终端风)

  • 配色:近黑蓝底 #070B10(60%)+ 表面层 #0E141C(30%)+ 麦当劳黄 #FFC72C 作唯一强调色(10%);青色 #00E5FF 专用于数据读数,红色 #FF5A5A 仅用于告警。
  • 字体:Space Mono(展示字,等宽终端感)+ JetBrains Mono(等宽数字 tabular-nums)+ Noto Sans SC(中文正文)。
  • CSS 3D:perspective + transform-style: preserve-3d,卡片悬停沿 X/Y 轴倾斜、按下物理回弹,祝福卡 rotateY(180deg) 翻转。
  • 氛围层:四层叠加——网格底纹 + 径向霓虹光晕 + CRT 扫描线 + 暗角。
  • 入场编排:一次性错峰揭示序列(3–6 组,间隔 90ms),而非零散微交互。

交互约定:

操作 效果
点场景卡 弹出终端推荐框:Top N 方案 + 卡路里预算 DIY 滑杆
点「省钱榜单」卡 滚到省钱榜单面板;顶部「今日最优解」+ 5 个维度榜单,点任意一条按该方案点单(自动落已选 + 菜单高亮)
点方案 N 应用到当前点单人;方案跨品类时切到「全部」视图,两个商品同时闪烁高亮
点商品卡 加入 / 移出当前点单人
点「全部」chip 显示本场景全部餐品(卡路里预算只降低超预算商品的透明度,不会隐藏商品)
点「全部菜单」场景 退出场景筛选,回到 100 个餐品的全菜单
已选清单 每条可 − / + / ✕ 移除,右上角「清空」一键清空当前点单人;点名字回菜单定位
点券类提醒 直接在菜单中定位并高亮对应产品(如点「免费脆薯饼」→ 高亮薯饼类单品)
⚡ 一键领券 复制 auto-bind-coupons 指令给 AI,或重跑 build_data.py --claim 真实领取
领取状态 「已领取 / 未领取」来自 MCP 真实查询(query-my-coupons + query-store-coupons)
选品后 自动试算所有可用券,默认启用最优的一张(可切手动开关)
点优惠券 手动开关并实时重算应付;手动干预即退出自动用券
点门店卡 切换门店;「导航到店」跳转高德
点拼单人 切换当前点单人,各自选品分账
未达起送 给出「凑单神器」补差推荐 + 进度条

⚠️ 数据口径说明:麦当劳 MCP 的 list-nutrition-foods 只覆盖约 158 种常见餐品,新品/组合餐(如「龙焰芝士棒鸡腿堡」「奶香大米派」「BFF 四宫格小食盘」)无官方热量数据。匹配分三档,页面如实标注——不编造任何营养数据:

档位 规则 页面显示 实测数量
精确 名称归一化后完全一致/互相包含 🔥 391 kcal 53 / 100
近似匹配 先做规格归一(去掉「中杯/大杯/热/冰/™」),仍不中再用 2-gram 相似度 ≥ 0.45 兜底(如「灰焰圆筒」→「圆筒冰淇淋」) 🔥 ≈93 kcal 7 / 100
未匹配 三档皆不中 热量待核 40 / 100

💡 「原价 / 立省 / 应付」的口径(页面底部 HUD 与省钱榜单同一套算法):
原价 = MCP 返回的划线原价(origin,没有划线价时用现价);
应付 = 现价合计 − 券抵扣 + 配送费;
立省 = 原价 − 实付商品金额,同时包含官方直降与券(所以套餐类商品的立省会明显大于券面额)。
券的面额由券 Title 解析,是预估值,最终以 calculate-price 核价为准。


🚀 安装与使用(3 步)

第 1 步:申请 MCP Token

  1. 打开 https://open.mcd.cn/mcp ,点击右上角【登录】
  2. 使用手机号验证码登录
  3. 点击右上角【控制台】→【激活】,申请 MCP Token
  4. 同意服务协议后即可一键复制 Token

第 2 步:配置 MCP 连接器

在任意支持 Streamable HTTP 的 MCP Client(推荐 WorkBuddy、Cursor、Cherry Studio、Trae)中填入:

{
  "mcpServers": {
    "mcd-mcp": {
      "type": "streamablehttp",
      "url": "https://mcp.mcd.cn",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

⚠️ 记得把 YOUR_MCP_TOKEN 替换为你的真实 Token,并妥善保管,切勿提交到任何仓库。

第 3 步:安装 Skill 并说话

把本仓库 SKILL.md 放入你的 Skill 目录,然后直接说:

你说 助手做什么
「我在深圳南山科技园,30 块怎么吃最划算」 定位门店 → 领券 → 枚举组合 → 输出省钱榜单 + 3 套方案 + HTML 可视化页
「20 块钱能吃到什么,要最划算的」 打开省钱榜单,套餐榜按 ≤¥20 筛,直接给券后最优组合
「500 大卡能吃什么,要蛋白质高的」 按热量预算搭配,展示营养结构
「我要自己配,巨无霸换板烧,薯条换玉米」 展示可替换项,实时算价算热量
「就按方案 1 下单,外送」 核价 → create-order → 返回官方支付链接

📁 项目结构

mcd-savings-skill/
├── SKILL.md                     # Skill 主文件(触发词 + 九阶段工作流 + 35 Tool 速查)
├── README.md                    # 本文件
├── CONTEST_DECLARATION.md       # 参赛声明(官方文件,内容未改动)
├── MCP_INTEGRATION.md           # MCP 集成说明(Server / Tools / 流程 / 价值)
├── mcp-config.example.json      # 脱敏 MCP 配置示例(仅环境变量占位符)
├── workbuddy.md                 # WorkBuddy 开发对话上下文(专项奖必需)
├── ROADMAP.md                   # 待办节点与迭代计划
├── CONTEST_SUBMIT.md            # 参赛提交状态与操作手册
├── .gitignore                   # 排除 .env / *.token / __pycache__ 等
├── assets/
│   ├── order-assistant.html     # 可视化交互点单页(券开关/热量条/DIY勾选/门店导航)
│   └── data.js                  # MCP 真实数据快照(由 build_data.py 生成)
└── scripts/
    ├── build_data.py            # MCP 数据管道(门店/菜单/券/营养/活动/订单)
    ├── mcp_call.sh              # 命令行调任意 MCP Tool
    └── push_to_github.sh        # 一键推送(含密钥扫描)

🏗️ 技术实现

  • Skill 层:SKILL.md 定义触发词与九阶段工作流(定位 → 领券 → 菜单/营养取数 → 场景搭配 → 省钱榜单 → 提醒 → 拼单 → 下单 → 商城订单),约束模型必须真实调用 MCP、禁止臆造数据。
  • 数据层:每次会话拉取一次 query-meals + list-nutrition-foods,合并为本地缓存映射。
  • 推荐算法:预算/热量约束下的组合枚举(贪心 + 剪枝),本地初筛后仅对 Top 3 调用 calculate-price 精算,单次会话 MCP 调用 < 10 次,规避 600 次/分钟限流。
  • 省钱榜单算法:build_savings() 用「现价 / 划线原价 / 券规则」三件套枚举主餐 × 饮品(× 小食),
    逐条套最优券后按 5 个维度排序;券规则统一解析为可计算对象(满减 / 折扣 / 直减 / 特价 N 元购 / N 元任选 M 件 / 免费换购),
    解析不出来的(如买一送一)宁可不进榜。支持 build_data.py --rank 离线重算,不联网、不产生编造数据。
  • 可视化层:单页 HTML,纯原生 JS 实现状态驱动渲染——选品、券开关、模式切换、门店选择全部实时联动「原价 / 立省 / 应付 / 总热量」。
  • 闭环:用户确认 → create-order → 麦当劳官方支付链接(本项目不接触任何支付信息)。

⚠️ 免责声明

  • 本项目为「麦当劳程序员创意开发大赛」参赛作品,由参赛者独立开发,非麦当劳官方产品;
  • 营养数据来自麦当劳 MCP,仅供参考,不构成医疗或营养建议;
  • 餐品信息、价格及供应状态以麦当劳官方渠道的实时结果为准;
  • 使用麦当劳 MCP 服务须遵守《麦当劳 MCP 服务规则》及《使用条款》。

© 2026 McDonald's. All Rights Reserved. 本项目仅用于参赛与技术交流。

Reviews (0)

No results found