预算你来定,餐单摆出来,多花的钱看明白。
一句话说需求 → 官方核价 → 三份餐单对比。看整单价格,也看差价换来了什么。
先看效果 · 真实案例 · 安装使用 · 如何工作 · 欢迎与支持
欢迎路过,也欢迎常来。愿你今天吃得开心,手头的事情也顺顺利利。
🍔 先体验一下 ·
💬 留个建议 ·
⭐ 喜欢的话,点颗 Star
打开在线体验 → 免安装、免Token,调整预算、查看差价和已核价的饮料版本。页面使用历史核价记录,不实时查价或下单。
这是一次真实核价的脱敏案例,当次没有可用券。门店与核价时段不公开;价格为历史快照,当前购买需要重新查询与核价。
想自己调预算? 下载后双击 脱敏交互报告,可以调整预算、比较组成与差价、复制结果。也保留了 饮料切换预览,可切换当次已核价的饮料版本。两者均免Token、可单文件打开;GitHub文件链接显示源码,需下载后打开。
每次真实核价指定 --records-dir 后,也会自动生成属于你本轮结果的 meal-report.html,不再只依赖固定的示例页面。新一轮真实运行记录
一个人,现在到店取餐,预算30元,想吃一个汉堡和一杯饮料,先让我选门店。
麦麦预算餐会查询所选门店的菜单、可用券和套餐详情,对最多三份候选逐一核价,展示整单应付、实际餐品与份数、剩余预算和优惠条件。
那次三份餐单的官方核价分别为 ¥14.90、¥22.90、¥26.90。随后把大堡口福三件套的可乐换成无糖可口可乐,重新核价整个餐单,得到 ¥22.90。查看完整运行记录
| 还可以这样问 | 它会处理什么 |
|---|---|
| “不要可乐,汉堡保留” | 检查排除项,替换后对完整餐单重新核价 |
| “25元,至少两个汉堡” | 检查实际份数;没有预算内方案时明确显示超额 |
| “有券就比较,没有券也行” | 核实当前门店可用券;没有券时比较不带券方案 |
需要支持远程MCP的AI客户端,例如WorkBuddy、Cherry Studio或Cursor,以及你自己的麦当劳MCP Token。配套脚本需要Python 3.10及以上,使用标准库,无第三方依赖。
- 到麦当劳MCP平台登录、激活Token,按官方指南连接
https://mcp.mcd.cn,协议为Streamable HTTP。Token只填在客户端私有配置中。 - 下载并解压仓库。WorkBuddy可在仓库目录运行
./install.ps1,或让客户端把完整的skills/mcd-budget-meal文件夹导入技能目录。已有技能会先备份;安装脚本不读取Token、不修改连接器。 - 新开客户端会话,发送:
使用麦麦预算餐技能。一个人,现在到店取餐,预算30元,想吃一个汉堡和一杯饮料。
先让我选门店,再比较最多三份真实核价的餐单。不下单。
客户端没有Skill导入入口时,打开仓库目录,让AI读取 skills/mcd-budget-meal/SKILL.md。只使用原生MCP工具时,脚本可选;WorkBuddy核价若遇到数组校验问题,需要本机Python使用项目直连路径。
AI负责理解需求、查询真实菜单和准备候选;官方 calculate-price 返回整单应付金额;本地脚本按整数分检查预算、份数、排除项、核价时间与重复餐单。
- 预算以你的输入为准:没有预算内方案时,列出最接近的有效餐单与超出金额。
- 更换餐品后重新核价:不拿旧报价加减菜单展示价。
- 接口失败就停止本轮后续调用:保留此前的有效结果,不自动重试。
- 差价说清楚:分别列出增加、减少与保持不变的餐品和份数;整单差价不当作新增餐品的单独售价。
- 报告随本轮核价生成:预算筛选、差价和复制使用本轮实际成功报价;失败候选不生成猜测价格。
仅支持同一门店、单人、现在到店取餐,停在餐单建议阶段。比较只覆盖本轮候选,不保证全菜单最低价。营养、配料与过敏原未纳入推荐规则;价格、可售状态和券适用性以官方当前结果为准。
实际工具、参数和业务价值 · 批量餐单计划 · 本地报价格式
| 范围 | 已记录的验证 |
|---|---|
| 真实MCP运行 | 批量入口完成三份核价、自动生成报告;另行换饮料核价成功。公开摘要已脱敏 |
| Python逻辑 | 51项纯离线回归,含导出失败保留有效报价、旧比较JSON恢复及原有预算检查 |
| 页面逻辑 | 14组模拟DOM场景通过,含复制回退、旧结果清理、报价过期与历史恢复标注 |
| 安装升级 | 临时配置目录14项检查通过,含去除旧文件、保留私人记录与替换失败恢复旧版 |
带券分支尚无真实账户案例。安装验收使用隔离的临时配置目录,未安装到用户真实WorkBuddy目录、未验证WorkBuddy自动发现技能。默认15分钟的报价新鲜度是项目自己的展示策略。本轮验证与使用说明
纯离线回归:
python -B -m unittest discover -s tests -v
node tests/check_report.cjs
./tests/test_install.ps1Node只用于页面开发验收,使用Skill和Python脚本不需要安装Node。
查看模拟输出(以下数据为虚构示例):
python skills/mcd-budget-meal/scripts/compare_meals.py examples/demo-quotes.json公开配置 mcp-config.example.json 仅含 ${MCD_MCP_TOKEN} 占位符。真实凭证和原始响应保存在本机私有目录。公开案例隐藏门店和核价时段;自己生成的私人报告仍含本轮门店、餐品与时间,分享前请先脱敏。
版本说明 · WorkBuddy实际参与记录 · 本轮视觉设计与插画说明
| 文件 | 用途 |
|---|---|
skills/mcd-budget-meal/SKILL.md |
选店、候选准备与核价的对话流程 |
skills/mcd-budget-meal/scripts/quote_meals.py |
最多三份候选的请求校验、官方核价与预算比较 |
skills/mcd-budget-meal/scripts/compare_meals.py |
不联网的金额与偏好检查、排序及Markdown输出 |
skills/mcd-budget-meal/scripts/report_meals.py |
把有效报价生成独立交互报告,只提取展示字段 |
docs/example-report.html |
批量入口真实报价的脱敏报告示例 |
docs/preview.html |
历史核价效果预览,免Token |
做这个小工具,是希望“预算多少、想吃什么”能更容易得到一个明白的答案。谢谢你愿意花时间看看它,也希望它能帮你少一点纠结,多一点好好吃饭的轻松。
| 来做点什么 | 从这里开始 |
|---|---|
| 先试试效果 | 打开免安装体验,调整预算、看看餐单差价 |
| 告诉我哪里还能更好 | 提交 Issue,聊聊使用感受、问题或想要的功能 |
| 一起动手改进 | 欢迎提交 PR;修一个小问题、补一段说明也很有帮助 |
| 让更多人发现它 | 分享 仓库链接 或 在线体验,喜欢的话点亮右上角的 Star ⭐ |
每一次真实的使用和反馈,都是继续改进的动力。分享问题时,记得隐藏 Token、手机号、门店位置和核价时段。
谢谢你的支持。祝你每一餐都合心意,想做的事也一点点有进展。🍟
原创Skill、脚本和示例使用MIT License。官方参赛声明保留原文。本项目是参赛者作品,非麦当劳官方产品;使用MCP须遵守官方服务规则。封面插画是原创生成素材,不代表具体在售餐品。
