MCD Saver Strategist skill
An agent skill that goes through McDonald's China menus and coupons and picks the lowest-priced order
- 1,546 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The McDonald's token opens your account: the agent claims every available coupon with `auto-bind-coupons`
- The order is created from your account and leads to payment through a link
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/mcd-saver-strategistDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The McDonald's token opens your account: the agent claims every available coupon with `auto-bind-coupons`
- The order is created from your account and leads to payment through a link
This is third-party code. Review the repository files before installing.
What it does
The skill helps you order from McDonald's China for less. Through the McDonald's MCP server the agent pulls the menu of the chosen restaurant, nutrition data and four lists of coupons, then hands everything to the `optimizer.py` script. The Python script has no external dependencies; it tries combinations of dishes and coupons and returns several orders with the lowest price. The agent never does the arithmetic itself: totals come only from the script and from the `calculate-price` call on the McDonald's side. In the repository's example a Big Mac with fries and cola costs 47 yuan when picked separately. The coupon "1+1 随心配" covers the Big Mac and fries for 12.9 yuan, the cola costs 9 yuan, and the order comes to 21.9 yuan. The script also picks an order for other goals: balanced, lightest in calories or fewest items. It checks every coupon and suggests an add-on to reach the next discount tier. For comparison the script draws a price-versus-calories frontier and prices an order for a group with a per-person figure. The agent places the order with `create-order` only after you confirm and returns a payment link.
Who it is for. For people who often order from McDonald's China with coupons and want an agent to pick the most favorable combination.
Good fit when
- You want the cheapest way to assemble a favorite order, for example a Big Mac with fries and cola
- You have a budget, say 30 yuan, and want to know what it can buy
- You need to stay within a calorie limit such as 800 kcal and pay as little as possible
- Your account holds many coupons and you cannot tell which ones are worth using
- You are ordering for a group and need the total and the price per person
Not a fit when
- You order from another chain or in another country: menus, coupons and stores come only from the McDonald's China MCP server
- You want automatic payment: the skill creates the order after your confirmation and returns a payment link
- You use another agent: the skill was built and tested in WorkBuddy
Example request
I want a Big Mac with fries and cola. How do I order it for less? I have several coupons.Limitations
The project is unofficial and was built for a McDonald's programmer contest. It works only with the McDonald's China MCP server: the token comes from the open.mcd.cn platform after a phone sign-in. Setup instructions exist only for WorkBuddy.
The menus, prices and coupons in the offline examples are demonstration snapshots, and real values come from the server. The offline examples and the online calculator do not place orders; only the agent does that through the MCP server. Requests to the server are limited to 600 per minute.
The script treats coupons that cannot be stacked as incompatible with every other coupon and never combines them in one order, even where the service might allow it.
How to disable. Delete the `~/.workbuddy/skills/mcd-saver-strategist` folder and disable the McDonald's MCP server in the WorkBuddy connector settings. After that the token can be removed from your environment variables.
FAQ
Can I try it without a token?
Yes. The scripts folder holds sample menus and coupons: `python optimizer.py` prints the best order and `python demo.py` runs seven scenarios. Live prices are not available without a token.
Why does the agent not compute the price itself?
Models slip on arithmetic, and McDonald's has many coupons with different stacking rules. So the skill's instructions forbid doing sums by hand: the total comes from `optimizer.py` and is checked with a `calculate-price` call.
What does the coupon audit show?
For each coupon the script compares the face value, the real savings and the opportunity cost. In the repository's example a coupon "7 off an order of 35" saves 7 yuan but rules out "1+1 随心配", and the order ends up 18 yuan more expensive.
Does the script account for delivery?
Yes. In the delivery scenario the delivery fee goes into the total, and the script drops dine-in-only coupons by their `channel` field.
How fast is the search?
The script prunes options in three layers: a menu of 160 dishes with 12 coupons takes about 260 ms. The benchmark is in `bench.py`.
Discussion
No questions or reviews yet.
Related
SkillsA CLI and MCP server that tally token spend across 41 tools and agents, break it down by project and model, and help cut wasted tokens
A recipe MCP server: the agent searches dishes by category, plans a weekly menu around allergies and suggests tonight's dinner
A library of 229 skills for work and life: sales, marketing, finance, engineering, design and parallel agent runs
A job-hunt skill bundle: JD decoding, template resumes, behavioral interview prep, offer comparison and negotiation
MCP server for construction takeoff: the agent opens a PDF plan, sets the scale, measures areas and returns a marked-up plan set
An unofficial Python client and skill for the SberMobile account: tariff, package balances, services and bonuses
README in short
Next to the skill sits an online calculator on GitHub Pages that repeats the script's algorithm in the browser and needs no sign-in. A table of what is real and what is a sample separates the live MCP link and the algorithm from demonstration prices. The developer recorded findings from a live test: coupons must be gathered from four sources, some work only in the restaurant, and a new account has an empty order history.
README badge
Original SKILL.md
--- name: mcd-saver-strategist description: 麦门省钱精算师。当用户在麦当劳(麦当劳/麦麦/金拱门/麦乐送/到店取餐)点餐,并希望"最省钱、凑满减、把优惠券用到极致、性价比最高、在预算内吃好"时使用;也适用于"帮我看看这些券怎么用最划算""我想吃XX但想便宜点""30块钱能吃到什么"这类诉求。它通过麦当劳 MCP 拉取门店菜单、可用优惠券、营养信息,再用确定性组合优化算法穷举出总价最低的合规点餐方案,并在用户确认后下单。 agent_created: true --- # 麦门省钱精算师 ## 这个 Skill 解决什么问题 麦当劳的优惠体系是「菜单 × 优惠券 × 叠加规则」的组合爆炸问题:同一顿饭, 直选可能花 47 元,「1+1 随心配」+ 单点一杯饮料只要 21.9 元。人类用户懒得算, 大模型**算不准**(组合数多、券规则细、口算容易错)。 本 Skill 的分工非常明确: - **MCP 负责「取数」**:菜单、价格、优惠券、营养、门店。 - **`scripts/optimizer.py` 负责「算」**:在组合空间里穷举,给出确定性最优解, 并回答四个衍生问题——多目标选型、券体检、凑单建议、帕累托前沿。 - **你(Agent)负责「说」和「做」**:把结果讲成人话、给出推荐、经用户确认后下单。 > 核心纪律:**永远不要自己口算价格或用券组合**。所有金额必须来自 > `optimizer.py` 的输出或 MCP 的 `calculate-price` 返回值。 ## 何时使用 触发场景举例: - "我想吃巨无霸套餐,怎么点最便宜?" - "我有这些券,帮我看看怎么用最划算" - "30 块钱在麦当劳能吃到什么?" - "减肥中,想吃麦当劳但热量控制在 800 大卡以内,还要便宜" - "帮我在麦乐送点一份午餐,别超过 40" ## 工作流 ### 第 0 步:确认前提(缺一不可) 开始前必须明确这几件事,缺哪个就向用户问哪个: 1. **就餐方式**:外送到家 / 到店取餐 / 堂食外带(决定用 `delivery-*` 还是 `query-nearby-stores`)。 2. **位置或门店**:外送需要配送地址,到店需要哪个门店。 3. **想吃的东西 / 约束**:想吃什么(可模糊)、预算上限、热量上限、几人吃。 4. **点餐目标**(可选):默认「最省钱」;用户在意"吃全一点""低卡""少点几件"时, 分别用 `objective: balanced / lightest / fewest`。不用反复追问,按语气判断即可。