J
JlMoreno00/sabor
MCP server that turns a self-hosted Mealie into an AI-agent-ready kitchen: recipes, meal plans, shopping…
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
安装与配置
取自该仓库的安装命令
claude mcp add --scope user sabor -- uvx sabor-mcp
解析自我们于 2026-10-28 抓取的该仓库 README;我们未执行过。
这条是仓库自己写的安装方式,不是 MCP 客户端配置,所以不生成 JSON。
配置项的键名以你的客户端为准:客户端与 CLI
- ★ 数取值
- 0 ★ · JlMoreno00/sabor · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
- 收录与活跃
- 收录于 2026-10-28 · 最近见到 2026-11-14 · 共见到 19 次 · 被 1 个来源列出
- 评分构成
- 综合分 103 · 1 个来源 · repo
- 安装
claude mcp add --scope user sabor -- uvx sabor-mcp
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是
claude mcp add --scope user sabor -- uvx sabor-mcp。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
JlMoreno00/sabor;我们收录于 2026-10-28;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# Sabor
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A kitchen-intelligence layer with built-in SQLite or optional Mealie/Postgres. Find or import recipes, plan the
week, build a scaled shopping list, estimate its cost, then sync to Bring! with
an explicit preview and digest-bound confirmation. The selected recipe
store is the source of truth for cooking data; core workflows work without Mealie.
Brand guide: docs/marca/.
Optional non-secret config.toml settings use environment > file > defaults.
Set SABORCONFIG to select a file; see configuration keys and OS paths.
Secrets may use environment variables or setup-managed keyring/file references;
saborcapabilities reports data.configsource. Run sabor-mcp doctor --json
to check store health, or sabor-mcp config show --json for masked values and
origins. See terminal diagnostics.
## The everyday flow
1. Call saborcapabilities(); use only tools in data.registeredtools.
2. Find recipes with searchrecipes or suggestrecipes; inspect structured
ingredients and instructions with getrecipe. Alternatively preview
importrecipe(source="https://example.org/recipe", kind="url"), ask the
user, then repeat with dryrun=False.
3. Agree a menu and use setmealplanentry for each approved entry.
4. Create or select a store shopping list, then call
addtoshoppinglist(listid="MEALIEID", mealplanstart="2026-10-19", mealplanend="2026-10-25", servingsmultiplier=2.0).
Dates are inclusive. Each recipe occurrence is added; free-text entries are
skipped with reasons. The multiplier scales native recipe yield, not a guessed
diner count. This call writes immediately: obtain approval first.
5. Reread getshoppinglistitems and estimate the actual list with
estimatecost(source={"kind":"shoppinglist","listid":"MEALIEID"}, store={"provider":"mercadona"}).
Show consumption and procurement subtotals, coverage and uncertainties. If
over budget, propose changes and obtain new approval before changing the plan.
6. Discover getshoppingsynctargets. Preview
syncshoppinglist(mealielistid="MEALIEID", target={"provider":"bring","listid":"BRINGID"}).
Show additions, removals, conflicts, skipped checked items and previewdigest.
Ask; repeat the same call with confirm=True, previewdigest="APPROVEDDIGEST".
A stale digest or any conflict blocks writes and returns a fresh preview;
review and ask again rather than blindly retrying or switching to replace.
This is documented agent orchestration, not a composite tool or transaction.
Plan → list → estimatecost → sync crosses independent approval boundaries.
List creation/additions write immediately; cost approval authorizes no purchase.
Report each system's outcome; uncertain writes require readback/reconciliation,
not automatic retries or an assumed cross-system rollback.
## Sabor solo vs Sabor + Mealie
| Capability | Sabor solo | Sabor + Mealie |
| Recipes, meal plans, shopping lists | Built-in SQLite; no account or token | Mealie URL + API token |
| URL import | Offline recipe-scrapers / JSON-LD | Native Mealie scraper |
| Text / image / video import | Optional compatible LLM / Gemini; video needs ffmpeg | Optional providers; native image import uses Mealie configuration |
| Bring! sync / Mercadona estimates | Optional credentials / pricing opt-in | Same optional integrations |
week, build a scaled shopping list, estimate its cost, then sync to Bring! with
an explicit preview and digest-bound confirmation. The selected recipe
store is the source of truth for cooking data; core workflows work without Mealie.
Brand guide: docs/marca/.
Optional non-secret config.toml settings use environment > file > defaults.
Set SABORCONFIG to select a file; see configuration keys and OS paths.
Secrets may use environment variables or setup-managed keyring/file references;
saborcapabilities reports data.configsource. Run sabor-mcp doctor --json
to check store health, or sabor-mcp config show --json for masked values and
origins. See terminal diagnostics.
## The everyday flow
1. Call saborcapabilities(); use only tools in data.registeredtools.
2. Find recipes with searchrecipes or suggestrecipes; inspect structured
ingredients and instructions with getrecipe. Alternatively preview
importrecipe(source="https://example.org/recipe", kind="url"), ask the
user, then repeat with dryrun=False.
3. Agree a menu and use setmealplanentry for each approved entry.
4. Create or select a store shopping list, then call
addtoshoppinglist(listid="MEALIEID", mealplanstart="2026-10-19", mealplanend="2026-10-25", servingsmultiplier=2.0).
Dates are inclusive. Each recipe occurrence is added; free-text entries are
skipped with reasons. The multiplier scales native recipe yield, not a guessed
diner count. This call writes immediately: obtain approval first.
5. Reread getshoppinglistitems and estimate the actual list with
estimatecost(source={"kind":"shoppinglist","listid":"MEALIEID"}, store={"provider":"mercadona"}).
Show consumption and procurement subtotals, coverage and uncertainties. If
over budget, propose changes and obtain new approval before changing the plan.
6. Discover getshoppingsynctargets. Preview
syncshoppinglist(mealielistid="MEALIEID", target={"provider":"bring","listid":"BRINGID"}).
Show additions, removals, conflicts, skipped checked items and previewdigest.
Ask; repeat the same call with confirm=True, previewdigest="APPROVEDDIGEST".
A stale digest or any conflict blocks writes and returns a fresh preview;
review and ask again rather than blindly retrying or switching to replace.
This is documented agent orchestration, not a composite tool or transaction.
Plan → list → estimatecost → sync crosses independent approval boundaries.
List creation/additions write immediately; cost approval authorizes no purchase.
Report each system's outcome; uncertain writes require readback/reconciliation,
not automatic retries or an assumed cross-system rollback.
## Sabor solo vs Sabor + Mealie
| Capability | Sabor solo | Sabor + Mealie |
| Recipes, meal plans, shopping lists | Built-in SQLite; no account or token | Mealie URL + API token |
| URL import | Offline recipe-scrapers / JSON-LD | Native Mealie scraper |
| Text / image / video import | Optional compatible LLM / Gemini; video needs ffmpeg | Optional providers; native image import uses Mealie configuration |
| Bring! sync / Mercadona estimates | Optional credentials / pricing opt-in | Same optional integrations |
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/jlmoreno00-sabor/)
- 来源
- github · https://github.com/JlMoreno00/sabor
- 按领域浏览
- MCP 服务
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。