mcd-fit-buddy
Health Warn
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
麦麦减脂搭子 McFit Buddy — 输入体重与目标即自动搭配三餐麦当劳,支持自提/外送自动比价与券适配。核心主张:不美化结果,如实指出麦当劳餐单「热量+蛋白+钠」三目标不可兼得的结构性缺口。2026 麦当劳程序员创意开发大赛参赛作品
🍔 麦麦减脂搭子 McFit Buddy
在麦当劳,吃出腹肌
不是少吃,而是增肌减脂。
想减脂,又想吃麦当劳?
填上你的身体数据和目标,让它帮你算算这一顿怎么吃。
👀 先玩一下
🚀 在线体验 Demo
不用配置环境,打开就可以直接体验麦麦减脂搭子的核心能力。
你可以填写:
- 体重、身高、年龄
- 活动强度(每一档都有说明)
- 体脂率
- 基础代谢 BMR(有实测值可填,留空则按公式估算)
- 减脂 / 增肌减脂 / 增肌目标
- 早餐、午餐、晚餐哪些在麦当劳吃(没选的餐次可以填"已经吃了什么",它会自动估算营养)
然后生成对应的餐次方案和点餐清单。
目前 Demo:
- 158 项麦当劳官方营养数据
- 3 种目标模式、7 种餐次组合
- 配餐偏好一键切换:蛋白优先 / 控钠优先 / 钠达标
- 体脂率 → 腹肌可见度测算(含钠致水潴留对线条的影响)
- 钠超标时给出「钠达标餐单 + 非麦当劳食物补齐数量」
- 支持热量、蛋白质、钠等目标计算
- 已完成真实账户、真实门店的下单验证
Demo 是这个 Skill 的能力展示页,本身不接触你的麦当劳凭证,也不会直接下单。
需要实际下单时,可以把生成的点餐清单交给 WorkBuddy,由它使用你的 Token 完成后续操作。
🔧 本地跑(可选)
不想用 Demo、想直接跑命令行的话:
git clone https://github.com/ctkok1986/mcd-fit-buddy
cd mcd-fit-buddy
# 只跑配餐求解,不需要任何 Token
python scripts/meal_planner.py \
--weight 78 --height 175 --age 40 --sex male \
--bodyfat 22 --goal recomp
- 依赖为零 —— 只用 Python 标准库,不需要
pip install - 只有真实下单才需要麦当劳 Token,配置方式见 MCP_INTEGRATION.md
- 网页版(
demo.html)与本命令行引擎逐项对拍,结果一致
🧑🍳 在 WorkBuddy 里用起来(三步)
Demo 只是能力展示,真正帮你点餐需要把 Skill 装进 WorkBuddy:
① 装 Skill
把仓库里的 SKILL.md 连同 scripts/、data/ 一起放进 WorkBuddy 的技能目录:
~/.workbuddy/skills/mcfit-buddy/
├── SKILL.md
├── scripts/
└── data/
脚本做了路径无关处理,放好即用。
② 配麦当劳 MCP
- 在官方开放平台 open.mcd.cn/mcp 申请你的 Token
- 复制 mcp-config.example.json,把
${MCD_MCP_TOKEN}换成你的真实 Token,添加到 WorkBuddy 的 MCP 配置
③ 开聊
我今天想吃麦当劳,帮我配一顿适合减脂的:男,78kg / 175cm / 40 岁 / 体脂 22%
- 「我中午已经吃了两个包子一杯豆浆」→ 扣除已吃额度,重新配剩下的
- 「今天还能吃什么」→ 按剩余额度给选择
- 「帮我下单」→ 查门店、比价、算实付,你确认金额后才创建订单
🍟 这个 Skill 是干什么的?
我想解决一个很简单的问题:
减脂的时候,今天就是想吃麦当劳,到底应该怎么点?
普通的热量计算器只能告诉你一个数字。
但真正点餐的时候,还要同时考虑:
- 今天还剩多少热量
- 蛋白质够不够
- 钠会不会太高
- 哪些餐品可以组合
- 有没有更合适的优惠
- 自提和麦乐送哪个更划算
- 门店有没有货
所以我做了一个“减脂搭子”,让它直接参与到选餐和点餐这件事情里。
它不是告诉你:
“减脂不能吃麦当劳。”
而是帮你算:
“那今天到底怎么吃?”
🎯 适合谁
- 在减脂、但不想戒掉麦当劳的人 —— 想知道"今天这么点到底行不行"
- 增肌期要盯蛋白质的人 —— 麦当劳凑得够蛋白,但钠会上去,它把取舍摊开给你看
- 想用优惠券又懒得算的人 —— 哪张券、是不是临期、用了到底划不划算
- 已经在用 WorkBuddy 的人 —— 生成的清单可以直接交给它下单
🤖 WorkBuddy + 麦当劳 MCP
这个项目是参加 2026 麦当劳程序员创意开发大赛的参赛作品,也是我使用 WorkBuddy 辅助开发和实际使用的一次实践。
整个流程大致是:
用户提出需求
↓
麦麦减脂搭子 Skill
↓
读取麦当劳 MCP 数据
↓
计算营养目标
↓
组合餐品
↓
生成点餐清单
↓
WorkBuddy
↓
使用用户自己的 Token
↓
完成实际点餐
其中 Demo 只负责展示 Skill 的计算和推荐能力。
实际需要账号权限的操作,则交给 WorkBuddy 和 Skill 完成。
🔌 麦当劳 MCP
营养数据来自麦当劳官方 MCP 接口:
list-nutrition-foods
目前使用 158 项官方营养数据快照。
除了营养数据之外,实际点餐过程中还会涉及门店、库存、价格等真实信息。
项目中标记为「实测」的内容来自真实账户和真实门店调用。
🧮 它不只是算热量
输入体脂率后,会根据瘦体重计算蛋白质目标;没有填写体脂率,则使用体重进行估算。
每日摄入以 TDEE 为主要参考,而不是直接拿 BMR 当成每天应该吃的量。
然后根据用户选择的目标:
- 减脂
- 增肌减脂
- 增肌
以及选择在麦当劳吃的餐次,寻找合适的餐品组合。
蛋白质和钠怎么办?
这是实际餐单里很容易遇到的问题。
有时候:
蛋白质够了,钠就偏高。
有时候:
钠控制住了,蛋白质又不够。
所以这个 Skill 不会为了“达标”无限往餐单里塞东西,而是尽量在热量、蛋白质和钠之间做取舍。
如果确实没有完美方案,就把这个取舍展示出来,而不是硬凑一个答案。
📋 从“算一算”到“点出来”
最后生成的不是单纯的营养报告,而是一份可以继续用于点餐的清单。
Demo 中:
生成方案
↓
生成点餐清单
↓
复制清单
↓
发送给 WorkBuddy
↓
WorkBuddy 使用用户 Token
↓
完成实际下单
这也是这个项目和普通“减脂计算器”最大的区别之一。
📊 跑一次看看
输入:78kg / 175cm / 40岁 / 男 / 体脂 22% / 目标「增肌减脂」
输出(真实运行,非示意):
基础代谢 BMR:1679 kcal 每日消耗 TDEE:2308 kcal
每日摄入目标:2124 kcal 蛋白目标:146 g(瘦体重 60.8 kg × 2.4)
【早餐】烟肉蛋麦满分 + 冰牛奶大杯
529 kcal|蛋白 31g|钠 637mg
【午餐】…(略)
【晚餐】…(略)
【全天合计】
热量 2116 / 2124 kcal 剩余 8
蛋白 140 / 146 g 缺口 6
钠 3642 / 2000 mg ⚠️ 比建议值高 1642 mg
注意最后一行:它没有为了好看而把钠藏起来。
同一组参数如果改成「控钠优先」,蛋白就只有 94 g 左右 ———
这个取舍会被如实摆出来,而不是硬凑一个"全都达标"的答案。
🧪 数据与验证
Demo 页面中的计算逻辑与仓库内 Python 引擎保持一致,并通过对拍脚本逐项校验。
营养数据来自麦当劳官方 MCP:
list-nutrition-foods
标注「实测」的数值来自真实账户与真实门店调用。
价格属于示例快照,实际下单时以对应门店信息为准。
如果它帮到了你,右上角点个 ⭐ Star 就行 —— 这个项目正在参赛,排行榜只看 Star 数。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found