lzp76995-labb/mcd-fairbite
Productivity & UtilitiesPlan fair, budget-checked McDonald's group orders for 2–6 people, locally or through an AI agent.
FairBite (麦麦同桌) turns a vague "what should we order?" into a checkable group-order draft for 2–6 colleagues or friends with a shared budget and different tastes. It is an independent entry for a McDonald's developer contest, not an official McDonald's product.
What it produces
The planner searches a supplied candidate set of 1–12 items and tries to satisfy a shared budget plus per-person caps. It filters out any candidate whose composition is unknown when exclusions apply, then ranks feasible combinations by raising the lowest personal preference match first, then the whole-table match, then lowering total price. In the bundled fictional example, a four-person 88 yuan scenario yields an 84 yuan plan with a lowest match of 75, versus 72 yuan and a lowest match of 50 under a price-first approach. The output is a draft, not an order.
How to use it
There are three documented paths:
- Local browser demo: Node.js 22 or newer is required; no third-party dependencies or model API key are needed. Run
npm startand open the local page, where you can edit budgets and preferences, compare strategies, copy the split, or download JSON. Menu import and real-connection samples are also available. - Command line:
npm test,npm run demo, or a planning script over an example JSON file, producing JSON output. - Agent skill: import the whole repository as an
mcd-fairbitefolder into a client that supportsSKILL.md, keepingsrc/,scripts/, andreferences/. The host client must connect to the official McDonald's MCP and setMCD_MCP_TOKENthrough its own environment-variable mechanism. The project supplies a read-only MCP client; the conversation itself runs on the host agent.
Real-connection evidence and limits
The README reports a 2026-10-21 session against the official https://mcp.mcd.cn: 12 business tool calls for one Shanghai restaurant, with a four-person candidate price total of 128.50 yuan matching the official whole-order price within a 150 yuan example budget. No order, coupon, payment, or points action was taken. This is a dated snapshot; prices and availability must be queried again. The test did not cover delivery, coupons, allergies, or all stores.
Scope limits are explicit: one complete meal per person, 2–6 people, 1–12 candidates, and budgets up to 2000 yuan. The planner searches only the supplied candidate set, so it does not claim a global lowest price across the menu. Shared platters, stock limits, cost splitting, and coupon combinations are not solved. "No-eat" tags are taste filters only; allergy, religious, or medical requirements must be checked with official sources. When ingredients are unknown and exclusions apply, the planner refuses that candidate. Output is a draft and official prices and availability govern.
The source is MIT-licensed, but McDonald's statements, services, trademarks, and official returned data are not re-licensed by the project. See the repository and third-party notices for details.
HotRepo's take
HotRepo recorded the repository at #20 on its NEW-REPOSITORY board for JavaScript with 122 total stars on 2026-10-25. That is a single young-repository board observation, not the overall or daily board, and there is insufficient comparable history to judge momentum.
Written by AI from the project's README, updated October 28, 2026. The project's own docs are the source of truth.