Inspiration
Forgotten pantry items are easy to miss when inventory, expiry dates, and dietary constraints live in separate places. Pantry Rescue explores a small, auditable workflow for turning those inputs into a confirmed consumption record.
What it does
The tool sequence adds or replaces normalized pantry items, lists items within an expiry horizon (including expired items), suggests an unused recipe from non-expired stock that matches required and avoided tags, and atomically records servings consumed.
How we built it
The domain is implemented in Python with SQLite-backed state and typed tools exposed by a local Python MCP server tested via Streamable HTTP (MCP 2025-11-25). Results are computed from the entered state; no natural-language model or recipe database is bundled. A static browser replay, when used, is a JavaScript/localStorage equivalent and is not connected to MCP or Alexa.
Challenges
The workflow must distinguish expiry, tag constraints, duplicate recipe use, and safe consumption updates rather than presenting a one-turn answer. Quantity and serving assumptions are deliberately explicit.
What we learned
A stateful tool contract makes each transition inspectable. Explicit typed return annotations also matter for structured MCP output in the installed SDK.
Accomplishments
The local domain and fresh Streamable HTTP workflow are verified with project evidence, including the four-step add, expiry check, suggestion, and consumption path.
What's next
Add a reviewed recipe source, stronger nutrition and allergen handling, authenticated multi-user storage, and an actual host integration before making operational claims.
This is a local single-user prototype: no cloud or LLM claim, no Alexa/Echo integration, no purchases or notifications, and no live external data.
Built With
- css3
- fastmcp
- html5
- javascript
- json-schema
- localstorage
- model-context-protocol
- pytest
- python
- sqlite
- streamable-http
Log in or sign up for Devpost to join the conversation.