Inspiration

Households throw away food mostly because they forget what is about to expire. A voice assistant is the natural fix: your hands are full in the kitchen, and you can say what you bought as you unpack. Pantry Rescue is a voice-first food-waste tracker built as an MCP server for Alexa+.

What it does

  • Add groceries by voice: "I bought spinach, paneer, onions and tomatoes." Expiry dates are set from typical shelf life, or from a number of days you state.
  • Warns before food goes off: "What's about to go bad?"
  • Suggests tonight's meal, expiry-first: it ranks recipes by how much soon-to-expire food they use up, instead of just suggesting a recipe.
  • Tracks what you rescue: "I used the paneer" marks it used, and "How much did I save this week?" gives a weekly rescue rate.
  • Shows an expiry board: an MCP App widget with colour-coded bars that shrink as items near their date.

How I built it

  • A Python MCP server (official MCP SDK) over Streamable HTTP at /mcp, stateless, spec 2025-11-25.
  • Six tools: add_items, list_expiring, suggest_meal, mark_used, weekly_summary and show_pantry_board. Tool descriptions are written as spoken triggers ("Use when the user says they bought groceries") so a voice assistant can route requests well.
  • Every tool returns a short speakable sentence plus structured data for the screen.
  • SQLite storage, with expiry computed on every request.
  • An MCP App widget (ui://pantry/board) for screens.
  • A voice simulator at /sim that acts as a stand-in host: it turns typed or spoken requests into real calls to the /mcp endpoint, speaks the replies with the browser's speech API, and renders the widget.
  • Bearer-token auth option, a Dockerfile for deployment, and unit tests (6 passing).

Challenges

  • Writing tool descriptions and results that sound natural when spoken, not just read.
  • Keeping the server stateless so it works behind a tunnel or a hosted URL.
  • Alexa+ add-on tooling needed an environment setup I couldn't complete in the hackathon window, so I built the simulated Alexa+ path and kept the server MCP-compliant so it can be registered as an add-on.

What I learned

How MCP tool descriptions act as the "menu" a voice assistant reads, how MCP Apps let a server ship its own UI, and how much a short, speakable response matters for voice.

What's next

  • Register the server as an Alexa+ add-on, including OAuth 2.1 with PKCE.
  • Multiple households and per-user pantries.
  • Barcode and receipt input, and more regional recipes.

Built With

Share this project:

Updates

Submission history