我分析了麦当劳 1024 大赛的 149 个参赛项目,然后做了一个没人做的方向

你的每一张券、每一分积分、每一次抽奖机会,都在倒计时。

而麦当劳 App 里,它们分散在五六个页面,没有任何一个界面把它们放在同一张时间轴上。

🌐 懒得装环境?在线看完整报告(无需 Token、无需 clone) :

https://ztword.github.io/mcd-expiry-ledger/report-sample.html

⭐ 项目地址:https://github.com/ztword/mcd-expiry-ledger

一、先说一个你可能没注意到的浪费

打开你的麦当劳 App,看看这几样东西:

你拥有的 什么时候消失
一堆「麦麦省」没领的券 券有有效期
账户里的积分 按周期清零
免费抽奖次数 按周期重置,过期作废
中过没领的奖品 领取窗口关闭 = 没中过
进行中的活动权益 活动结束立刻失效

这些时钟各自滴答,分散在五六个页面里。你永远是在它们过期之后,才想起来"哦,那张券我没用掉"。

麦当劳中国在 1024 程序员节开放了官方 MCP Server(33 个工具)。我拿到工具清单的第一个反应不是"能点什么",而是:这些工具里藏着一整个个人资产账户,却没有一个界面告诉你它们什么时候死。

于是做了这个项目:麦麦到期清单(mcd-expiry-ledger)------扫全账户 → 算出每项资产的死亡时间 → 按「再等就会损失多少」排序 → 给出一份照着做就行的清算计划。

二、赛前情报:我先把 149 个参赛项目分析了一遍

动手写代码之前,我做了一件更重要的事------把大赛仓库里已有的 149 个参赛 Issue 全部拉下来做了竞争分析。结论很直接:

方向 项目数 状态
省钱 / 凑单 / 精算 25+ 🔴 血海
营养 / 减脂 / 健身 15+ 🔴 血海
点餐助手(通用) 20+ 🔴 血海
人格测试 / Wrapped 盘点 15+ 🔴 血海
多人拼单 / 团建 8+ 🟠 拥挤
资产到期 / 清算 0 🟢 空白

同时我核对了官方 33 个 MCP 工具的使用情况,发现一批几乎无人调用的低频高价值工具:

  • query-lottery-info / query-my-prizes ------ 抽奖次数按周期重置、过期作废;中了没领 = 没中
  • available-coupons / auto-bind-coupons ------ 还没领到手里的券,是纯白嫖资产
  • mall-points-products / mall-order-list ------ 积分商城与已兑记录
  • order-list ------ 历史订单(能反推出你的真实点餐节奏)
  • query-nearby-stores ------ 附近门店(门店券离开门店即失效)
  • now-time-info ------ 服务器时间(到期计算的正确性依赖它)

所以我没做第 26 个省钱助手,而是做了唯一一个「资产到期清算」项目。

三、它长什么样

一次扫描,输出三样东西:

1. 一张倒计时表 (按 价值 × 紧迫度权重 排序)

复制代码
──────────────────────────────────────────────────────────────
  待清算总额    ¥643.70
  7天内将蒸发   ¥424.50
  资产总数      20 项(其中 1 项已过期)
──────────────────────────────────────────────────────────────
  #   资产                                   估值      紧迫度
  1   🎟️ 3 张待领券                      ¥   25.00   立刻
  2   🎰 免费抽奖 3 次                     ¥  117.00   本周
  3   🎟️ 麦辣鸡腿堡买一送一               ¥   21.50   72小时
  4   🪙 可用积分 4820                    ¥   48.20   两周内

2. 一张可分享的 HTML 报告(单文件、无 CDN、内联 SVG 图表)

倒计时条 + 构成环图 + 清算计划 + 工具溯源,截图即传播。

3. 一份照着做的清算计划(含每步该调用哪个 MCP 工具)

计划最后还会追加策略型条目------比如:

🧠 你 43% 的单发生在「晚餐」------ 优先核销该时段的券

这句建议来自 order-list 的历史订单分析。一张早餐券对只吃晚餐的人一文不值,时段对上了才算省钱。

四、三个我觉得值得一提的技术点

1. 零依赖的 MCP Streamable HTTP 客户端

没有用任何 SDK,用标准库 urllib 手写了 JSON-RPC over HTTP 客户端,包含:

  • SSE(text/event-stream)响应解析
  • Mcp-Session-Id 会话续传
  • 401 / 429 的语义化报错(官方限流 600 次/分钟)

为什么?评审和围观者 clone 下来就该直接能跑。 依赖安装是这个比赛里最沉默的劝退环节------pip install 都不要,Python 3.9+ 标准库直接跑。

2. now-time-info 时钟校准

到期判断跑在本地时钟上是个隐性 bug:一台比真实时间快 3 小时的机器,会把今晚 23:59 才过期的券标成"已过期 3 小时",整个排序全错。

所以每次扫描第一步是先问 MCP 服务器要时间,算出 clock_offset,所有 days_left 都基于校准后的时钟。报告里也会明确写出"本地时钟偏差 ±N 秒"。

3. 抽奖机会的期望值估值

怎么把"3 次免费抽奖"和"一张 21.5 元的券"放到同一张表上比大小?

用奖品池算期望值:Σ(奖品面值 × 中奖概率) × 剩余次数。这让抽奖这种"概率资产"第一次可以和其他资产排序。

五、30 秒看到效果(不需要 Token)

bash 复制代码
git clone https://github.com/ztword/mcd-expiry-ledger.git
cd mcd-expiry-ledger
python -m mcd_expiry_ledger demo

demo 模式跑在内置沙箱上(虚构数据、离线运行),不申请 Token、不联网也能看到完整链路。

不想 clone?在线看报告 :

https://ztword.github.io/mcd-expiry-ledger/report-sample.html

有 Token 之后(open.mcd.cn/mcp 免费申请):

bash 复制代码
export MCD_MCP_TOKEN=你的Token
python -m mcd_expiry_ledger scan                        # 完整扫描
python -m mcd_expiry_ledger scan --address "北京朝阳区建国路"   # 附带门店匹配
python -m mcd_expiry_ledger scan --markdown report.md   # 输出可粘贴的 Markdown

六、目前覆盖 12 个官方 MCP 工具

其中 9 个是大赛里多数项目没有覆盖的低频高价值工具:

query-my-coupons · query-store-coupons · available-coupons · auto-bind-coupons · query-my-account · query-lottery-info · query-my-prizes · mall-points-products · mall-order-list · campaign-calendar · order-list · query-nearby-stores · now-time-info

工程细节:15 个单元测试全绿;单工具失败自动降级不中断扫描;只读扫描,绝不静默调用任何产生真实消耗的写操作(领券/抽奖/兑换都只给建议,由你确认后执行)。

七、最后

这个项目从选题、竞争分析、架构到编码、文档,全程在 WorkBuddy 里完成------它承担的不是代码补全,而是"读 149 个 Issue 做竞争情报 → 找到空白方向 → 决定技术形态 → 写完全部代码"的完整链路。

比赛按 GitHub Star 排名,截数是 10 月 26 日。如果你也有一张忘了用的麦辣鸡腿堡券------

点个 Star,替它报仇。 ⭐

https://github.com/ztword/mcd-expiry-ledger


本文参与 1024 程序员节 · 麦当劳程序员创意开发大赛,参赛 Issue:M-China/mcd-developer-innovation-challenge#155

项目为个人参赛作品,仅调用麦当劳中国官方 MCP 接口,与麦当劳中国、腾讯 WorkBuddy 无隶属关系。

相关推荐
lisw051 小时前
人类认知和语言学习中的控制论!
人工智能·学习·数学建模
residual_fan1 小时前
基于控制感知域对抗网络的变工况故障诊断:从控制系统与运行状态协同的角度建立模型
人工智能·算法·数据挖掘·数据分析
Bode_20021 小时前
数据智能层集成流程挖掘与自主智能体的架构与机制
人工智能·数据智能
企智汇-项目管理软件1 小时前
离散制造管理系统怎么选?一套系统管住从研发到交付的全周期
java·人工智能·制造·项目经理·项目管理软件·项目管理系统·项目管理软件工程
Imagination官方博客1 小时前
PowerVR 上的 LLM 性能与加速
人工智能·架构·llama·gpu算力
知几蜗牛1 小时前
Python 处理 Responses SSE 流:超时、取消和增量渲染
人工智能
2601_968900771 小时前
面向Agent的视频编译链路:从语义标记到分层渲染
人工智能
王中阳Go1 小时前
做了 8 年前端,简历改漂亮后面一个挂一个:差的不是前端,是这 3 块底子
人工智能·后端·面试
南方者1 小时前
AI卡在授权?ToDesk手机点一下,不用跑回电脑
人工智能·智能手机·远程工作·远程控制