hujjun/mcd-saver-strategist
麦当劳省钱点餐助手(麦门精算师)|麦当劳优惠券组合优化 Skill:拉取麦当劳菜单与全部可用优惠券,算出最省的点餐组合,巨无霸套餐 ¥47 → ¥21.9(省 53%)。McDonalds MCP(麦当劳 MCP)coupon optimizer · McDonalds China MCP Server · Agent Skill for WorkBuddy · 麦当劳程序员创意开发大赛参赛作品
개요
mcd-saver-strategist는 맥도날드 중국을 위한 가상 "가격 계산기" 역할을 하는 WorkBuddy 스킬입니다. 사용자가 "빅맥 세트를 원하는데, 가장 싸게 먹으려면 어떻게 해야 하나요?" 와 같은 질문을 하면 이 스킬은:
- 맥도날드 중국 MCP API를 호출하여 현재 메뉴, 가격, 영양 정보 및 사용자 계정에서 사용 가능한 모든 쿠폰을 가져옵니다.
- 해당 데이터를 JSON 요청으로 정규화합니다.
- 결정적 조합 최적화 프로그램(
scripts/optimizer.py)을 실행하여 MCP의 스태킹 규칙, 예산 또는 칼로리 제한을 준수하는 모든 합법적 상품 및 쿠폰 조합을 열거합니다. - 최저가이면서 규정을 준수하는 상위 N개 조합을 반환하고, 사용자가 확인하면 MCP를 통해 주문을 생성합니다.
이것은 콘테스트 출품작(맥도날드 프로그래머 창의 개발 콘테스트)이며 공식 맥도날드 제품이 아닙니다.
빠른 설치
# 저장소 클론
git clone https://github.com/hujjun/mcd-saver-strategist.git
# 스킬을 WorkBuddy 스킬 디렉토리로 복사
cp -r mcd-saver-strategist/skills/mcd-saver-strategist ~/.workbuddy/skills/
Windows 사용자는 %USERPROFILE%\.workbuddy\skills\에 복사합니다.
또한 MCP 토큰이 필요합니다(README의 "申请麦当劳 MCP Token" 섹션 참조). 제공된 mcd-config.example.json을 사용하여 WorkBuddy의 连接器 → 自定义连接器 → 配置 MCP를 통해 구성합니다.
사용 방법
- 대화 중: "我想吃巨无霸套餐,怎么点最便宜" 와 같이 말합니다.
- 에이전트는 메뉴와 4방향 쿠폰 풀을 가져와 최적화 프로그램을 실행하고 가장 저렴한 실행 가능한 조합으로 응답합니다(예: "1+1 随心配 ¥12.9 + 可乐 ¥9 = ¥21.90, ¥25.10 절약").
- 제약 조건을 추가할 수 있습니다:
budget=30→ 30위안 미만의 최상의 식사를 표시합니다.max_calories=800→ 저칼로리, 저렴한 조합을 반환합니다.delivery모드 → 배달비를 포함하고 매장 픽업 전용 쿠폰을 필터링합니다.
- 확인하면 스킬은 MCP의
calculate-price를 호출하여 최종 가격을 검증한 다음create-order로 주문합니다.
명령줄 데모(토큰 불필요)
저장소에는 로컬에서 최적화 프로그램을 시험해 볼 수 있는 작은 오프라인 데이터 세트가 포함되어 있습니다:
cd skills/mcd-saver-strategist/scripts
python optimizer.py # 기본 매장 내 시나리오
python optimizer.py --json # JSON도 출력
python optimizer.py --mode delivery --fee 9 # 배달비 포함
python optimizer.py --budget 25
python optimizer.py --max-calories 800
python selftest.py # 19개의 내장 테스트 실행
기술적 하이라이트
| 기능 | 세부 사항 |
|---|---|
| 결정적 최적화 프로그램 | 순수 Python, 표준 라이브러리만 사용. MCP의 스태킹 규칙(stackable:false는 상호 배타적 의미)을 준수하는 가지치기가 포함된 완전 탐색. |
| 외부 종속성 없음 | WorkBuddy 샌드박스 및 정적 웹 데모(docs/index.html)에서 작동. |
| MCP 통합 | 메뉴, 쿠폰, 영양, 가격 검증 및 주문 생성을 위해 MCP 엔드포인트 사용. |
| 시나리오 인식 | 쿠폰에는 channel 필드(pickup, delivery, any)가 있습니다. 최적화 프로그램은 선택된 시나리오에 따라 자동으로 필터링하고 필요할 때 배달비를 추가합니다. |
| 예산/칼로리 제약 | 최적화 프로그램이 전역 최저 가격을 찾으면서 준수할 수 있는 간단한 선형 제약 조건. |
| 자체 테스트 스위트 | selftest.py에는 엣지 케이스(빈 쿠폰 목록, 충돌하는 쿠폰 등)를 다루는 19개의 어서션이 포함되어 있습니다. |
| 온라인 대화형 데모 | GitHub Pages 페이지(docs/index.html)가 브라우저에서 동일한 로직을 재현합니다. 사용자는 예산과 칼로리 슬라이더를 드래그하여 즉시 결과를 볼 수 있습니다. |
누구에게 유용한가
- 학생 또는 직장인: 수동으로 쿠폰을 관리하지 않고 가장 저렴한 맥도날드 식사를 원하는 사람.
- 피트니스/다이어트 애호가: 예산 내에서 저칼로리 옵션이 필요한 사람.
- 그룹: 여러 식사를 주문하고 총 지출을 유지해야 하는 사람.
- "쿠폰 헌터": 많은 쿠폰을 보유하고 최적의 조합이 필요한 사람.
라이선스
MIT(LICENSE 참조).
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트