McMates: a McDonald's China ordering skill with memory

mcd-1024-skill

A skill over the McDonald's China MCP: one order pick, memory of your past orders and a Big Mac price index across cities

  • 464 ★ on the repository
  • Last commit
  • MIT
Skill

Broad access

Why this level

  • Through `create-order` the skill places real orders at the account's expense, although it asks for confirmation first
  • The MCP token opens order history and account data, and the skill copies orders into the local `data/memory.json` file
All reasons and checks

zhuxian518/mcd-1024-skill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/mcd-1024-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Through `create-order` the skill places real orders at the account's expense, although it asks for confirmation first
  • The MCP token opens order history and account data, and the skill copies orders into the local `data/memory.json` file

This is third-party code. Review the repository files before installing.

What it does

The `mcmates` skill works on top of the McDonald's China MCP server (`https://mcp.mcd.cn`) and answers questions like «what should I eat today, under 30 yuan and high in protein». It picks a restaurant, reads the menu and nutrition data, matches coupons, recalculates the price with the `calculate-price` tool and returns one pick with a short reason: nutrition, price after the coupon and why the set fits. Two backups come with the main answer. The «old friend» comes from your frequent orders and the «try something new» from dishes in your taste cluster that you have not ordered yet. The official API returns only the last 10 orders, so the skill keeps local memory in `data/memory.json`: orders, ratings, a taste profile and favorite restaurants. A price index runs alongside. On the first recommendation of the day the skill silently samples Big Mac and fries prices in two or three cities and stores them in `data/snapshots/`. The snapshots form a Big Mac index across Chinese cities, and each recommendation ends with a short note from that data. The skill places an order only after confirmation: `create-order`, `cancel-order` and coupon claiming run once you agree to the list of actions.

Who it is for. McDonald's loyalty members in mainland China who order through an MCP-capable AI client and do not want to browse menus and coupons.

Good fit when

  • Before lunch you want one answer with a set that fits a budget and a protein or calorie target
  • You want to see the total after coupons without paging through the app
  • You need an order that takes past purchases and ratings into account, with no random pick from the menu
  • You are curious about the Big Mac and fries price in different Chinese cities

Not a fit when

  • The order is placed outside mainland China: a loyalty account and a token from open.mcd.cn are needed
  • You need an MCP server or an SDK: the repository holds agent instructions and data and has no server part
  • Today's price for a specific restaurant is needed: the index is built from a sample across cities and days, and a snapshot from a past day does not count as the current price

Example request

What should I eat for lunch today, under 30 yuan and high in protein

Limitations

A McDonald's loyalty account in mainland China and an MCP token issued at open.mcd.cn/mcp are required. The token is read from the `MCD_MCP_TOKEN` variable. The client must support Streamable HTTP MCP and reading and writing local files.

The skill calls 11 tools named in its instructions, but the real names and parameters come from the connected server and the calls are not guaranteed to stay available. The repository has no automated tests. The PRD and prototype documents were written for a contest: they do not connect an account, place orders or reflect real trials.

How to disable. Remove the `mcd-mcp` entry from the client's MCP settings, delete the skill folder and the `MCD_MCP_TOKEN` variable. The local memory sits in `data/memory.json` and can be deleted separately.

FAQ

Which MCP tools does the skill call?

Eleven: `query-nearby-stores`, `query-meals`, `list-nutrition-foods`, `query-store-coupons`, `calculate-price`, `campaign-calendar`, `order-list`, `query-order`, `auto-bind-coupons`, `create-order` and `cancel-order`. The list comes from the skill instructions and is not the full tool list of the server.

What does McMates need to work?

A McDonald's loyalty account in mainland China and an MCP token from open.mcd.cn/mcp. Put the token into the `MCD_MCP_TOKEN` variable, connect the `https://mcp.mcd.cn` server in the client and load SKILL.md from the repository.

Does the skill place orders by itself?

Only after your confirmation. Before `create-order`, `cancel-order` and coupon claiming the skill lists the actions and waits for consent, and it records only completed orders in memory.

Why does it keep memory in data/memory.json?

The official API returns only the last 10 orders, so the skill stores orders, ratings and a taste profile on your computer. It uses that data to pick the «old friend» and «try something new». The data is not sent to third-party APIs.

What is the Big Mac index in this skill?

A table of Big Mac and fries prices by Chinese city. The skill collects it by sampling on the first recommendation of the day. The phrase 看指数 prints the full city ranking.

Discussion

No questions or reviews yet.

Skills

A skill for ordering from McDonald's China via its official MCP: coupon-aware prices, nutrition, order status and a quiet summary.

SkillBroad access117Repository stars

McButler works out calories and the full cost of an order, including travel and queue time, from the McDonald's China MCP

SkillExtended access215Repository stars

Picks a complete McDonald's China order for your budget and taste at official prices and returns a ready order card

SkillExtended access148Repository stars

Skill compares McDonald's China meals and coupons to calculate the cost and eligible discounts at a selected restaurant

SkillBroad access992Repository stars

An agent skill that goes through McDonald's China menus and coupons and picks the lowest-priced order

SkillBroad access1.5KRepository stars

A skill on the McDonald's China MCP: turns a budget and wishes into up to three menus with official prices, leftover budget and coupon terms

SkillExtended access1.6KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
McMates: a McDonald's China ordering skill with memory (this card)no464
mcd-budget-mealno1,618builds up to three menus from a budget and wishes; this one gives a single pick with two backups, local order memory and a city price index
mcd-cn-assistantnoAPI key379compares menus and coupons and calculates the total order; this one adds a taste profile from past orders and a daily price sample

README in short

The README presents the project as an entry to the 2026 McDonald's contest for programmers: three layers (decision, memory, price index), an interaction diagram, a price table for 11 cities on 9 October 2026 and a quick start with an MCP config. MIT license.

README badge

Original SKILL.md

---
name: mcmates
description: 麦麦老友记——只给一个答案的麦当劳点餐 Skill。当用户提到吃麦当劳、点麦当劳、今天吃啥、推荐麦当劳套餐、看麦麦指数时使用。
---

# 麦麦老友记 McMates

你是用户的"麦当劳老友":话不多,但句句有用。你的任务不是展示多少商品,而是替用户省下选择的力气。

## 你的性格

- 像一个相处多年的老朋友:直接、具体、不客套。不说"为您找到以下 15 款商品",只说"就它了"。
- 推荐永远带理由,理由永远三行以内:营养达成、券后价格、为什么是它。
- 介绍新品或价格冷知识时可以有一点幽默,但拿数据说话,不堆形容词。

## 核心流程:一次推荐请求

用户说出需求(如"今天中午吃啥,30 以内多点蛋白")后,依次执行:

1. **定门店**:优先用记忆库里的常点门店(`data/memory.json` 的 `favoriteStores`)。没有则问一句用户在哪附近,或让用户提供城市+地标,调用 query-nearby-stores(beType=1,searchType=2)搜索。
2. **拉菜单**:调用 query-meals(storeCode,orderType=1,beType=1)获取在售商品池。
3. **过滤条件**:解析用户当次输入——预算上限、蛋白/热量等营养目标、口味关键词、餐段(早/午/下午茶/晚/宵夜)。用 list-nutrition-foods 的营养数据做硬约束筛选。
4. **匹配优惠券**:调用 query-store-coupons 获取门店可用券,为候选组合试算最优搭配。
5. **核价**:用 calculate-price 对最终候选核价(价格单位为分,展示时除以 100)。确认预算内。
6. **组织答案**,格式固定:

```
🍔 就它了:{组合名}
{营养达成} | {券后价格} | {为什么是它,一句话}

或者看看:
· 老朋友:{记忆库高频/高评单品}——{它和用户的交情,如"本月第 4 次"}
· 尝个新:{用户口味簇内未尝试过的商品}——{为什么适合他}

📊 麦麦小知识:{今日一条}
确认下单说"就它了"。
```

## 记忆银行

本地文件 `data/memory.json` 是你的长期记忆,结构:

```json
{
  "orders": [{"date": "", "items": [{"code": "", "name": "", "qty": 1}], "total": 0, "rating": null, "storeCode": ""}],
  "tasteProfile": {"clusters": {"beef": 0.6, "chicken": 0.3, "fish": 0.1}, "spiceLevel": 2, "avgSpend": 27.5},
  "favoriteStores": ["storeCode"],
  "firstUse": "2026-10-09"
}
```

Report a problem

Foxx AIMcMates: a McDonald's China ordering skill with memory
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.