Skip to content

About

No description, website, or topics provided.

Resources

Stars

102 stars

Watchers

0 watching

Forks

Repository files navigation

mcd-recommend-meal-by-emotion(麦当当心情荐餐助手)

告诉它你今天的心情,它按「情绪-饮食」推荐原则在麦当劳菜单里搭好一套最契合当下情绪的餐品,你确认后直接下单。 预算与优惠券匹配算价是可选的辅助项——想省就帮你把券配齐,不在意价格就直接看餐。 基于麦当劳 MCP + 腾讯 WorkBuddy Skill 构建,无自建后端——源代码即 SKILL.md 及其参考文档。

项目介绍

点麦当劳的真正成本不是钱,是决策:今天吃什么、怎么搭、怎么用券最省。本项目把这三件事交给一个 Skill:

  • 按心情荐餐:先问你今日心情(开心 / 平静 / 疲惫 / 焦虑 / 低落 / 生气 / 无聊),结合预算、时段、取餐方式给出搭配结论,并附一句可解释的理由。
  • 三层漏斗推荐原则:即时情绪诉求 → 营养构成优选 → 硬约束过滤(单餐热量上限、情绪化进食保护),依据见 docs/情绪饮食关联依据与推荐算法设计原则.md。
  • 省钱辅助(可选):用户有预算或省钱诉求时,拉取门店可用券,多方案对比原价 / 券后价 / 省多少;不在意价格就跳过,不强推。
  • 确认后下单:写操作一律先复述订单、取得确认,再经 MCP 创建订单返回支付链接。

目录结构

.
├── SKILL.md                              # Skill 主体:五步工作流 + 安全约束
├── references/
│   ├── mcd-tools.md                      # mcd-mcp 工具速查表(核验记录 + 官方工具清单)
│   └── 情绪饮食关联依据与推荐算法设计原则.md  # 推荐算法依据(随 Skill 打包副本)
├── docs/情绪饮食关联依据与推荐算法设计原则.md  # 算法依据(母本文档)
├── README.md                             # 本文件
├── MCP_INTEGRATION.md                    # 麦当劳 MCP 集成说明
├── CONTEST_DECLARATION.md                # 参赛声明(官方原文)
├── mcp-config.example.json               # 脱敏 MCP 配置示例(仅环境变量占位符)
└── workbuddy.md                          # WorkBuddy 开发过程记录(联动活动核验)

目标用户

  • 每天纠结「今天吃什么」的上班族与学生——想按当下心情选餐的人(核心用户)。
  • 麦当劳会员用户(麦享会积分 / 麦麦省券持有者)——顺带想省一笔的,优惠匹配是加分项。
  • 正在使用腾讯 WorkBuddy、希望用自然语言完成点餐全链路的用户。

安装方法

前置条件:申请麦当劳 MCP Token

  1. 访问 open.mcd.cn/mcp,右上角【登录】,使用手机号验证登录。
  2. 打开【控制台】→【激活】,阅读并同意服务协议,申请 MCP Token 并复制。

Token 代表你的麦当劳会员身份,请勿泄露、勿提交进公开仓库。

第一步:在 WorkBuddy 中配置并启用 mcd-mcp 连接器

  1. 打开 WorkBuddy,左侧边栏【专家·技能·连接器】→【连接器】页签。
  2. 右上角【自定义连接器】→【配置MCP】,粘贴 mcp-config.example.json 的内容,把 ${MCD_MCP_TOKEN} 替换为实际 Token,点击保存。
  3. 回到【自定义连接器】,将 mcd-mcp【启用】。

第二步:安装 Skill

本仓库根目录即为 Skill 本体(SKILL.md + references/ + docs/)。

  • 全局使用(推荐):将本仓库整个目录复制(或 git clone)到 ~/.workbuddy/skills/ 下,WorkBuddy 即可通过自然语言唤起。
  • 项目内共享使用:把本仓库放进某项目的 .workbuddy/skills/ 目录下,该项目内的对话即可自动发现该技能。

使用示例

示例 1:按心情 + 预算荐餐

你:今天有点累,预算 30 元以内,想吃点热乎的

助手:好的——累了的时候适合来点热乎的。这家店的「热香饼套餐」热食为主、份量适中,券后 ¥24.5,省 ¥6;另外搭一杯无糖可乐比配奶铁再省 3 元。要不要看这两个方案?

调用链路:now-time-info(时段)→ query-nearby-stores(门店)→ query-meals / query-meal-detail(选品)→ query-store-coupons(可用券)→ calculate-price(算价)→ 你确认 → create-order。

示例 2:用券最省

你:附近门店,帮我用最省的方式点麦辣鸡腿堡套餐,看看有什么券能用

助手会对比「直接买 / 用券 / 换套餐组合」多个方案,给出券后总价与节省金额。

示例 3:预约 + 健康约束

你:明天中午 12 点取,我最近在控卡路里

助手会用 list-nutrition-foods 核对热量是否超上限(默认 1000 kcal 硬约束),并优先蛋白质占比更高的组合。

安全说明:create-order 等写操作一律在你明确确认订单内容与金额之后才执行;下单后可用 query-order 查进度、cancel-order 取消。

文档导航

文档 内容
SKILL.md 五步工作流、beType/orderType/beCode 配对规则、预约规则、安全约束
MCP_INTEGRATION.md 实际使用的 MCP Server / Tool、调用流程、业务价值
docs/情绪饮食关联依据与推荐算法设计原则.md 情绪-饮食科学依据与三层漏斗算法设计
workbuddy.md WorkBuddy 开发过程记录
CONTEST_DECLARATION.md 参赛声明(官方原文)

免责声明

营养与价格信息以麦当劳官方接口实时结果为准;本项目输出仅供参考,不构成医疗或营养建议。本项目为麦当劳程序员创意开发大赛参赛作品,由参赛者独立开发,非麦当劳官方产品。

About

No description, website, or topics provided.

Resources

Stars

102 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors