mcd-recommend-meal-by-emotion skill
A skill that asks about your mood, assembles a McDonald's meal from the menu and places the order through MCP after you confirm.
- 102 ★ on the repository
- Last commit
Broad access
Why this level
- Through MCP the skill creates real orders and payment links on behalf of your profile.
- The McDonald's MCP token exposes your member profile, coupons and order history.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/mcd-recommend-meal-by-emotionDetects 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.
- Through MCP the skill creates real orders and payment links on behalf of your profile.
- The McDonald's MCP token exposes your member profile, coupons and order history.
This is third-party code. Review the repository files before installing.
What it does
A skill for Tencent WorkBuddy that runs a five-step flow. It asks about your mood from seven options (happy, calm, tired, anxious, low, angry, bored), builds a McDonald's meal from the menu, optionally compares prices with coupons and creates the order after you confirm. Data comes through the `mcd-mcp` MCP connector (`https://mcp.mcd.cn`): nearby restaurants, menu, nutrition, coupons, price calculation, order creation, status and cancellation. Selection works in three layers. The craving the mood suggests comes first, then the nutritional makeup, then hard limits such as 1000 kcal per meal.
Who it is for. Tencent WorkBuddy users with a McDonald's MCP token who pick food by mood and want to place the order from chat.
Good fit when
- You are deciding what to order at McDonald's and want to start from your mood instead of scrolling the menu.
- The budget is tight and you want to compare a set's price with and without coupons.
- An order for tomorrow at 12:00 with calorie control.
- After a hard day you want something hot and not too large.
Not a fit when
- You have no McDonald's MCP token: the skill stops and does not invent a menu.
- You need medical or dietary advice: the author explicitly excludes it.
- The order is for a service other than mcd.cn.
Example request
I am tired, budget is 30 yuan and I want something hot. Pick a set at the nearest McDonald's and show the price with coupons.Limitations
The skill targets WorkBuddy, and other agents need the folder copied by hand. A token from open.mcd.cn/mcp is required: phone-number login, and the token is tied to your McDonald's member profile, so it must stay out of repositories. The project was made for a contest and is not a McDonald's product. Menu, prices and nutrition come from live service responses, and recommendations do not replace medical advice. Access to the service from Russia was not checked. If the service returns code 600050 for an empty favorites list, the skill does not treat it as a failure and asks for an address.
How to disable. Delete the skill folder from `~/.workbuddy/skills/` and disable the `mcd-mcp` connector in WorkBuddy. Remove the token from the connector configuration.
FAQ
How do I connect McDonald's MCP for this skill?
Get a token at open.mcd.cn/mcp. Then add a custom connector in WorkBuddy, paste the contents of `mcp-config.example.json`, replace `${MCD_MCP_TOKEN}` with the token and enable `mcd-mcp`.
Does the skill place an order without my confirmation?
No. Write operations, including `create-order`, run only after you confirm the contents and total. The skill returns a payment link, status is read with `query-order` and cancellation goes through `cancel-order`.
How does the skill handle calories?
The `list-nutrition-foods` tool returns the set's energy value. The default ceiling is 1000 kcal per meal, and you can change it in `SKILL.md`.
Which moods does the skill distinguish?
Seven: happy, calm, tired, anxious, low, angry and bored. For high-arousal moods the skill prefers warm food and keeps portions stricter.
What does the skill do when the connector is missing?
It stops the order and asks you to add and enable `mcd-mcp`. The skill never substitutes an invented menu, prices or coupons.
Can I choose the time and pickup method?
Yes. The skill asks for the time, the method (dine-in, takeaway or delivery) and the number of people. A next-day order can be scheduled for a given hour.
Discussion
No questions or reviews yet.
Related
SkillsA skill for ordering from McDonald's China via its official MCP: coupon-aware prices, nutrition, order status and a quiet summary.
McButler (mcd-self-butler)
mcd-self-butler
McButler works out calories and the full cost of an order, including travel and queue time, from the McDonald's China MCP
McDonald's China ordering skill: picks a restaurant, asks party size and budget, offers three sets with price checks
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
A skill and CLI for the McDonald's China menu: three meal options for a budget, with nutrition and a source for every figure
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
README in short
The project entered a McDonald's developer contest. Apart from `SKILL.md` and reference documents it has no code and no server of its own. The selection algorithm and the MCP tool table live in `docs` and `references`.
README badge
Original SKILL.md
--- name: mcd-recommend-meal-by-emotion description: "mcd-recommend-meal-by-emotion(麦当当心情荐餐助手):当用户想点麦当劳、问今天吃什么、想按今日心情挑选餐品时使用。按询问心情、情绪推荐、选餐、确认下单的主流程,结合情绪-饮食推荐原则在麦当劳菜单内搭配餐品,经由已配置的 mcd-mcp 连接器真实调用麦当劳 MCP 完成找店与下单;预算与优惠券匹配算价为可选辅助项。" agent_created: true --- # mcd-recommend-meal-by-emotion(麦当当心情荐餐助手) 基于情绪的麦当劳餐品推荐决策助手。核心链路:询问用户今日心情 → 按情绪-饮食推荐原则得出可解释的搭配结论 → 选择餐品 → 用户确认后经 MCP 下单。预算与优惠券算价为可选辅助环节,仅在用户有省钱诉求时深入执行。 ## 前置条件 1. 确认 `mcd-mcp` 自定义连接器已配置并启用(网关 https://mcp.mcd.cn,Bearer Token 鉴权)。Token 由连接器配置管理,不在对话或仓库文件中记录明文。 2. 连接器不可用时,指引用户在连接器管理中添加并启用 `mcd-mcp`,然后中止本次点餐流程;禁止用臆造的菜单、价格或优惠数据继续流程。 ## 参考资源 - `references/mcd-tools.md` —— MCP 工具速查表:已核验工具、已知业务行为、配对字段取值规则。发起任何 MCP 调用前先读它。 - `references/情绪饮食关联依据与推荐算法设计原则.md` —— 情绪→餐品映射与三层漏斗的算法依据(母本为项目 `docs/` 下同名文档,修改任一份须同步另一份)。 ## 五步工作流 ### 第 1 步:询问今日心情 - 用表情或标签让用户选择当下心情,七类可选:开心 / 平静 / 疲惫 / 焦虑 / 低落 / 生气 / 无聊。 - 同步确认点餐要素:就餐时段、取餐方式(堂食 / 外带 / 外送)、就餐人数;预算上限为可选项,用户没提就不要追问。 - 用户已在对话中说明的部分不重复询问;心情为可选上下文,用户不愿回答时记为「未提供」,直接进入第 2 步。 - 一次只问一组问题,不审问式连环追问。 ### 第 2 步:结合情绪得出推荐结论 按 `references/情绪饮食关联依据与推荐算法设计原则.md` 的三层漏斗推理(漏斗而非加权求和:第 3 层不满足直接过滤): 1. **即时情绪诉求层**:低落 → 允许适度安慰(小份甜品 / 热食),不否定用户诉求;生气、焦虑等高唤醒情绪 → 温热、咀嚼感强的食物且份量从严;疲惫、无聊等低唤醒情绪 → 风味鲜明、有新鲜感的单品。 2. **营养构成层**:优先蛋白质占比高、复合碳水的组合;避免纯高糖叠加;坚持「改良而非禁止」——把用户想要的配一份小改进(如甜品配无糖饮料、大份换中份)。 3. **硬约束层**:单餐总热量默认上限 1000 kcal(数值可在本文件调整);识别到深夜加低落等情绪化进食信号时份量从严并给温和提示,不做促销加码。 用 `list-nutrition-foods` 核对候选组合的能量与营养构成,为硬约束提供数据支撑。 为每条结论写一句解释文案(「因为你说有点累,所以推荐热乎的……」)。文案只描述口感与体验,不承诺情绪疗效;不提供任何医疗或心理健康建议。 ### 第 3 步:选择麦当劳餐品 - 调用 `query-nearby-stores` 定位门店。**已知行为:收藏为空时返回业务码 600050**,按「无收藏门店」处理——改用其他查询方式或询问用户地址,不当作系统错误中断流程。 - 调用 `query-meals` 获取该门店当前可售菜单(分类、餐品编码、标签),必要时用 `query-meal-detail` 确认套餐组成与可替换选项。