git:20261015.9af9061 to git:20261027.e6fdc28

6 added, 0 removed. Audit A to A.

---
name: mcd-party-planner
description: 基于麦当劳 MCP 的聚会/团餐组织助手。当用户需要组织多人聚餐、团餐或麦当劳主题活动(派对/品鉴会)时,按「城市 + 关键词 + 人数 + 预算」生成多套真实计价的可比对方案、串联主题活动预约链路、并结合活动日历给出组织时机建议。触发词:团餐、聚餐、聚会、多人点餐、预算凑单、麦当劳派对、生日派对、品鉴会预约、活动日历。
---
# mcd-party-planner
用麦当劳 MCP 的真实数据,把「组织一场多人麦当劳聚餐」这件琐事压缩成一次对话。
## 前置条件
1. 已申请麦当劳 MCP Token,并在 WorkBuddy 中启用 `mcd-mcp` 连接器(配置见 `mcp-config.example.json`);
2. 已克隆本仓库(仅用 Python 标准库,无需 pip 安装);
3. 仓库根目录存在 `.env`:`MCD_MCP_TOKEN=你的Token`(该文件已被 `.gitignore` 排除)。
自检:`python -m src.cli selfcheck`
+ (若暂无 Token,可跳过前置条件,直接看快照:`python -m src.cli plan --city 成都 --keyword 春熙路
+ --headcount 8 --budget 400 --replay examples/2026-10-27-chengdu-8p-400-plan.json`)
## 使用流程
### 1. 团餐方案生成(最常用)
当用户给出「地点 + 人数 + 预算」时执行(参数为**城市**与**关键词**,不是详细地址):
```bash
python -m src.cli plan --city 成都 --keyword 春熙路 --headcount 8 --budget 400
```
- 输出 ≥2 套方案(经济型 / 均衡型 / 丰盛型 × 多家门店),含合计、人均、是否超预算;
- 结尾给出推荐方案;
- 加 `--json` 得到结构化结果;`--store-limit` 控制比对门店数;
- 部分餐品限购或门店非营业时,会以提示形式跳过该组合,**不要编造价格**。
若用户未给出预算先询问;未给出人数则默认 2 人并提示。
### 2. 主题活动(派对 / 品鉴会)预约
```bash
python -m src.cli party --city 成都市 --headcount 6
```
- 自动发现派对类主题商品(spuId),串联 `城市 → 门店 → 日期 → 场次`;
- 默认 **dry_run**:只输出链路结果与可下单载荷,**不真实下单**;
- 只有用户明确要求下单时才追加 `--confirm`。
### 3. 活动日历组织建议
```bash
python -m src.cli calendar --city 成都 --keyword 春熙路
```
- 输出活动日历(往期 / 今日 / 未来)× 附近门店的组织建议;
- 顺带提示各门店企业团餐助餐服务(如保鲜速达、专人分餐)是否可用。
## 结果呈现约定
- 金额以 ¥ 为单位、保留两位小数(服务端返回单位为分,已换算);
- 明确区分「预算内」与「超预算」;超预算方案也要给出以便对比,但推荐只从预算内选;
- 餐品、价格、供应状态以麦当劳官方渠道实时结果为准;涉及营养/热量时提示仅供参考,不构成专业建议。
+ - **需要发给用户一份可分享的结果时**,用 `--format md` 或 `--format html`:HTML 为单文件、
+ 内联样式、零外链,可直接落盘发送;`--json` 仍等价于 `--format json`,适合二次加工。
+ - **没有 Token 或只想演示效果时**,加 `--replay examples/<快照>.json` 回放仓库内真实录制快照
+ (不发请求);回放结果是录制那一刻的数据,务必说明「快照,非实时」。
## 安全与合规
- 不外发、不落盘任何用户地址与联系人信息,仅运行时内存使用;
- 禁止在对话、日志或文件中回显 MCP Token;
- 禁止将麦当劳品牌、产品与其他品牌进行对比或贬损;
- 429 报错时说明是官方限流(600 次/分钟),降低请求频率后重试。