Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for HouseLedger — household memory for Alexa+ (MCP)
HouseLedger is a self-hosted Model Context Protocol server (spec 2025-11-25, Streamable HTTP, official TypeScript SDK) plus a simulated Alexa+ web client.
Problem (real Alexa+ regressions): shared lists lost speaker attribution; "remove 1 lb of hamburger" wiped the whole line; reminders were treated like tasks and piled up as Overdue.
What it does
- Attribution: every mutation stores speaker, timestamp, and the raw heard utterance.
- Mishear-aware: implausible item names return as
flaggedso the agent asks instead of guessing ("papaya talons" → confirm → "paper towels"). - Quantity-precise:
adjust_itemapplies deltas; it never nukes a line. - Reminder ≠ task: reminders announce once and archive on
tick; tasks stay open until completed. - Undo:
undo_lastreverses the previous change. - Cross-session digests:
what_changedtells each person what others changed since they last asked. - Echo Show-style card in the simulator, with a live MCP tool trace.
Tools: add_items, adjust_item, remove_item, confirm_item, list_items, add_reminder, tick, complete_task, list_reminders, undo_last, what_changed + resource houseledger://list.
Run: npm install && npm start → MCP at http://127.0.0.1:8787/mcp, simulator at /. npm run demo is a scripted SDK-client smoke test (no LLM).
Why it's not thin Q&A: state persists across speakers and sessions; clarification loop; reminder/task split; undo; per-person digests.
Built With
- express.js
- html
- javascript
- model-context-protocol
- node.js
- typescript-sdk
- zod
Log in or sign up for Devpost to join the conversation.