麦麦军师 McStrategist 🍔🧠
你的私人麦当劳点餐军师:自动薅券 × 营养师 × 口味记忆 × 一键下单 —— 基于麦当劳官方 MCP 构建
一句话:打开它,它已经把今天能领的券全领了;根据你的身体目标(减脂/增肌/维持)和口味记忆,从门店真实菜单里算出「营养达标 + 顺口 + 最划算」的今日方案;你只管说"就这个"。
它解决了什么问题
点麦当劳时的三个真实痛点:
- 券永远领不及时 —— 麦麦省的券每周都在换,想起来的时候已经过期。
- 想吃又怕胖 —— 想减脂/增肌,但菜单上没有热量排序,配一餐全靠感觉。
- 每次都在重复选择 —— 其实你就是爱吃那几样,但每次都要重新纠结一遍。
麦麦军师把这三件事交给程序:领券自动化、配餐数学化、口味个性化。
功能
| 命令 | 干什么 |
|---|---|
coupons --bind |
一键领取麦麦省全部可领券(真实执行) |
recommend |
今日吃什么:营养约束配餐 + 口味重排 + 叠券建议 |
recommend --goal bulk |
切换身体目标(cut/bulk/maintain) |
plan --store <code> |
完整方案:门店真实菜单 × 营养 × 口味 × 卡包券 → 算价,含今日到期券预警 |
points |
积分管家:余额/到期预警/兑换性价比排行(元每百分) |
memory --order '巨无霸+麦乐鸡' |
记录你吃了什么(也可 --sync 从历史订单自动学) |
memory --rate '巨无霸=5' |
给爱吃的打分,1 分自动进黑名单 |
stores --lat 22.53 --lng 113.95 |
查附近门店 |
group(模块) |
团餐模式:多人偏好聚合 + 满减门槛凑单 |
快速开始
# 1) 在 https://open.mcd.cn/mcp 申请你的 MCP Token export MCD_MCP_TOKEN=your_token_here # 2) 无任何第三方依赖,Python 3.10+ 直接跑 python3 -m mcstrategist.cli coupons --bind # 先把今天的券全领了 python3 -m mcstrategist.cli recommend --sync # 从你的历史订单学习口味 python3 -m mcstrategist.cli plan # 出今日方案并试算价格
可选:profile.json 描述你的身体档案(年龄/身高/体重/活动量/目标),算法据此计算 BMR/TDEE 和每餐热量预算:
{
"sex": "male", "age": 24, "height_cm": 175, "weight_kg": 68,
"activity": 1.375, "goal": "cut"
}工作原理
麦当劳 MCP (https://mcp.mcd.cn)
├─ auto-bind-coupons ────────► 自动领取全部可领券
├─ list-nutrition-foods ─────► 160 个品的完整营养素表
├─ order-list ───────────────► 历史订单 → 口味记忆(频率 × 新近度 × 评分)
├─ query-meals ──────────────► 门店实时菜单(含价格)
├─ query-my-coupons ─────────► 卡包券 → 与推荐组合自动匹配 + 到期预警
├─ query-my-account ─────────► 积分余额/将过期积分 → 积分管家
├─ mall-points-products ─────► 积分商城 → 兑换性价比排行(元/百分)
└─ calculate-price ──────────► 真实试算(原价/优惠/实付)
配餐求解器:在「每餐热量预算」约束下穷举组合
减脂 = 蛋白供能比 × 60 + 饱腹感 × 20 − 钠惩罚
增肌 = 蛋白总量 × 1.2 + 热量填充 × 10 − 钠惩罚
最终排序 = 口味 45% + 营养位次 35% + 价格 20% + 叠券加成
- 口味记忆是"探索-利用"结构:常买/好评的多推(利用),没吃过的保底 0.35 中性分(探索),1 分差评直接黑名单。
- 下单是可选的:
create-order仅在显式要求时调用,默认一切操作只读或免费。
安全设计
- 花钱操作(下单)不默认执行,需要显式命令;
- Token 只从环境变量读取,仓库内
mcp-config.example.json仅含占位符; - 口味记忆存本地
~/.mcstrategist/memory.json,不上传任何个人数据。
文件结构
mcstrategist/
├── client.py # MCP Streamable HTTP 客户端(纯标准库)
├── nutrition.py # BMR/TDEE + 约束配餐求解器
├── memory.py # 口味记忆(订单同步/评分/黑名单)
├── coupons.py # 领券 + 券组合建议
├── order.py # 今日方案流水线(菜单×营养×口味×券→算价)
├── group.py # 团餐凑满减
└── cli.py # 命令行入口
目标用户
- 健身/体重管理人群:想吃麦当劳又要控制热量和蛋白质
- 麦门信徒:不愿错过任何一张券
- 选择困难症患者:让算法替你决定今天吃什么
License
MIT