Back to the CV

MealVault

Manages recipes, pantry inventory, meal planning and shopping lists, with an MCP server that exposes the API as tools for an LLM.

Recipe detail
Status
Self-hosted

What it does

  • Recipes with substitutes and sub-recipes.
  • Pantry inventory: cooking a recipe deducts stock, oldest first.
  • "What can I cook now", listing what is missing for near matches.
  • Weekly menus and shopping lists, plus an append-only pantry log for consumption analysis.

How it is built

  • Flask and flask-smorest REST API with generated OpenAPI docs. One manager class per model owns its queries and business rules.
  • SQLAlchemy 2.0 with Alembic migrations, and tests that run against a real PostgreSQL.
  • The MCP server is a separate package with 32 hand-written, task-oriented tools instead of one tool per endpoint generated from about 65 CRUD routes, which a model would struggle to choose from.
  • React 19, TypeScript and Vite frontend over the same API.
  • Next: LangChain agents that suggest recipes from the pantry and plan the week.
Pantry list
Weekly menu

Technologies

  • Python
  • Flask
  • SQLAlchemy
  • PostgreSQL
  • Redis
  • React
  • TypeScript
  • FastMCP
  • Alembic