📡 MCP Radar

zjh-1024/mcd-coupon-desk

券能不能用 · 怎么摆最省 —— 基于麦当劳 MCP 的优惠券可用性判定与点餐方案求解

⭐ 3 stars
⑂ 0 forks
Python
momentum ▲ 10.0
created 2026-10-11
on radar since 2026-10-12
clicouponmcdmcdonaldsmcpmodel-context-protocolpython
View on GitHub ↗

About mcd-coupon-desk

🎟️ 券可用性判定 🧮 凑单求解 💸 拆单收益 🔑 使用门槛 :---::---::---::---: 五类不可用原因 + 还差多少钱 0/1 背包 DP 精确解 样例省 ¥35.00(49.3%) 无需 Token

麦当劳的优惠信息分散在门店菜单、账号券包、门店券包和活动日历里。用户真正卡住的 不是「有没有券」,而是三个具体问题:

1. 我手上这几张券,今天、在这家店,到底哪几张能用? —— 剩下那些又是为什么不给用? 2. 能用的话,怎么摆最省? —— 一张单用一张,还是拆成两单各用一张更划算? 3. 现在买是不是最便宜的时候? —— 还是等个两天活动更值?

不猜、不排序:每一分钱都能被复算 —— 哪张券为什么能用 / 不能用、凑到门槛最少要加几件、拆成两单能多省多少。

本作品为「麦当劳程序员创意开发大赛」参赛项目,非麦当劳官方产品。 餐品信息、价格与优惠规则以麦当劳官方渠道的实时结果为准。

只用 Python 3.10+ 标准库,不需要 pip install,不需要申请任何密钥。 demo 会读 examples/samplecatalog.json 里的样例门店数据,把完整流程跑一遍。

整个项目刻意不把数值交给大模型。模型负责听懂「我想吃巨无霸和薯条」, 数值与约束全部沉到确定性代码里,因此每一个金额都能被复算。

判定顺序按「用户改不动的原因优先」排列 —— 有效期、门店归属是先决条件, 门槛和商品匹配则可以通过加购来满足。先报不可改变的原因,用户才不会白折腾。

原因码 含义 用户能做什么 --------- NOTSTARTED 尚未开始 等它生效 EXPIRED 已过期 无 WRONGSTORE 本店不可用 换门店 THRESHOLDNOTMET 未达门槛(并给出还差多少钱) 按差额加购 ITEMMISMATCH 无适用商品 加对应品类

「为了用上满 35 减 18,该加哪几件最省?」本质是最小子集和 ≥ 门槛问题。 本项目用一次 0/1 背包 DP 求精确解 —— 差别在于能证明「这就是最省的凑单方式」, 而不是给一个看起来差不多的凑法。

券的门槛是按单判定的,同一张券在一笔订单里只能用一次。 把商品分成两笔,两张「满减券」就都能生效。

「先给哪张券分配商品」属于集合划分问题(指数级),本项目不做完整枚举, 而是换三种排序各跑一遍取最优,兜底而非唯一起点:

排序策略 直觉 ------ 减免额降序 优先吃大券 减免率降序(减免 ÷ 门槛) 优先留出余量给后续小券 门槛升序 优先满足容易达成的券

券的 group 字段表示互斥组。未标组的券默认视为互斥,因为高估节省额比低估更糟 —— 用户会按错的方案去下单。确实允许叠加时用 --assume-stackable 放宽。

所有金额以「分」的整数存储与运算。浮点在比价场景会产生 0.1 + 0.2 这类误差, 足以算错最优解。tests/testsolver.py::TestMoneyUnits 专门守这条线。

实测状态:菜单、门店、价格、优惠券四条链路均已用真实接口验证通过 —— 2026-10-10 对服务端 mcd-mcp v1.0.0 实测:南昌门店 1410419 返回 110 项真实餐品; 真实券「9.9元中杯冰美式」作用于真实商品「麦咖啡™美式 ¥11.90」, 算出到手 ¥9.90,与券面价吻合。已知边界(如券面价只能从券名解析)见 MCPINTEGRATION.md 第六节。

From the project README.

Maintaining this server?

Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:

[![On MCP Radar](https://mcp.liqiwa.com/badge.svg)](https://mcp.liqiwa.com/s/zjh-1024--mcd-coupon-desk.html)

Related MCP servers

MarkWang90/mcd-memory-can

麦当劳 MCP 订单可视化 · WorkBuddy 开发的九幕长卷生成器 —— 调用麦当劳中国官方 MCP 只读接口 order-list,把历史订单做成《重庆森林》质感的九幕图文长卷(1080×1440 竖图 / 长图 / PDF)

⭐ 11Python
693696817/mcd-roundtable

麦门圆桌(mcd-roundtable)|五个 AI 人格辩论,逼出最优麦当劳订单。基于麦当劳 MCP(mcd-mcp / Model Context Protocol)的多智能体点餐决策 Skill:菜单、券、营养、价格全部来自官方接口,金额只认 calculate-price,绝不估算。凑单最省 / 优惠券最大化 / 营养配餐 / 一键下单。Multi-agent McDonald's MCP

⭐ 3Python
zhutoumeme/mcd-git

用 git 命令点麦当劳:add 放购物车,rebase 凑最省,push 确认后才下单;card 生成 1024 吃麦贡献图(3D 汉堡天际线 / 年度小票)。基于麦当劳 MCP Server,附 --demo 无 Token 试玩和 Agent Skill。非官方参赛作品。

⭐ 80Python
Lemon177777/mcd-omni-assistant

麦当劳 MCP 全能助手 | 全覆盖 35 个工具 · 7 大工作流 · 14 条防错铁律 | 领券 / 点餐 / 外送 / 派对预约 / 积分到期止损,附零依赖 CLI 通道

⭐ 21Python
Donglaiye/mcd-calorie-architect

麦门卡路里精算师 - 基于麦当劳 MCP 真实营养数据的热量约束配餐Skill

⭐ 4Python
junxchan54-maker/mcd-cn-assistant

🍟 麦当劳中国官方 MCP 智能助手技能:把 35 个原子工具编排成 4 条业务流 —— 活动推送 · 联名关注 · 最优惠点餐 · 多人群点聚合账单。算价用 calculate-price 真算,下单必二次确认。|McDonald's China MCP agent skill: campaigns, collab watch, best-value ordering, group bill s

⭐ 25

📬 Get the weekly radar in your inbox

The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.