跳到正文

正在自动登录…

← 返回项目列表

ilAoC/mcd-gacha-collector

卡牌抽卡营养查询真实下单

基于麦当劳中国 MCP 的卡牌收集 Skill 与网页版,将 160+ 餐品变成可收集的 SSR/UR/R 卡牌,支持抽卡、积分管理、营养查询和真实下单。适用人群为卡牌收集爱好者、麦当劳 MCP 使用者及 WorkBuddy Agent 玩家。

AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/21 20:21:15 · 查看原文

普通Python提示词与 Skills兼有 资源合集
累计 Stars
71
当前热度
未达当前门槛
仓库创建时间
打开 GitHub ↗

选用指南

AI 根据 README 整理 · 2026/10/21 20:21:15

适用场景

适合在对话中通过 WorkBuddy 触发抽卡、查询餐品营养、管理收藏册,或使用命令行配合示例数据离线体验抽卡流程。

查看 README 依据
cp -r skills/mcd-gacha-collector ~/.workbuddy/skills/ ``` (Windows 为 `%USERPROFILE%\.workbuddy\skills\`) 装好后在对话框里直接说「抽张麦当劳卡」即可触发。 --- ## 使用示例 **示例 1 · 抽卡** > 用户:50 元内抽一张。 Skill:拉菜单 + 营养数据 → 53 张卡池 → 预算过滤 + 加权抽卡 → 命中 **UR 阳光柠檬红茶中杯**(¥10 / 117 kcal / 健康度 63.4)→ 渲染卡面。 **示例 2 · 收藏册** > 用户:我的收藏册? Skill:本地 `ledger.json` 聚合 → 「已集 3 张(UR 1 / R 2),平均热量 261 kcal,平均健康度 53.6」。 **示例 3 · 真下单** > 用户:买 朱古力新地。 Skill:找最近门店(沈阳站出发层餐厅 3230366)→ 核价(套餐 ¥50 含板烧鸡腿堡+中薯条+可乐中杯)→ 弹价格确认 → 用户确认 → `create-order` → 返回订单号 `1030503810000661984815703790` 与支付链接 → 立即 `cancel-order`(测试闭环)。 **示例 4 · 营养查询**
python gacha.py sample_data --draw 1 --budget 50 --ledger /tmp/ledger.json # 十连 python gacha.py sample_data --draw 10 --budget 50 --ledger /tmp/ledger.json # 查看收藏册统计 python gacha.py sample_data --collection --ledger /tmp/ledger.json # 模拟 100 次抽卡,验证概率分布(SSR 5% / UR 20% / R 75%) python gacha.py sample_data --simulate 100 --seed 42 # 渲染卡面 HTML(单文件输出) python render.py /tmp/ledger.json --out /tmp/cards.html --last-draw 1 # 跑 105 项自测(改逻辑后必跑) python selftest.py ``` 项目网页版(`docs/index.html`)由 `tools/gen_web_data.py` + `web/build.py` 构建: 数据生成期计算、运行期零依赖;`tools/parity_check.py` 99 项校验保证前后端一致。 ---
目标用户

适用于麦当劳 MCP 使用者、卡牌收集/抽卡玩法爱好者、想了解餐品营养的上班族和学生,以及 WorkBuddy Agent 玩家。

查看 README 依据
│ │ └── sample_data/ # 离线示例数据 │ ├── references/ │ │ └── mcp-tools.md # MCP Tool 清单 + 字段映射 │ └── assets/cards/ # 卡面图片(用户自制) │ ├── images/ # README 截图 │ ├── screenshots/ # 桌面 + 移动首屏与全页 │ └── how-it-works.png # (占位)原理图:健康度是怎么算出来的 │ └── UPLOAD.md # 上传到 GitHub 操作指南 ``` --- ## 目标用户 - **麦当劳 MCP 的使用者**,想把数据玩出更多花样; - **卡牌收集 / 抽卡玩法爱好者**; - **想用轻量方式了解餐品能量与营养构成的上班族、学生**; - **WorkBuddy Agent 玩家**,想在对话里直接"抽卡 + 下单"一条龙。 --- ## 技术亮点
使用方式

可作为 WorkBuddy Skill 使用,也可在网页在线试玩,或通过 Python 命令行工具离线体验。

查看 README 依据
[![License](https://img.shields.io/badge/license-MIT-orange)]() --- ## 🌐 在线试玩(无需安装) ### 👉 <https://qingka-mp.app.workbuddy.host/> 进入页面后**自动通过 IP 定位 → 调用麦当劳 MCP → 选最近门店**,无需手动输入。 | 桌面端 | 移动端 | |:---:|:---:| | ![桌面首屏](images/screenshots/desktop-top.png) | ![移动首屏](images/screenshots/mobile-top.png) | | ![桌面全页](images/screenshots/desktop-full.png) | ![移动全页](images/screenshots/mobile-full.png) | 🎴 **在线试玩 + 抽卡演示**:<https://qingka-mp.app.workbuddy.host/> 🔎 **原理图**:[`images/how-it-works.png`](images/how-it-works.png)("健康度是怎么算出来的")
> 用户:巨无霸多少热量? Skill:`list-nutrition-foods` 命中 → 「巨无霸 513 大卡 / 蛋白质 27g / 脂肪 26g / 钠 961mg / 健康度 32.2(R 档)」。 **示例 5 · 门店选择** > 用户:附近麦当劳? Skill:进入 IP 定位(默认)→ `/api/ip-locate` 拿到城市(如山东济南)→ `query-nearby-stores` 搜「济南」→ 按距离升序列出 6 家最近门店。 **示例 6 · 积分管理** > 用户:还有几次抽卡机会? Skill:读 `Ledger.points` → 「当前 4 积分,下次自动恢复 2026-10-20 21:38:20」。 **示例 7 · 多抽** > 用户:来十连。 Skill:积分不够时告知还差几次 + 下次恢复时间;够则连抽 10 张、SSR 压轴翻牌、营收按热量排序展示。 --- ## 命令行快速体验(无需 Token) 内置样例数据,可离线跑通完整抽卡流程: ``` cd skills/mcd-gacha-collector/scripts # 看卡池分布 python gacha.py sample_data --inspect --budget 50 # 单抽
部署要求

需要 Python 3.8+,但网页版零依赖;使用完整功能需申请麦当劳 MCP Token 并配置 WorkBuddy 连接器,命令行模式可用内置样例数据离线运行。

查看 README 依据
git clone https://github.com/<user>/mcd-gacha-collector.git && cp -r mcd-gacha-collector/skills/mcd-gacha-collector ~/.workbuddy/skills/ ``` (Windows 为 `%USERPROFILE%\.workbuddy\skills\`;MCP Token 配置见下文「安装」。) --- ## 安装 ### 1. 申请麦当劳 MCP Token 前往麦当劳 MCP 开放平台 <https://open.mcd.cn/mcp> ,手机号登录后在「控制台」激活并复制 Token。 ### 2. 配置 MCP 连接 在 WorkBuddy 左侧边栏【专家·技能·连接器】→【连接器】→ 右上角【自定义连接器】→【配置 MCP】中, 填入 [`mcp-config.example.json`](mcp-config.example.json) 的内容, 并把 `${MCD_MCP_TOKEN}` 替换为你的真实 Token(或用环境变量注入),保存后【启用】。 ### 3. 安装本 Skill 把 `skills/mcd-gacha-collector/` 整个目录复制到 WorkBuddy 的用户技能目录: ```
# 麦卡收藏家 · mcd-gacha-collector > 基于 **麦当劳中国 MCP(McDonald's China MCP)** 开发的卡牌收集 Skill: > 把 160+ 餐品变成可收集的 SSR/UR/R 卡牌,每张标注**价格**与**卡路里**, > 积分每 4 小时恢复 1 次,抽到的卡**可以直接下单**。 > 又名:麦当劳抽卡助手 / 麦门图鉴 / MCD Gacha Collector / Big Mac Index。 麦当劳程序员创意开发大赛参赛作品(仓库创建于 2026-10-20)· 非麦当劳官方产品。 [![Python](https://img.shields.io/badge/Python-3.8%2B-blue)]() [![零依赖](https://img.shields.io/badge/dependencies-none-green)]() [![Skill 测试](https://img.shields.io/badge/skill_tests-105%20passed-brightgreen)]() [![网页一致性](https://img.shields.io/badge/parity_check-99%20passed-brightgreen)]()
> 用户:巨无霸多少热量? Skill:`list-nutrition-foods` 命中 → 「巨无霸 513 大卡 / 蛋白质 27g / 脂肪 26g / 钠 961mg / 健康度 32.2(R 档)」。 **示例 5 · 门店选择** > 用户:附近麦当劳? Skill:进入 IP 定位(默认)→ `/api/ip-locate` 拿到城市(如山东济南)→ `query-nearby-stores` 搜「济南」→ 按距离升序列出 6 家最近门店。 **示例 6 · 积分管理** > 用户:还有几次抽卡机会? Skill:读 `Ledger.points` → 「当前 4 积分,下次自动恢复 2026-10-20 21:38:20」。 **示例 7 · 多抽** > 用户:来十连。 Skill:积分不够时告知还差几次 + 下次恢复时间;够则连抽 10 张、SSR 压轴翻牌、营收按热量排序展示。 --- ## 命令行快速体验(无需 Token) 内置样例数据,可离线跑通完整抽卡流程: ``` cd skills/mcd-gacha-collector/scripts # 看卡池分布 python gacha.py sample_data --inspect --budget 50 # 单抽
已知限制

网页版因无法注入 MCP Token,不能真下单,只支持 IP 定位和查门店;另实测发现 query-nearby-stores 不返回经纬度,散单不能单独下单等限制。

查看 README 依据
- **`structuredContent` 必须解信封**:MCP 平台把业务数据嵌在 `structuredContent.data` 里, 但 data 仍可能是 dict / list / str(CSV),不能直接当业务对象返回。 - **`create-order` 必传 `takeWayCode`**:必须从 `calculate-price` 返回的 `takeWayList` 取, 不传直接 400。 - **WorkBuddy sites 部署不能注入 MCP Token**:公网网页只能 IP 定位 + 查门店; 真下单必须在本地后端(用户自跑 + 自带 Token)或 Skill 端(WorkBuddy connector)。 - **健康度相对分级才公平**:沈阳站 23 张卡池用固定阈值(≥75 为 SSR), 因没有咖啡类单品会得到 0 张 SSR;分位数后自动 SSR 3 / UR 7 / R 13。 - **套餐独立算法才公平**:套餐总热量天然远高于单品,沿用单品算法会集体低分; 改用蛋白密度 40% + 钠密度 35% + 热量载荷 25% 后区分度恢复。 --- ## 目录结构 ``` . ├── README.md # 本文件
| 真实使用 WorkBuddy | ✅ 本 Skill 在 WorkBuddy 中开发与联调 | | 未包含真实 Token / 密钥 | ✅ 全 git 历史扫描为零命中 | | 内容合规(不贬损品牌与产品) | ✅ 仅陈述客观数据(价格/热量/健康度评分),中性表述,不与其他品牌对比 | --- ## 实测发现 开发过程中用真实 MCP 联调得到的观察(2026-10,个人账号实测): - **`query-nearby-stores` 不返回经纬度**:`longitude` / `latitude` 恒为 `0.0`,只有 `distance`(米)可用。 → 前端不能直接算"最近",只能走"城市 + 地点关键词"二段搜索。 - **散单 canWithOrder 恒为 false**:96 张单品全部不能单独下单,必须走套餐。 → 卡池里 18 张套餐是真正可下单的"主力军",单品只做收藏展示。 - **`list-nutrition-foods` 的 data 是 CSV 字符串**:不是 JSON 数组,是 `[N]{fields}: name,v1,v2,...` 格式, 需要专项解析器(`parse_nutrition_csv`)。

README

正在加载 README…

收录信息

仓库创建时间
2026/10/21 09:19:17
首次达标收录
2026/10/21 20:16:25
统计更新时间
2026/10/22 19:01:10

按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。

模型评估

普通加权总分 3.6 / 5

新颖度
3.8
实用价值
2.9
成熟度
4.9
实质含量
3.7

由 Jev 模型根据仓库描述与 README 评估,2026/10/21 20:16:25 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。

仓库信息

最近推送
2026/10/22 18:50:11
许可证标识
MIT
Fork 数
0
当前状态
未归档

收录记录

按创建时长与累计 Stars 首次收录:小火
首次发现项目