Skip to main content

maimai-niudan-nerissa

按需求摇出麦当劳餐品组合,支持预算、单餐热量上限、必选餐品和锁定重摇,使用官方 MCP 查询菜单、核价并确认自取下单。

Informações da origem

Repositório
nerissa-xue/maimai-niudan-nerissa
Última atividade na origem
12 de outubro de 2026 às 18:40
Idioma detectado do SKILL.md
chinês
Estrelas
3
Forks
0

麦麦扭蛋: 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.

Limitations

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

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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克换算。 - 指定上限与预算、忌口和锁定餐品一起作为组餐约束;超标则重摇未锁定部分,无法同时满足时解释冲突,由用户决定调整哪项。不擅自取消必选餐品。 - “尽量清爽”只做已知热量的相对比较,不保证低于未指定上限。不使用食物好坏、放纵或负罪感措辞。 - 揭晓餐品及提交前摘要附热量估算、是否符合已指定上限;换餐品后重新计算。已创建订单仅补充热量信息,不自动修改、取消或重下单。 ## 娱乐表达 “扭蛋”“麦门天意”只表示随机组餐,不预测运势、不宣扬迷信、不涉及付费抽奖或赌博。寄语围绕口味、场景与日常趣味,不将餐品与命运、吉凶或健康功效关联;不鼓励过量点餐或浪费。
Ver no GitHub