📈 GH Trending Explorer 🎲 Surprise me

← all repos

zcbacxc / mcd-party-planner

git clone https://github.com/zcbacxc/mcd-party-planner.git v1.1.1 · today

麦当劳 MCP 聚会/团餐组织助手 — 基于 Model Context Protocol 的派对预订与团餐规划 CLI/Skill

—
stars, 24h
+628
stars, 7 days · #104
+628
stars, 30 days · #465
628
★ total · +628% this week
32
forks · 2 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguagePython
LicenseMIT
Created2026-10-15 (5d ago)
Last pushtoday
Watchers85
OwnerUser

Links

README excerpt
# mcd-party-planner · 麦当劳聚会 / 团餐组织助手
> 基于 **麦当劳 MCP** 真实能力的 Skill:输入「城市 + 关键词 + 人数 + 预算」,
> 输出多套**真实计价**的团餐方案;串联主题活动(派对 / 品鉴会)预约链路;
> 结合活动日历与附近门店给出组织时机建议。
>
> 参赛作品 —— 麦当劳程序员节创意开发大赛(2026 · 1024 程序员节)。
---
## 30 秒看懂
**一句话**:你说「成都春熙路,8 个人,预算 400」,它去麦当劳 MCP 查附近营业门店、拉真实菜单、用官方计价接口算钱,给你几套含人均的可比对方案——顺手把派对场次和附近活动也查了。
 [code] 
 [code] 
> 上为 **2026-10-20 真实调用**输出(有删节)。服务端菜单与价格按日轮换,复跑结果会不同——这属正常,不是模拟数据。
三个场景如何串联:
 [code] 
- **不编价格**:金额一律来自 `calculate-price`,遇限购等业务限制就跳过并提示;
- **不误下单**:主题预约默认 `dry_run`,只给可下单载荷,加 `--confirm` 才真实下单;
- **不重复下单**:写操作(下单 / 建址 / 取消)遇 5xx 不自动重试,只对 429 重试;
- **零依赖**:纯 Python 标准库,Python 3.9+,不需要 `pip install`。
---
## 一、项目介绍
组织一次多人麦当劳聚餐,真正麻烦的不是点什么,而是三件事同时算清楚:**附近哪家门店能吃、多少人吃什么组合、总共花多少钱不超预算**。
`mcd-party-planner` 把这三件事交给麦当劳 MCP 的真实数据(共接入 **15 个 Tool**):
| 能力 | 说明 |
|---|---|
| **团餐方案生成** | 查附近营业中门店 → 拉真实菜单 → 按「经济型 / 均衡型 / 丰盛型」组装 → 用 `calculate-price` 真实计价,输出 ≥2 套含「合计 / 人均 / 是否超预算」的可比对方案 |
| **主题活动预约** | 自动串联 `派对商品 → 城市 → 门店 → 日期 → 场次` 五级查询,输出可直接下单的载荷;**默认 dry_run,不真实下单** |
| **活动日历组织建议** | 活动日历(往期 / 今日 / 未来)× 附近门店交叉,给出组织时机建议,并提示企业团餐助餐服务可用性 |
设计原则:**数据全部实时取自麦当劳 MCP,仓库内不含任何静态菜单或价格快照**;用户输入(城市、关键词、人数、预算)仅存在于运行时内存,不落盘、不外发。
> 调用层内置滑动窗口节流器(默认 300 次/分钟,官方上限 600)与 429 指数退避,批量比对不会触发限流。
---
## 二、安装方法
### 1. 申请 MCP Token
访问 麦当劳 MCP 开放平台 → 手机号验证登录 → 右上角「控制台」→「激活」→ 同意服务协议 → 复制 Token。
### 2. 获取代码
 [code] 
### 3. 配置 Token
 [code] 
> `.env` 已被 `.gitignore` 排除,**绝不会提交到仓库**。仓库中的 `mcp-config.example.json` 只含环境变量占位符。
### 4. 在 WorkBuddy 中使用(可选)
本项目主交付形态即 WorkBuddy Skill(见 `skill/SKILL.md`)。按 `mcp-config.example.json` 在 WorkBuddy 的【自定义连接器】中启用 `mcd-mcp` 后,直接用自然语言描述聚餐需求即可。
### 5. 环境要求
- Python 3.9 及以上,**仅依赖标准库,无需 pip 安装任何包**。
### 6. 自检
 [code] 
 [code] 
---
## 三、使用示例
> 以下输出均为**真实调用麦当劳 MCP** 的结果(成都 · 春熙路)。
> **服务端商品与价格按日轮换**,因此每条示例都标注了实测日期——复跑结果与示例不同属正常现象,不是模拟数据。
### 示例 1:8 人聚餐,预算 400 元(2026-10-16 实测)
 [code] 
 [code] 
> `--json` 输出结构化结果;`--store-limit` 控制比对门店数。
> 注:部分餐品存在「每单限购 1 件」等业务限制,这类组合会以提示形式跳过,不编造价格。
### 示例 2:预约派对 / 品鉴会(默认不下单,2026-10-16 实测)
 [code] 
 [code] 
需真实下单时显式确认:
 [code] 
### 示例 3:活动日历 × 附近门店(2026-10-16 实测)
 [code] 
 [code] 
### 示例 4:校准工具入参(开发者,命令与当前版本一致)
 [code] 
---
## 四、目标用户
| 用户 | 场景 | 得到的价值 |
|---|---|---|
| **团建 / 班级活动组织者** | 10–30 人聚餐,有明确预算上限 | 十几秒内得到多套含人均对比的真实报价方案,不再手工凑单 |
| **企业行政 / 团餐负责人** | 需确认门店是否支持团餐助餐服务 | 一次查询拿到附近门店的助餐服务可用性(保鲜速达 / 专人分餐等)与组织建议 |
| **想办派对的家长 / 会员** | 生日派对、品鉴会预约路径深 | 自动串联五级查询,输出可下单的场次与余位 |
| **MCP / Agent 开发者** | 想看一个 Skill 如何真实编排 15 个 MCP Tool | 可复用的调用层:节流、退避、结果解析、字段归一化与单一校准点 |
---
## 五、目录结构
 [code] 
## 六、运行测试
 [code] 
> **CI 覆盖范围(请勿误读绿勾)**:GitHub Actions 在 Python 3.9–3.13 上执行上述**离线单元测试**;
> 真实 MCP 冒烟需要仓库配置 `MCD_MCP_TOKEN` Secret,未配置时该步骤会被跳过,
> 汇总门禁会以 warning 标注「本次仅验证离线单测」。
> 因此「CI 绿」= 单元测试通过,**不等于**真实链路已验证;后者以本地 `tests/smoke.py` 为准。
开发设置、代码风格与提交约定见 `docs/CONTRIBUTING.md`;
版本变更记录见 `CHANGELOG.md`。
## 七、说明与免责
- 本项目为麦当劳程序员节创意开发大赛参赛作品,由参赛者独立开发,**非麦当劳官方产品**;
- 餐品信息、价格及供应状态以麦当劳官方渠道的实时结果为准;涉及营养或热量的输出仅供参考,**不构成医疗、营养或其他专业建议**;
- 部分餐品存在限购等业务限制,相关组合会被跳过并提示,不会输出估算价格;
- 使用本项目须遵守《麦当劳 MCP 服务规则》及麦当劳中国《使用条款》。
## 八、许可证
MIT,见 LICENSE。