io.github.JlMoreno00/sabor is an MCP server that recipes, meal plans and shopping lists with SQLite by default; Mealie and Postgres optional. Its tool list has not been published yet over http and stdio, requires no API key, and has not been scored yet.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-jlmoreno00-sabor": {
"command": "uvx",
"args": [
"sabor-mcp"
]
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Recipes, meal plans and shopping lists with SQLite by default; Mealie and Postgres optional.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
uvx 'sabor-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked sabor-mcp against OSV.dev.
This server is missing a description. Tools and install config are also missing. If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
MCP Security Weekly
Get CVE alerts and security updates for io.github.JlMoreno00/sabor and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
English · Español
Sabor helps home cooks use their AI agent to search or import recipes, plan the week, build a scaled shopping list, estimate its cost and sync it to Bring!. It runs independently with built-in SQLite by default; Mealie and Postgres/Supabase are optional. Sync uses an explicit preview and digest-bound confirmation.
Ask your agent for this week's menu and get the shopping list back.
Install from git (Python 3.12+ and uv):
uvx --python ">=3.12" --from git+https://github.com/JlMoreno00/sabor sabor-mcp
Use the portable sabor-onboarding and
sabor-import skills. Sabor exposes 24 tools by
default, 53 with every toolset fully configured. To persist a cooking profile,
run sabor-mcp setup or include preferences in SABOR_TOOLSETS;
direct uvx and one-click registrations do not enable it. See
toolset configuration.
Brand guide: docs/marca/.
Optional non-secret config.toml settings use environment > file > defaults.
Set SABOR_CONFIG to select a file; see configuration keys and OS paths.
Secrets may use environment variables or setup-managed keyring/file references;
sabor_capabilities reports data.config_source. Run sabor-mcp doctor --json
to check store health, or sabor-mcp config show --json for masked values and
origins. See terminal diagnostics.
sabor_capabilities(); use only tools in data.registered_tools.search_recipes or suggest_recipes; inspect structured
ingredients and instructions with get_recipe. Alternatively preview
import_recipe(source="https://example.org/recipe", kind="url"), ask the
user, then repeat with dry_run=False.set_mealplan_entry for each approved entry.add_to_shopping_list(list_id="MEALIE_ID", mealplan_start="2026-10-19", mealplan_end="2026-10-25", servings_multiplier=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.get_shopping_list_items and estimate the actual list with
estimate_cost(source={"kind":"shopping_list","list_id":"MEALIE_ID"}, store={"provider":"mercadona"}).
Show consumption and procurement subtotals, coverage and uncertainties. If
over budget, propose changes and obtain new approval before changing the plan.get_shopping_sync_targets. Preview
sync_shopping_list(mealie_list_id="MEALIE_ID", target={"provider":"bring","list_id":"BRING_ID"}).
Show additions, removals, conflicts, skipped checked items and preview_digest.
Ask; repeat the same call with confirm=True, preview_digest="APPROVED_DIGEST".