[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2vfdqw7jk528h":3},{"code":4,"message":5,"data":6,"timestamp":32},10000,"success",{"full_name":7,"position":8,"stars_gained":8,"description":9,"language":10,"stars":11,"forks":12,"age_days":8,"hn_threads":13,"one_liner":14,"summary_md":15,"topic":16,"github_topics":19,"license":28,"homepage":29,"updated_at":30,"history":31},"xanthichi\u002Fmcd-meal-mate",0,"M餐搭子：基于麦当劳 MCP 实时菜单与营养数据的智能搭餐 Skill｜在线演示已上线","TypeScript",86,2,[],"根据实时门店菜单、预算、热量与蛋白目标，给出三套可解释的麦当劳搭餐组合，缓解午餐选择困难。","这是一个参赛作品，不是长期维护的日常工具：想看看实时 MCP 菜单如何变成可解释推荐的人值得点开，需要一个稳定的个人搭餐工具的人可以略过。\n\n它由 Skill 和网页工作台组成，调用麦当劳 MCP 的门店、菜单、营养与优惠券工具，再返回三套满足预算、热量上限和蛋白目标的组合。\n\n## 解决什么问题\n\n在麦当劳决定午餐，通常要同时应付几份信息：上百个 SKU 的菜单、另一张营养表，以及又是另一套的优惠券和活动价。你想要一套不超过 35 元、700 kcal、还能达到蛋白目标的组合，现有的做法是心算价格和营养，算不动就干脆点回熟悉的套餐。这个项目改掉了比较候选这一步：你输入城市、地标、预算、热量上限和蛋白目标，它直接给出三套带标签的方案，并把价格、热量、蛋白质、每元蛋白质和优惠差额摊开。你拿到的是一个能照着点的候选清单，而不是一个黑盒答案。\n\n## 有什么不同\n\n机制是它最有意思的地方。Node\u002FExpress 服务端用原生 `fetch` 访问麦当劳 MCP 的 Streamable HTTP 端点，Token 只留在服务端，菜单和营养结果在内存中缓存。规划器再按组合约束和偏好打分，产出侧重点不同的三套方案：均衡、蛋白加码和省心搭。页面上可以展开 MCP 调用链，看到每个 Tool 的状态和耗时，推荐因此可追溯。\n\n代价是这套结构偏演示性质。它依赖第三方 MCP Token 和工具可用性；没有 Token 或某个 Tool 暂时不可用时，会降级到明确标注的脱敏快照。[在线演示](https:\u002F\u002Fxanthichi.github.io\u002Fmcd-meal-mate\u002F)是纯前端版本，始终使用这份快照；要实时菜单，得按[项目说明](https:\u002F\u002Fgithub.com\u002Fxanthichi\u002Fmcd-meal-mate)自己跑仓库里的 Node 服务。营养解析基于文本数据，菜单和营养列表对不上、缺项，都是测试覆盖到但无法完全消除的真实边界。\n\n## 谁值得试\n\n适合：想找一个具体小例子，看看如何在服务端代理后面编排多个 MCP 工具、并把调用链展示给用户的 Agent \u002F Skill 开发者。对约束式搭餐好奇、且愿意本地跑 Node 服务或直接看快照演示的人，也可以一玩。\n\n不适合：想要日常个人午餐工具的人。它没有账号、不下单、不支付，除了当前会话输入之外不保存偏好；README 也明确说明供应、价格和活动以官方渠道为准。如果你所在城市查不到附近门店，或者 MCP 工具不可用，产品就退化成演示快照。想把这类流程接进自己 Agent 的人，可以看仓库里的 [MCP 集成说明](https:\u002F\u002Fgithub.com\u002Fxanthichi\u002Fmcd-meal-mate\u002Fblob\u002Fmain\u002FMCP_INTEGRATION.md)。\n\n## 使用条件与边界\n\n实时数据需要 Node.js 20+、npm 10+，以及设置为 `MCD_MCP_TOKEN` 的麦当劳 MCP Token。没有 Token 也能跑生产构建看演示，或者直接用在线 Pages 演示；README 还提供了 Docker 部署方式。日常维护意味着要续期或更换 Token，并留意 MCP 工具变动，因为规划器是绑在 `query-nearby-stores`、`query-meals`、`list-nutrition-foods` 这些具体工具上的。\n\n其他边界：项目不调用下单、支付、抽奖或积分工具，服务端不保存用户输入，并声明输出不构成医疗或营养建议。它是 2026 年比赛作品，明确不是麦当劳官方产品，所以推荐质量更适合当作思路演示，而不是经过验证的营养规划器。README 自己提醒演示截图来自脱敏快照，这一点在你拿线上效果和真实门店对比时要特别留意。\n\n## HotRepo 点评\n\nHotRepo 从 2026-10-24 开始跟踪这个仓库；2026-10-25 它出现在 TypeScript 新项目榜第 8 名，共 84 个 star。这是榜单位次，不是单日新增。目前只有一个记录日期，也没有可比的每日榜历史，因此无法判断热度能否持续。可以先看 Pages 演示判断推荐风格；在依赖实时模式之前，先确认自己能否拿到 MCP Token，以及规划器依赖的门店、菜单、营养、优惠券这四个工具是否仍然可用。",{"slug":17,"name":18},"productivity","效率与系统工具",[20,21,22,23,24,25,26,27],"mcdonalds","mcp","meal-planner","nutrition","react","skill","typescript","workbuddy","MIT","https:\u002F\u002Fxanthichi.github.io\u002Fmcd-meal-mate\u002F","2026-10-25T02:47:17Z",[],1792915291]