MealMCP
人工智能驱动的每周膳食计划和杂货车自动化——零代码,纯对话。
完全由 克劳德代码 和那个 模型上下文协议没有应用程序代码,没有框架,没有部署——只有通过自然语言编排的MCP服务器。
它做什么
MealMCP将“计划下周的饭菜”变成了一个完整的每周晚餐计划,其中包括从33本德国烹饪书中提取的食谱、一个格式化的谷歌文档和一个自动化的REWE.de购物车——所有这些都是通过对话完成的。无需编写代码,也无需构建应用程序。克劳德通过NotebookLM阅读你的食谱,在谷歌云端硬盘中创建膳食计划,然后在REWE.de上驱动一个真正的Chrome浏览器来填满你的购物车。
演示
REWE购物车根据每周用餐计划自动填充:
运作原理
User: "Plan my meals for next week"
│
▼
┌─────────────────────────────┐
│ Phase 1: Meal Planning │
│ │
│ NotebookLM ──► 7 dinners │
│ from 33 cookbooks │
│ │ │
│ ▼ │
│ Present table for review │
│ User swaps any meals │
│ │ │
│ ▼ │
│ Google Drive ──► Doc with │
│ recipes + grocery list │
└─────────────┬───────────────┘
│
▼
"Soll ich den REWE
Warenkorb füllen?"
│
▼
┌─────────────────────────────┐
│ Phase 2: Cart Automation │
│ │
│ Parse grocery list │
│ Skip pantry staples │
│ Consolidate duplicates │
│ │ │
│ For each ingredient: │
│ Chrome ──► search REWE │
│ ──► evaluate products │
│ ──► click add to cart │
│ │ │
│ ▼ │
│ Screenshot cart for review │
│ User checks out manually │
└─────────────────────────────┘特性
- 食谱驱动的食谱 --通过NotebookLM查询33本德国食谱(意大利语、印度尼西亚语、墨西哥语、叙利亚语、越南语等)
- 智能食谱选择 --每周传播4-5本以上的食谱,平衡菜肴,混合准备时间,确保多样性
- 格式化谷歌文档 --每周概览表、按比例配料的完整食谱(2份)和综合杂货清单
- 自动REWE购物车 --Chrome DevTools MCP在shop.rewe.de上驱动一个真正的浏览器会话
- 生物偏好 --当价格溢价低于30%时,选择有机产品
- 餐具室主食过滤 --跳过你家里总是有的东西(盐、胡椒、油等)
- 数量匹配 --根据配方要求计算要添加多少包
- 对话式用户体验 --通过聊天来交换食物、调整计划、触发购物车填充
先决条件
| 要求 | 详细信息 |
|---|---|
| 克劳德代码 | 克劳德的Anthropic CLI |
| 笔记本LM | 以您的烹饪书PDF为来源的笔记本 |
| Google Drive | 用于存储膳食计划文档 |
Chrome 146+ --remote-debugging-port=9222 用于推车自动化 | |
| REWE.de帐户 | 已登录,并选择了收货地址或取货市场 |
MCP服务器
| 服务器 | 包 | 用途 |
|---|---|---|
notebooklm | NotebookLM MCP | 查询食谱食谱 |
google-drive | @piotr-agier/google-drive-mcp | 创建/更新膳食计划文档 |
chrome-devtools | chrome-devtools-mcp | REWE浏览器自动化 |
context7 | @upstash/context7-mcp | 库文档查找 |
github | @modelcontextprotocol/server-github | GitHub集成 |
设置
- 安装Claude代码 并在中配置MCP服务器
~/.mcp.json(见上表)
- 设置NotebookLM --创建一个笔记本,上传你的烹饪书PDF作为来源,记下笔记本ID
- 设置Google云端硬盘 --为膳食计划创建文件夹(例如。,
11_Meal_Plans),记下文件夹ID
- 更新
CLAUDE.md--将NotebookLM笔记本ID和Google Drive文件夹ID替换为您自己的ID
- 配置餐具室订书钉 --编辑
pantry-staples.txt您家里总是有的物品:
Salz
Pfeffer
Olivenöl
Zucker
Mehl- 启动Chrome以实现购物车自动化 (需要时):
google-chrome-unstable --remote-debugging-port=9222 \
--remote-debugging-address=127.0.0.1 \
--no-first-run \
--user-data-dir=/tmp/chrome-rewe-debug \
"https://shop.rewe.de" &- 登录REWE --在Chrome会话中选择您的收货地址或取货市场
用法
在项目目录中与Claude Code开始对话:
# Plan a week of meals
> Plan my meals for next week
# Swap a meal you don't like
> Tausch Mittwoch gegen etwas mit Hähnchen
# Create the Google Doc
> Sieht gut aus, erstell das Dokument
# Fill the REWE cart
> Ja, füll den REWE Warenkorb
# Or trigger cart filling directly
> Fill my REWE cart from the latest meal plan产品选择
在填写REWE购物车时,产品按以下方式排列:
- 名称相关性 --与德国配料名称的模糊匹配
- 生物偏好 --如果溢价低于传统的30%,则选择有机
- 价格 --相关匹配中最便宜的选项
- 数量匹配 --足够的包装来满足食谱要求(例如,需要400克,300克包装→ 2 单位)
项目结构
MealMCP/
├── CLAUDE.md # Project instructions for Claude Code
├── README.md # This file
├── pantry-staples.txt # Items to skip when shopping
├── unnamed-cookbooks.md # Cookbook rename tracking
├── 2026-03-01-weekly-meal-planner-design.md # Meal planner design doc
├── docs/
│ ├── plans/
│ │ ├── 2026-03-01-rewe-cart-automation-design.md # Cart automation design
│ │ └── 2026-03-01-rewe-cart-automation-plan.md # Implementation plan
│ └── recon/
│ ├── rewe-dom-structure.md # REWE DOM structure notes
│ ├── rewe-cart-final.png # Cart screenshot 1
│ ├── rewe-cart-final-2.png # Cart screenshot 2
│ └── rewe-cart-final-3.png # Cart screenshot 3
└── .claude/
└── settings.local.json # MCP server config设计文档
| 文档 | 描述 |
|---|---|
| 每周膳食计划设计 | 配方选择规则、谷歌文档格式、工作流程 |
| REWE推车自动化设计 | 浏览器自动化架构、产品选择、错误处理 |
| REWE购物车实施计划 | 分步实施任务 |
| REWE DOM结构 | 重新确认shop.rewe.de页面结构上的注释 |
局限性
- 仅限晚餐 --目前计划每周7顿晚餐,不含早餐/午餐
- 2份 --适合2人家庭的食谱
- 只有REWE --购物车自动化是专门针对shop.rewe.de(德国杂货配送)的
- 德国食谱 --食谱集和杂货清单都是德语的
- 无历史跟踪 --还不记得前几周计划了哪些食谱
- 手动结账 --购物车是自动填充的,但用户在rewe.de上完成结账
- 会话依赖 --REWE登录和Chrome调试会话必须处于活动状态才能实现购物车自动化
- 无营养分析 --还没有卡路里或宏量追踪
许可证
此项目当前未获得许可。保留所有权利。
