跳到正文

正在自动登录…

← 返回项目列表

jouaaaaaa/mcd-self-butler

点单推荐健康分析团餐配餐

基于麦当劳官方MCP的点单参谋工具,提供每日推荐、健康体检、门店比价、团餐配餐、麦险分信用评级和麦门小剧场等功能,面向普通消费者和开发者。

AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/24 19:56:33 · 查看原文

值得看Python应用与服务
累计 Stars
67
当前热度
1 天内 · 小火
仓库创建时间
打开 GitHub ↗项目网站 ↗

选用指南

AI 根据 README 整理 · 2026/10/24 19:56:33

目标用户

面向写字楼午休党、减脂健身人群、行政HR、麦门老饕和开发者。

查看 README 依据
| **写字楼午休党** | 门店全成本比价、省钱推荐(每 100kcal 单价) | | **减脂/健身人群** | 健康体检、健康推荐、替换建议 | | **行政 / HR / 班主任** | 团餐配餐、批量 items | | **麦门老饕** | 麦险分、小剧场、活动日历 | | **开发者** | 一套可复用的 MCP 数据解析层(`mcdata.py`)+ 可离线复现的 demo 数据 | --- ## 九、边界与后续 **已知边界** - 未接入企业团餐的满减规则计算(`query-promotions` 已探通,未做叠加优化) - 「不吃牛」按菜名关键词过滤,无法保证菜单未标注成分的餐品 - 排队时长需用户提供或估算 **下一步** - 团餐叠满减:把 `query-promotions` 的规则接到 `bulk` 之后做二次优化 - 麦险分接入更多维度:跨店复购率、券核销率(需订单级券信息) - 小剧场做成多人协作版:同事各自投一票,实时改写剧本 --- ## 十、声明 - 本项目为麦当劳程序员节创意开发大赛参赛作品,由参赛者独立开发,**非麦当劳官方产品**。 - 餐品信息、价格、供应状态以麦当劳官方渠道实时结果为准。 - 营养分析基于麦当劳官方公开营养数据,仅供参考,**不构成医疗、营养或其他专业建议**。
使用方式

可作为WorkBuddy中的Skill使用,也可通过本地CLI运行,支持自定义MCP客户端接入。

查看 README 依据
输出 300-950 分,配六档等级(麦麦萌新 → 麦门之神),每一分都能追溯到具体数据。 示例账户实测 **771 分 · 巨无霸级**,拖后腿的是「消费节律」(89 天没下单)和「口味多样性」(历史全是炸鸡套餐)。 ### 6. 麦门小剧场 等餐的 3-10 分钟是产品的空窗期。McButler 把它变成内容: - 五个角色各代表一种真实立场:麦叔叔(仲裁)、汉堡神偷(券)、奶昔大哥(饱腹)、小飞飞(健康)、麦险分先生(风控) - 台词由**用户自己的券、麦险分、热量数据**实时生成,吵出来的结论就是推荐结果 - 单文件 HTML,零依赖,双击即看:角色说话会晃、气泡逐字打出、结尾弹裁决卡撒彩纸 > 汉堡神偷:等等。按每 100 kcal 算,「"苹"水相"鱼"套餐」要 ¥8.7,是这桌里最贵的。 > 麦叔叔:因为你买的是营养密度,不是热量密度。把肚子填满很便宜,把身体喂好从来不便宜。 --- ## 三、快速开始 ### 方式 A:在 WorkBuddy 里当作 Skill 使用(推荐) 1. 把本仓库 `SKILL.md` 连同 `scripts/`、`references/` 放进 `~/.workbuddy/skills/mcd-self-butler/`
2. WorkBuddy 左侧 `专家·技能·连接器` → `连接器` → 右上角 `自定义连接器` → `配置 MCP`,粘贴: ```json { "mcpServers": { "mcd-mcp": { "type": "streamablehttp", "url": "https://mcp.mcd.cn", "headers": { "Authorization": "Bearer 你的_MCP_TOKEN" } } } } ``` 3. 启用 `mcd-mcp`,然后直接说: - 「我在南京西路,附近哪家麦当劳买巨无霸三件套最划算?」 - 「帮我看看这个套餐多少卡,有没有更健康的换法」 - 「部门 30 人团餐,人均 30,5 个不吃牛」 - 「我的麦险分多少?」 - 「等餐好无聊,让他们吵一架」 ### 方式 B:本地 CLI(不需要 Token,跑 demo 数据) ```bash git clone <this-repo> && cd mcd-self-butler python scripts/selftest.py # 9 个用例,全绿说明环境 OK
python scripts/mcd_butler.py stores --stores demo/stores.json --mode balanced python scripts/mcd_butler.py theater --context demo/theater_context.json --out theater.html ``` 只依赖 Python 3.8+ 标准库,**没有任何第三方依赖**。 ### 方式 C:接自己的 MCP 客户端 任选: 1. 在客户端里跑 MCP 调用,把原始响应存成 `demo/` 里同名结构的 JSON; 2. 直接调用 `scripts/lib/*` 里的函数,把 MCP 返回的 dict 传进去。 `mcdata.py` 同时接受 **MCP 原始响应**(`{"success":true,"data":...}`)和人工精简格式, 所以「工具返回什么就存什么」即可,不需要手工整理。 --- ## 四、真实输出(节选) 完整版见 [`examples/demo-output.md`](examples/demo-output.md),全部为 2026-10-24 抓取的上海吴江路餐厅真实数据。 **健康体检 · "堡"你欢乐套餐** | 组成 | kcal | 蛋白 g | 脂肪 g | 钠 mg |
部署要求

本地CLI仅需Python 3.8+标准库,无第三方依赖;使用MCP服务需要配置Token。

查看 README 依据
2. WorkBuddy 左侧 `专家·技能·连接器` → `连接器` → 右上角 `自定义连接器` → `配置 MCP`,粘贴: ```json { "mcpServers": { "mcd-mcp": { "type": "streamablehttp", "url": "https://mcp.mcd.cn", "headers": { "Authorization": "Bearer 你的_MCP_TOKEN" } } } } ``` 3. 启用 `mcd-mcp`,然后直接说: - 「我在南京西路,附近哪家麦当劳买巨无霸三件套最划算?」 - 「帮我看看这个套餐多少卡,有没有更健康的换法」 - 「部门 30 人团餐,人均 30,5 个不吃牛」 - 「我的麦险分多少?」 - 「等餐好无聊,让他们吵一架」 ### 方式 B:本地 CLI(不需要 Token,跑 demo 数据) ```bash git clone <this-repo> && cd mcd-self-butler python scripts/selftest.py # 9 个用例,全绿说明环境 OK
python scripts/mcd_butler.py stores --stores demo/stores.json --mode balanced python scripts/mcd_butler.py theater --context demo/theater_context.json --out theater.html ``` 只依赖 Python 3.8+ 标准库,**没有任何第三方依赖**。 ### 方式 C:接自己的 MCP 客户端 任选: 1. 在客户端里跑 MCP 调用,把原始响应存成 `demo/` 里同名结构的 JSON; 2. 直接调用 `scripts/lib/*` 里的函数,把 MCP 返回的 dict 传进去。 `mcdata.py` 同时接受 **MCP 原始响应**(`{"success":true,"data":...}`)和人工精简格式, 所以「工具返回什么就存什么」即可,不需要手工整理。 --- ## 四、真实输出(节选) 完整版见 [`examples/demo-output.md`](examples/demo-output.md),全部为 2026-10-24 抓取的上海吴江路餐厅真实数据。 **健康体检 · "堡"你欢乐套餐** | 组成 | kcal | 蛋白 g | 脂肪 g | 钠 mg |
已知限制

未接入企业团餐满减规则,不吃牛按菜名关键词过滤,排队时长需用户提供或估算。

查看 README 依据
| **写字楼午休党** | 门店全成本比价、省钱推荐(每 100kcal 单价) | | **减脂/健身人群** | 健康体检、健康推荐、替换建议 | | **行政 / HR / 班主任** | 团餐配餐、批量 items | | **麦门老饕** | 麦险分、小剧场、活动日历 | | **开发者** | 一套可复用的 MCP 数据解析层(`mcdata.py`)+ 可离线复现的 demo 数据 | --- ## 九、边界与后续 **已知边界** - 未接入企业团餐的满减规则计算(`query-promotions` 已探通,未做叠加优化) - 「不吃牛」按菜名关键词过滤,无法保证菜单未标注成分的餐品 - 排队时长需用户提供或估算 **下一步** - 团餐叠满减:把 `query-promotions` 的规则接到 `bulk` 之后做二次优化 - 麦险分接入更多维度:跨店复购率、券核销率(需订单级券信息) - 小剧场做成多人协作版:同事各自投一票,实时改写剧本 --- ## 十、声明 - 本项目为麦当劳程序员节创意开发大赛参赛作品,由参赛者独立开发,**非麦当劳官方产品**。 - 餐品信息、价格、供应状态以麦当劳官方渠道实时结果为准。 - 营养分析基于麦当劳官方公开营养数据,仅供参考,**不构成医疗、营养或其他专业建议**。

README

正在加载 README…

收录信息

仓库创建时间
2026/10/24 12:34:37
首次达标收录
2026/10/24 19:51:40
统计更新时间
2026/10/24 20:51:13

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

模型评估

值得看加权总分 4.1 / 5

新颖度
4.0
实用价值
3.8
成熟度
4.7
实质含量
4.1

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

仓库信息

最近推送
2026/10/24 12:39:19
许可证标识
MIT
Fork 数
3
当前状态
未归档

收录记录

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