[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2uf2m0kfbahpi":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,[],"Picks three McDonald's meal combos from live store menus, budget, calorie and protein limits, for lunchtime decision fatigue.","This is a contest entry, not a maintained everyday tool: worth a look if you want to see how a live MCP menu becomes an explainable recommendation, and worth skipping if you need a stable personal meal planner.\n\nThe project is a skill and web workbench that queries McDonald's MCP tools for nearby stores, current menus, nutrition data and coupons, then returns three meal plans that satisfy your budget, calorie ceiling and protein target.\n\n## The problem\n\nDeciding lunch at McDonald's means juggling several sources at once: a menu of more than a hundred SKUs, a separate nutrition table, and yet another set of coupon and campaign prices. You want a combination that fits a 35 yuan budget and a 700 kcal cap while still hitting a protein goal. Today that means mentally cross-referencing prices and macros, or giving up and ordering the same set meal. The project changes the comparison step: you state city, landmark, budget, calorie limit and protein target, and it returns three labelled options with price, calories, protein, protein per yuan and coupon difference shown, giving you a shortlist rather than a black-box single answer.\n\n## What's different\n\nThe mechanism is the interesting part. A Node\u002FExpress server calls the McDonald's MCP Streamable HTTP endpoint with native `fetch`, keeps the token server-side, and caches menu and nutrition results in memory. The planner applies combination constraints and preference scoring to produce three differently weighted plans: balanced, protein-boosted and budget-friendly. An expandable MCP call chain shows each tool's status and latency, making the recommendation auditable.\n\nThe trade-off is a demo-shaped architecture. It depends on a third-party MCP token and tool availability, and when the token is absent or a tool fails it falls back to a deliberately labelled masked snapshot. The [online demo](https:\u002F\u002Fxanthichi.github.io\u002Fmcd-meal-mate\u002F) is frontend-only and always uses that snapshot; live menus require running the repository's Node service yourself, as described in the [project instructions](https:\u002F\u002Fgithub.com\u002Fxanthichi\u002Fmcd-meal-mate). Nutrition parsing works from text data, so menu and nutrition lists that disagree are a real edge the tests cover but cannot eliminate.\n\n## Who should try it\n\nGood fit: agent and skill developers who want a concrete, small example of orchestrating several MCP tools behind a server-side proxy and presenting the call trace to users. Also reasonable for someone curious about constraint-based meal planning who is fine running a local Node service or browsing the snapshot demo.\n\nPoor fit: anyone wanting a personal daily lunch tool. There is no account, no order placement, no payment and no saved preferences beyond the current session's inputs, and the README says supply, prices and campaigns follow official channels. If your city has no nearby-store result or the MCP tools are unavailable, the product falls back to the snapshot. The [MCP integration notes](https:\u002F\u002Fgithub.com\u002Fxanthichi\u002Fmcd-meal-mate\u002Fblob\u002Fmain\u002FMCP_INTEGRATION.md) list the tool flow for anyone wiring this into their own agent.\n\n## Requirements and limitations\n\nLive data needs Node.js 20+ and npm 10+, plus a McDonald's MCP token set as `MCD_MCP_TOKEN`. Without the token you can still run the production build and see the demo, use the online Pages demo, or deploy with Docker. Ongoing upkeep means renewing or replacing that token and watching for MCP tool changes, since the planner is wired to specific tools such as `query-nearby-stores`, `query-meals` and `list-nutrition-foods`.\n\nOther boundaries: the project does not call ordering, payment, lottery or points tools, keeps no user input on the server, and states its output is not medical or nutritional advice. It is a 2026 contest entry and explicitly not an official McDonald's product, so treat recommendation quality as a demo of the approach rather than a validated nutrition planner. The README's warning that demo screenshots come from a masked snapshot matters when comparing the online result with a real store.\n\n## HotRepo's take\n\nHotRepo began tracking this repository on 2026-10-24; on 2026-10-25 it appeared on the NEW-REPOSITORY board for TypeScript at #8 with 84 stars, which is a board placement, not a daily gain. With only one recorded date and no comparable daily-board history, persistence cannot be judged. Try the Pages demo to judge the recommendation style; before relying on live mode, verify that you can obtain an MCP token and that the store, menu, nutrition and coupon tools the planner depends on are still available.",{"slug":17,"name":18},"productivity","Productivity & Utilities",[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",[],1792912676]