Ayzzz123/mcd-coupon-strategist

★ 171⑂ 18

麦麦省钱助手 —— 基于麦当劳 MCP 的点餐成本优化 Skill。算出当前门店最省钱的点餐方案,并主动提示凑单陷阱。

About Ayzzz123/mcd-coupon-strategist

Ayzzz123/mcd-coupon-strategist is an open-source project on GitHub, mainly written in Python. 麦麦省钱助手 —— 基于麦当劳 MCP 的点餐成本优化 Skill。算出当前门店最省钱的点餐方案,并主动提示凑单陷阱。 It currently holds 171 stars and 18 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #83 with 0 new stars today.

GitHub Repository Details

Repository Ayzzz123/mcd-coupon-strategist · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/Ayzzz123/mcd-coupon-strategist/blob/HEAD/麦麦省钱助手 — mcd-coupon-strategist


License MCP Tests Token Python

市面上的省钱工具都在回答「这一单怎么点最省」。 我们多回答一个问题:「你正在白扔多少钱?」

核心亮点 · 真实例子 · 快速开始 · 架构 · 设计原则

---

https://github.com/Ayzzz123/mcd-coupon-strategist/blob/HEAD/同一个账号,两种问法:省这一单 vs 你正在白扔多少钱

基于麦当劳中国 MCP 打造的点餐成本助手,做两件事:

短期 —— 这一单怎么点最省

长期 —— 你白扔了多少钱

| 🍟 一次点餐平均省 | 💸 沉默成本发现 | 🧮 价格来源 | 🔑 使用门槛 | |:---:|:---:|:---:|:---:| | 3 ~ 13 元 | 一次几十元 | MCP 真实计价 | 无需 Token 即可跑测试 |

---

一个真实例子

同一个账号,同一个门店,两种问法:

问「今天怎么点最省」 →

推荐方案
  组合:麦辣鸡腿堡三件套(汉堡 + 中薯条 + 可乐)
  实付 33.5 元
备选方案
  · 单点:麦辣鸡腿堡 + 中薯条 —— 实付 37.0 元
三件套 33.5 元买三样,比单点买两样还便宜 3.5 元。

问「我最近在麦当劳花了多少」 →

【一】券的沉默成本
  你有 3 张券将在 1 天内陆续过期(面值 33.1 元)。
  优先处理这几张:
    · 满50减12        省 12.0 元  还剩 1 天(满 50 元可用)
    · 免费脆薯饼       省  8.0 元  还剩 2 天
    · 9.9元中杯冰美式  省 13.1 元  还剩 5 天

【二】消费习惯 订单数:4 单 总支出:144.5 元 客单价:36.12 元 洞察: · 你点过 4 次「麦辣鸡腿汉堡」。如果给它配上套餐, 每次通常能省 5~13 元,4 次下来就是一笔不小的数。

本月最该做的事:先把 33.1 元的券用掉,这笔钱不用就是纯损失。

第二个问题的价值,远大于第一个。因为第一个问题每次只省几块钱,而第二个问题一次就能指出几十块的流失 —— 而且它是一次性工具永远给不出的答案。

---

我们做对了什么别人没做的

省钱类工具已经很多了,多到这次比赛报名里就有好几支在做同一件事。所以先说清楚我们的不同点到底在哪:

| 常见做法 | 我们的做法 | 差别 | |---|---|---| | 让模型估算价格 | 所有金额由 MCP calculate-price 回填 | 模型给不出真实价格,只能猜 | | 只说「推荐买这个」 | 说清省在哪:哪张券、哪个套餐、加了什么 | 用户才能学会,而不是依赖工具 | | 为用券鼓励凑单 | 主动检测凑单陷阱并劝退 | 凑单常常反而更贵 | | 只看这一单 | 同时看历史订单 + 券存量 | 一次性工具看不到长期结构 | | 券是「可用资源」 | 券是有保质期的钱 | 过期即损失,这是本项目独有的视角 | | —— | 券的沉默成本 | 别处见不到这个指标 |

差异化内核:别处都在帮用户花钱,我们在帮用户止损。
下单前省的那几块钱是「收益」,快过期的券是「损失」——
人对损失的敏感度是对收益的两倍,而这个数字从来没人给他算过。

关键实现:券面价值反查

「券的沉默成本」要成立,前提是得知道每张券真实值多少钱。而 MCP 返回的券通常只有名字,没有面值:

「中薯条买一送一」  →  值多少钱?
「9.9元中杯冰美式」 →  值多少钱?
「满50减12」        →  值多少钱?

答案是从门店菜单反查原价:

| 券形态 | 价值推算 | 本例结果 | |---|---|---| | 满减券 满50减12 | 直接取减免额 | 12.0 元 | | 买一送一 中薯条买一送一 | 取该商品菜单单价 | 14.5 元 | | 固定价券 9.9元中杯冰美式 | 菜单原价 − 固定价 | 23.0 − 9.9 = 13.1 元 |

若菜单里查不到对应商品,一律取 0 并在报告中标注,绝不估一个「看起来合理」的数。宁可少报,不可编造。

---

目标用户

---

核心能力

| 能力 | 说明 | |---|---| | 门店菜单感知 | 价格与供应状态随门店实时变化,不写死菜单 | | 券面价值解析 | 从菜单反查原价,算出这张券真实值多少钱(买一送一 = 商品单价;9.9元券 = 原价 − 9.9) | | 方案枚举计价 | 所有候选方案都经 MCP 真实计价,不复用历史价格 | | 省钱归因 | 明确告诉用户「省在哪」:用了哪张券、换成了哪个套餐、加了什么凑单品 | | 反凑单陷阱 | 当「为用券而加购」反而更贵时,主动指出并给出更优解 | | 券的沉默成本 | 量化即将过期的券面值 —— 那是正在流失的钱 | | 消费习惯画像 | 从历史订单还原月度支出、客单价、高频单品,给出结构性省钱建议 |

---

快速开始

1. 申请麦当劳 MCP Token

前往麦当劳 MCP 开放平台 ,使用手机号登录后在控制台激活并复制 MCP Token。

2. 配置 MCP 连接

本项目提供脱敏示例配置 mcp-config.example.json:

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

将 ${MCD_MCP_TOKEN} 替换为你自己的 Token 后,写入 MCP Client 的配置。请勿将真实 Token 提交到任何公开仓库。

3. 在 WorkBuddy 中启用

1. 打开 WorkBuddy,左侧边栏进入【专家 · 技能 · 连接器】→【连接器】页签 2. 点击右上角【自定义连接器】→【配置 MCP】 3. 粘贴上面的 JSON(替换 Token),点击【保存】 4. 回到【自定义连接器】,将 mcd-mcp 设为【启用】

4. 开始使用

直接对话即可,例如:

我在麦当劳点外卖,门店选好之后帮我算一下:
我手里有券,想吃一个汉堡 + 一份薯条 + 一杯饮料,预算 40 元,
怎么点最省钱?给我两个方案对比。

---

使用示例

示例一:预算内吃饱

你:预算 35 元,想吃鸡类主食 + 一个配餐,帮我选。
> 助手:已查询当前门店菜单与你名下可用券,为你计价了 3 个候选方案:
> | 方案 | 组合 | 实付 |
|---|---|---|
| ✅ 推荐 | 麦辣鸡腿堡三件套(汉堡 + 中薯条 + 可乐) | 33.5 |
| 备选 | 单点:麦辣鸡腿堡 + 中薯条 | 37.0 |
| 不推荐 | 单点:麦辣鸡腿堡 + 中薯条 + 可乐 | 46.5 |
> 推荐三件套:33.5 元拿到三样,比只买两样的单点组合还便宜 3.5 元,
比同内容的单点组合省 13 元。这是套餐结构本身带来的价差,不必再叠加优惠券。

示例二:凑单陷阱提醒

你:我有一张「满 50 减 12」的券,是不是该凑单?
> 助手:不建议。你当前想买的商品合计 46.5 元,为触发门槛需要再加 3.5 元商品,
实付变为 46.5 + 3.5 - 12 = 38 元;而直接买三件套只要 33.5 元。
也就是说,凑单用券后反而比直接买套餐贵 4.5 元。
除非你本来就想吃那个凑单品,否则不划算。
以上金额均来自 MCP calculate-price 的真实返回,非估算值。

---

架构

https://github.com/Ayzzz123/mcd-coupon-strategist/blob/HEAD/架构图:MCP 数据底座 → 适配层 → 链路 A 单次省钱 / 链路 B 消费审计

两条链路共用同一套 MCP 数据底座,但回答的是完全不同的问题:

衔接两者的是 mcd_adapter.py:它负责唯一一次的「分 → 元」换算、字段映射、退款过滤,以及券面价值反查。算法层不接触原始响应,因此不会出现单位错乱的幻觉。

---

项目结构

mcd/
├── README.md                  # 本文件
├── CONTEST_DECLARATION.md     # 参赛声明(官方文本,未做改动)
├── MCP_INTEGRATION.md         # MCP 集成说明:Server / Tool / 调用流程 / 业务价值
├── mcp-config.example.json    # 脱敏 MCP 配置示例(仅环境变量占位符)
├── SKILL.md                   # Skill 定义与工作流说明
├── assets/                    # README 展示图(SVG,可随仓库渲染)
│   ├── banner.svg
│   ├── demo-dual-view.svg
│   └── architecture.svg
├── src/
│   ├── saver.py               # 单次省钱:方案枚举与优化核心逻辑
│   ├── auditor.py             # 长期画像:券的沉默成本 + 消费习惯审计
│   ├── mcd_adapter.py         # MCP 响应适配层(单位换算 + 字段映射)
│   ├── test_saver.py          # 算法逻辑自测
│   ├── test_adapter.py        # 适配层自测
│   ├── test_auditor.py        # 审计模块自测(含日期临界值)
│   └── test_order_adapter.py  # 订单/券解析自测(用真实响应片段)
├── workbuddy.md               # WorkBuddy 开发对话上下文(WorkBuddy 专项奖励用)
└── docs/
    ├── TOKEN_GUIDE.md         # MCP Token 申请指引
    └── SUBMIT_CHECKLIST.md    # 报名提交检查清单

测试

python src/test_saver.py          # 单次省钱:枚举、排序、凑单陷阱
python src/test_auditor.py        # 长期画像:沉默成本、消费习惯
python src/test_adapter.py        # 适配层:单位换算、响应解析
python src/test_order_adapter.py  # 订单/券:退款过滤、券价值推算

四套测试均为纯本地运行,不需要 MCP Token。

---

这个项目可能对你有用,如果……

如果它对你有帮助,一个 star 就是最好的反馈。 ⭐
本项目为麦当劳程序员创意开发大赛参赛作品,非麦当劳官方产品。

---

设计原则

1. 绝不猜测价格 —— 所有金额均来自 MCP calculate-price 的返回结果。 2. 宁可少报,不可编造 —— 券的价值若无法从菜单反查到原价,取 0 并在报告中标注,而不是估一个看起来合理的数。 3. 省在哪要说清 —— 每个推荐都附带省钱归因,而不是只给一个数字。 4. 不诱导消费 —— 为用券而凑单如果导致实付上升,必须明确提示。 5. 退款不算消费 —— 历史订单中的整单退款会被过滤,避免月度支出虚高。 6. 信息以官方为准 —— 价格、供应状态、券的可用范围均以麦当劳官方渠道实时结果为准。

---

免责声明

本项目为麦当劳程序员创意开发大赛参赛作品,由参赛者独立开发,非麦当劳官方产品。 项目输出仅供参考,不构成医疗、营养或其他专业建议;餐品信息、价格及供应状态以麦当劳官方渠道的实时结果为准。

---

License

MIT

GitHub Stars & Activity

171Stars
18Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars171
Forks18
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #83 · ▲ 0 stars

Related AI Projects

1

NousResearch / hermes-agent

Python★ 252,765⑂ 0
→
2

Significant-Gravitas / AutoGPT

Python★ 187,522⑂ 0
→
3

anthropics / skills

Python★ 180,478⑂ 0
→
4

huggingface / transformers

Python★ 167,515⑂ 34,837▲ 536 stars
→
5

open-webui / open-webui

Python★ 154,311⑂ 0
→
6

langchain-ai / langchain

Python★ 147,621⑂ 0
→
7

Shubhamsaboo / awesome-llm-apps

Python★ 141,274⑂ 20,774▲ 167 stars
→
8

harry0703 / MoneyPrinterTurbo

Python★ 129,692⑂ 0
→

More AI Rankings