DS

d-spsce/zhun-dian-mai

Developer tools
1 stars Quality 50 Trend 13

出闸到取餐,一次决定。通勤早餐场景决策 Skill,基于麦当劳 MCP

Overview

通勤早晨的早餐决策助手。基于麦当劳 MCP,把「几点到店」变成「吃什么」的直接答案。 到店时间 → 倒排出餐时间 → 判断是否还来得及下单。 时间不够时立刻切换赶时间模式并告知。 三选一卡牌。看不到菜单也能选——每张卡已锁定内容和价格,选中后可无成本更换一次。 基于麦当劳 MCP 的 8 个工具,实现「定位 → 选餐 → 算价叠券 → 建单」完整链路。 - 麦当劳 MCP Token(申请地址,手机号登录 → 控制台 → 激活) - 支持 MCP 的客户端(Claude Code / Cursor / Cline / OpenClaw 等) - 支持 Skills 的框架:项目级 .claude/skills/ 或全局 ~/.claude/skills/ - 不支持的框架:把 SKILL.md 作为系统提示,references/ 作为补充资料 - —— 早晨时间紧、决策成本高的白领 - —— 出闸即取,不用绕路 - —— 熟悉小程序点餐,希望更少的步骤 - —— 参考场景引擎与 MCP 编排的实现方式 1. —— 先确定几点到店,再倒推推荐什么 2. —— 默认给明确方案,不摆十个选项 3. —— 越界自动换方案,绝不超预算 4. —— 价格、热量、优惠一律取自 MCP 返回值,绝不估算 5. —— 建单后交还用户原有支付路径

README


为什么做这个

每天早上 8 点出地铁口,打开小程序点早餐,有两个地方卡住:

槽点 现状 花了多久
选餐纠结 打开菜单,从几十个里挑,不知道今天吃什么 2-3 分钟
付款麻烦 选支付方式 → 验证 → 确认,好几步 1 分钟

于是原本 5 分钟能做完的事,变成 10 分钟。

我们换个思路:如果「通勤时间」才是第一输入变量呢?

从地铁口到店就3-5 分钟 —— 那时间其实早就帮你把选择框缩小了。

怎么做

出闸口 → 早晚高峰,路上只剩一个变量:你几点能到店
        ↓
     时间锁锁定到店时刻
        ↓
     倒推出餐时间,判断是否还来得及
        ↓
     早八人格:你今天是谁
        ↓
     一次点击,下单完成

不需要浏览菜单,不需要纠结。

六种模式,按需切换

早八人格(主打)

根据你的可用时间,推断你今天的精神状态,直接给出对应套餐。

可用时间 人格 推荐倾向
≤ 5 分钟 极限通勤者 外带柜、免排队、可单手食用
6-10 分钟 Deadline 战士 出餐最快、无需思考
11-20 分钟 稳健补给人 热饮 + 主食,营养均衡
21-30 分钟 悠哉鉴赏家 品质优先、可堂食
> 30 分钟 从容规划者 完整早餐、慢慢选
已迟到 临阵磨枪型 极简组合、路过即取

人格基于你的通勤习惯连续推断,不是每天随机抽卡。周一和周五会给出不同的判断。

赶时间

自动切换到外带柜通道(locker-in),不用进店、免排队,报取餐码拿走就走。

时间锁

到店时间 → 倒排出餐时间 → 判断是否还来得及下单。 时间不够时立刻切换赶时间模式并告知。

天气修正

下雨降温 → 热饮热食优先;高温 → 冷饮。作为背景信号自动混入,不打扰你。

预算护栏

预设价格区间。到手价越界就自动降级重算,绝不超预算。优惠叠加在预算校验之后进行。

盲盒

三选一卡牌。看不到菜单也能选——每张卡已锁定内容和价格,选中后可无成本更换一次。

实际用了哪些能力

基于麦当劳 MCP 的 8 个工具,实现「定位 → 选餐 → 算价叠券 → 建单」完整链路。

其中 calculate-price 返回的 takeWayCode 有两种取值,直接决定体验差异:

取值 含义 场景
eat-in 堂食 时间充裕
locker-in 外带柜 赶时间,路过即取

赶时间模式不是概念,是麦当劳侧真实存在的通道。

详见 MCP_INTEGRATION.md。

快速开始

前置条件

  • 麦当劳 MCP Token(申请地址,手机号登录 → 控制台 → 激活)
  • 支持 MCP 的客户端(Claude Code / Cursor / Cline / OpenClaw 等)

配置 MCP

将以下内容加入你的 MCP 配置:

{
  "mcpServers": {
    "mcd-mcp": {
      "type": "streamablehttp",
      "url": "https://mcp.mcd.cn",
      "headers": {
        "Authorization": "Bearer ${MCD_MCP_TOKEN}"
      }
    }
  }
}

Claude Code 一行命令:

claude mcp add --transport http mcd-mcp https://mcp.mcd.cn \
  --header "Authorization: Bearer ${MCD_MCP_TOKEN}"

安装 Skill

将 zhun-dian-mai/ 放入你的 skills 目录:

  • 支持 Skills 的框架:项目级 .claude/skills/ 或全局 ~/.claude/skills/
  • 不支持的框架:把 SKILL.md 作为系统提示,references/ 作为补充资料

使用示例

我刚出闸,附近有麦麦吗
今天要开会,8点20必须到店
下雨了,随便来点热的,30块以内
我又迟到了,5分钟要拿走
连续一周都赶时间,今天宽松点

目标用户

  • 通勤上班族 —— 早晨时间紧、决策成本高的白领
  • 地铁沿线居民 —— 出闸即取,不用绕路
  • 麦当劳用户 —— 熟悉小程序点餐,希望更少的步骤
  • Skill 开发者 —— 参考场景引擎与 MCP 编排的实现方式

设计原则

  1. 时间优先于口味 —— 先确定几点到店,再倒推推荐什么
  2. 一次决定 —— 默认给明确方案,不摆十个选项
  3. 价格硬约束 —— 越界自动换方案,绝不超预算
  4. 数字来自接口 —— 价格、热量、优惠一律取自 MCP 返回值,绝不估算
  5. 支付不代劳 —— 建单后交还用户原有支付路径

项目结构

zhun-dian-mai/
├── SKILL.md                 Skill 主体
├── references/
│   ├── tools.md             MCP 工具清单与字段陷阱
│   ├── scenarios.md         六模式规则与权重表
│   └── personas.md          早八人格定义
├── MCP_INTEGRATION.md       MCP 集成说明
├── mcp-config.example.json  脱敏配置示例
└── LICENSE

安全与合规

  • 不代用户支付,不索要支付凭证
  • 不索取身份证、银行卡等非必要信息
  • 定位信息仅用于门店查询
  • 遵守麦当劳 MCP 服务规则

免责声明

本项目为个人开发者作品,仅供技术学习与交流使用,与麦当劳公司无任何关联。菜单、价格、门店信息均来自麦当劳 MCP 服务的实时返回,本项目不缓存、不修改、不保证其准确性。


View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add d-spsce/zhun-dian-mai