Skip to main content
Glama

HouseLedger — a shared-household memory for Alexa+ (MCP server)

Alexa+ track · Build, Ship, Shape: Amazon Developer Hackathon 2026.

Families who moved to Alexa+ report three regressions in the most-used household features:

  1. No attribution – the shared list no longer shows who added what, when, so misheard items ("papaya talons" for "paper towels") cannot be traced. (r/alexa)

  2. All-or-nothing edits – "remove 1 lb of hamburger" removes all 67 lb. (same thread)

  3. Reminders treated as tasks – every announced reminder piles up as "Overdue". (r/amazonecho)

HouseLedger is a self-hosted MCP server (spec 2025-11-25, Streamable HTTP, official TypeScript SDK) that Alexa+ (or any agent) calls to keep household state that is:

  • attributed – every item stores speaker, timestamp and the raw heard utterance;

  • misheard-aware – implausible item names are returned as flagged, so the agent asks instead of guessing;

  • quantity-precise – adjust_item applies deltas, never wipes a line;

  • reminder ≠ task – reminders announce once and archive; tasks stay open until completed;

  • undoable – undo_last reverses any change;

  • cross-session – what_changed gives each person a digest of what others changed since they last asked.

Run

Requires Node.js 18+.

npm install
npm start               # MCP at http://127.0.0.1:8787/mcp ; simulator at http://127.0.0.1:8787/
npm run demo            # scripted MCP client smoke test (no LLM needed; run while the server is up)

Environment variables (all optional except for the LLM-driven simulator):

Variable

Purpose

PORT

HTTP port (default 8787)

OPENAI_BASE_URL (or LLM_BASE_URL)

Base URL of any OpenAI-compatible chat API, e.g. https://api.openai.com/v1

OPENAI_API_KEY (or LLM_API_KEY)

API key for that endpoint

OPENAI_MODEL (or LLM_MODEL)

Model name with tool-calling support (default gpt-4o-mini)

OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_API_KEY=sk-... OPENAI_MODEL=gpt-4o-mini npm start

No keys are stored in this repo; the MCP server itself needs no LLM. Household data is kept in data/ledger.json (git-ignored).

The simulator (simulated Alexa+ experience) has speaker selection (voice-profile stand-in), mic input (Web Speech API), spoken replies, an Echo-Show-style list card and a live MCP tool trace.

Related MCP server: mcp-home

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.

License

MIT

Submit (Amazon Alexa+ track)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables voice-first shared object memory for Alexa+, letting users record where items were last reported, retrieve authorized locations, correct stale records, check shared items in and out, run guided Lost Mode searches, and manage privacy-aware access.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Alexa+ and other MCP clients to manage a household's shared shopping list, bills, chores, and pantry expiry through natural-language voice interactions. It provides read-only briefings and confirmation-gated updates for recurring household logistics.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Alexa+ to coordinate a household through 14 MCP tools: it tracks family members, auto-assigns and completes chores by workload, adds calendar events while reporting clashes, rotates pickup duty, manages a grocery list, and returns a spoken morning briefing with reasoning for every decision.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables a voice assistant to keep a shared, persistent memory of a household's kitchen, turning spoken remarks into pantry updates, scaled recipes, a cart, and confirmed grocery orders. Household members can ask what can be made and for how many, review what is low or out, and place or restock simulated orders only after explicit confirmation.
    31 npm
    MIT