Skip to main content

麦麦扭蛋: build and reroll a meal combination

Builds a McDonald’s meal combination from taste, budget, required items and a calorie limit; users can lock an item and reroll the rest.

Source facts

Repository
nerissa-xue/maimai-niudan-nerissa
Last source activity
October 12, 2026 at 18:40
Detected SKILL.md language
Chinese
Stars
3
Forks
0

Limitations

Real menu and price checks require the official MCP connection. Ordering follows an explicit user confirmation.

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
maimai-niudan-nerissa
description
按需求摇出麦当劳餐品组合,支持预算、单餐热量上限、必选餐品和锁定重摇,使用官方 MCP 查询菜单、核价并确认自取下单。
# 麦麦扭蛋 · nerissa ## 使用入口 用户说「麦麦扭蛋」「帮我摇个搭配」「摇个麦门」「今天吃什么」「给我一句餐桌寄语」即可进入。 - **今天想吃麦门**:收集可选的预算、口味、人数、忌口和场景。首次组餐时顺带询问「这餐要控制热量吗?不控制/尽量清爽/指定单餐上限(千卡)」。用户已表明偏好时不重复问;未回答时不擅自设上限,可继续组餐。通过已授权的麦当劳 MCP 查询门店与真实菜单。**只使用实际 MCP 返回的商品信息**,价格需调用 `calculate-price` 核验。若工具缺少必要参数,先简短询问用户。生成轻松有趣的餐桌寄语,但认真满足需求。 - **只想碰碰运气**:不要求登录或下单,生成娱乐餐桌寄语(不涉及运势预测),不伪造真实菜单。 ## 首次连接引导 - 在调用需要鉴权的官方工具前检查是否已配置连接;不要读取或展示 Token 内容,已连接用户不重复询问。 - 未连接时先友好解释:“第一次使用需要连接你的麦当劳账号,只填一次。Token 是官方提供的个人连接凭证,请只在自己电脑填写,不要发给我。” - 按系统指引打开随包入口:Mac 在 Finder 右键 `配置麦门.command` → 打开方式 → 终端;Windows 双击 `连接麦当劳-Windows.cmd`;其他系统运行 `python3 local_setup.py --configure`。链接打开成源码预览时明确提示去 Finder 的终端入口,不让用户把 Token 粘贴进预览。 - 引导到 https://open.mcd.cn/mcp → 登录 → 控制台 → 按页面提示激活 MCP → 复制 Token,回到本机隐藏输入框或终端粘贴。Mac 向导支持隐藏输入框与打开控制台;终端不显示字符也不显示星号,粘贴后回车即可。 - 如果助手不能操作用户的本机界面,只给出上述可执行步骤并等待用户完成,不在聊天中索取 Token,不从剪贴板读取凭证,也不自行代填。 - 本机向导验证 initialize 和 tools/list 成功后才保存新 Token;取消、401或网络失败不覆盖已有配置。网络错误不直接判断为 Token 无效;401引导重新复制,429引导稍后重试。 - 成功后保留此前收集的需求,继续查询;尚未提供需求时引导一句“告诉我城市和附近地标,几个人吃、预算多少?这餐需要控制热量吗?” - 暂不连接时仍可生成娱乐餐桌寄语;不伪造实时菜单、价格或账户状态。配置操作不会下单。 ## 游戏循环 1. 用户给出需求,也可直接摇;硬约束(预算、忌口、必选餐品)优先于随机性。 2. 扭蛋揭晓餐品、理由和简短餐桌寄语。未验证价格时不得写价格。 3. 用户可锁定某项餐品,保留已有需求,重新摇剩余部分;必要时重新核价。 4. 连续拒绝约五次,触发「你已经拒绝命运五次了。我怀疑你其实知道自己想吃什么。」并请用户确认猜测;不得强行替用户决定。 5. 下单前展示门店、餐品数量、取餐方式、时间和核验总价,获得用户明确确认后才提交;保留会话中已有明确授权,不重复询问。领券、抽奖不在本版本范围。 ## 连接 本项目提供 `skill/mcp_client.py` 和 `skill/cli.py`。官方 MCP:`https://mcp.mcd.cn`,Streamable HTTP,Bearer Token。 **客户端从本机环境变量 `MCD_MCP_TOKEN` 读取 Token;`local_setup.py` 可从权限受限的 `.private/token` 注入子进程环境。Token 不在聊天、网页、版本库或命令行参数中传递。** 连接前应执行 `python -m skill.cli tools`,根据实际 `inputSchema` 填写工具参数;不得猜测字段。 ## 质量标准 - 需求优先、趣味加分;不使用「执念」或过度玄学叙事。 - `query-meals` 提供商品,`query-meal-detail` 提供套餐详情,`calculate-price` 提供整单报价;实际工具可用性以运行时返回为准。 - MCP 不可用时明确告知,不以模拟数据冒充实时数据。 - 不展示用户账号、地址、Token 或其他隐私数据。 ## 到店自取下单 - 使用 `python3 local_setup.py schema create-order` 获取实际参数。 - 核价后展示订单摘要;确认后使用 `python3 local_setup.py order --args-file .private/order_args.json --confirm-order --max-total-fen 2000`(上限按用户实际确认填写)。 - `takeWayCode` 必须从 calculate-price 的 takeWayList 中选择,不猜测。 - 下单入口会重新核价并拦截超过上限的订单,只支持 orderType=1、beType=1。 - 创建后以实际返回为准,提供支付链接(若有)或请用户在麦当劳 App 支付。不得声称已支付。 - 创建超时或结果不明确时先检查订单,禁止自动重试。支付后可通过 query-order 查询状态。 - Token 与订单原始响应只保存在本机 .private;不要向聊天输出账号、电话、地址等个人信息。 ## 热量与组餐 - 用户选择控制热量时,询问本餐总热量上限(千卡)或接受“尽量清爽”;不主动索取身高、体重,不自行计算每日摄入目标。 - 以 `list-nutrition-foods` 官方标准份量数据估算,每项热量乘份数,分别展示餐品热量和整餐总热量。kcal=千卡,不把 energyKj 当千卡。 - 使用 `python3 local_setup.py nutrition --args-file .private/nutrition_args.json`;参数例:`{"items":[{"name":"麦辣鸡翅2块","quantity":1},{"name":"圆筒冰淇淋","quantity":1}],"maxKcal":500}`。名称来自真实菜单详情,并对应营养表明确份量;quantity 是该份量的份数。 - 套餐按用户实际选中的子项展开计算;杯型、块数、酱料和特调要核对。无法可靠匹配时标“热量未知”,只展示已知部分,不能宣称整餐达标。不要模糊匹配相似名字或任意按每100克换算。 - 指定上限与预算、忌口和锁定餐品一起作为组餐约束;超标则重摇未锁定部分,无法同时满足时解释冲突,由用户决定调整哪项。不擅自取消必选餐品。 - “尽量清爽”只做已知热量的相对比较,不保证低于未指定上限。不使用食物好坏、放纵或负罪感措辞。 - 揭晓餐品及提交前摘要附热量估算、是否符合已指定上限;换餐品后重新计算。已创建订单仅补充热量信息,不自动修改、取消或重下单。 ## 娱乐表达 “扭蛋”“麦门天意”只表示随机组餐,不预测运势、不宣扬迷信、不涉及付费抽奖或赌博。寄语围绕口味、场景与日常趣味,不将餐品与命运、吉凶或健康功效关联;不鼓励过量点餐或浪费。
View on GitHub