-
-
HomeMend: a repair agent for Alexa+ (cover)
-
Simulator connected to the live MCP server; inspector shows the negotiated 2025-11-25 version and every JSON-RPC message
-
Home brief and the first safe troubleshooting step as an MCP Apps card
-
Step card: every button is a real tools/call back to the server
-
Light theme, Echo Show 15 frame: a free-form sentence about a humming fridge opens a case on the right appliance
-
Fire TV frame: the home brief lists the open case and the maintenance item due in 3 days (server state)
Inspiration
Every home has a broken appliance and a drawer of unread manuals. The moment you need help your hands are wet, you are under the sink, and the answer is three days and two orders away. Alexa+ is already in the kitchen. HomeMend gives it a repair agent that remembers.
What it does
Say "the dishwasher isn't draining." HomeMend opens a case for your dishwasher, walks one safe troubleshooting step at a time (safety notes are always spoken), diagnoses the fault, finds parts verified to fit your model, quotes before it orders, places the order only after you confirm, schedules a follow-up for the delivery day, and logs the fix in the appliance history. Ask "what needs attention at home?" any day and it tells you what arrived, what is due, and where you left off, across sessions, devices and days. It also keeps a maintenance calendar per appliance.
How we built it
- A self-hosted MCP server (TypeScript SDK v2, Streamable HTTP, spec 2025-11-25 negotiated) exposing 10 tools with
structuredContent, Origin validation, per-household state and a documented demo clock. - MCP Apps views (ext-apps 2.0.3): step cards, parts carousel, order confirmation, home brief, case history. Every button is a real
tools/call; the view is a content-hashedui://resource. - A deterministic triage engine (10 hand-authored trees with escalation and safety) and a two-phase purchase flow (quote, then explicit confirm).
- Two runtimes, one engine: Node/Express for local and Docker, and a Cloudflare Worker with D1 for the always-on hosted deployment judges use (the household document is written back before the HTTP response returns, so the next request always sees it).
- A simulated Alexa+ host: a real MCP client + MCP Apps host with a sandbox proxy, speech in/out, an MCP inspector, and a demo clock, because the Alexa+ toolkit is partner-only.
- A judge smoke test (
pnpm -C server smoke <url>) that runs the whole journey against any deployment: version negotiation, 403/400 paths, multi-client persistence, two-phase order, household isolation.
Challenges
No access to Alexa+ itself; SDK v2 doc gaps; sizing MCP App views inside a sandboxed iframe; keeping persistence strictly ordered on a stateless serverless transport; staying trademark-free (fictional brands, demo catalog); hosting for $0 through the judging period.
Accomplishments
44 unit/integration tests (engine, MCP wire, and 32 planner cases for free-form sentences) plus an 11-step end-to-end smoke test, identical results on Node and on Workers; fully conformant on our own open-source transport checker (which also found Origin-validation gaps in two public MCP servers); a resumable, cross-session conversation; a polished Echo Show-style experience.
Why not just ask Alexa+ to troubleshoot?
An LLM can already talk you through a dishwasher check. HomeMend adds what the model cannot do on its own: safety-reviewed procedure instead of improvised steps, memory that outlives the conversation (the case, the step, the order and its delivery day are server state), parts fitment checked against your registered model, purchases that cannot happen without a confirm turn, and a preventive loop that reschedules maintenance when a fix was really a maintenance item.
Honest framing: HomeMend is a context-aware add-on, not an autonomous agent. The server is a deterministic state machine plus persistence; it never plans on its own or calls other services. The agent is Alexa+; in the simulator a rule-based planner stands in for it, because nobody can reach Alexa+ from this hackathon. That division is deliberate and is what the Alexa+ add-on guidance recommends.
What we learned
Let the LLM own language and let the add-on own procedure and state. Structured results are the API to Alexa's voice; keep the spoken summary short and put the detail on the card.
What's next
Real parts fitment via a retailer API, proactive follow-up notifications when the platform allows it, account linking, warranty and recall matching on the appliance registry.
What is real and what is simulated
The MCP server, the MCP Apps views, the triage engine, the two-phase purchase flow and the cross-session persistence (Cloudflare D1) are real and live. The Alexa+ host is a stand-in web page, because the Alexa+ add-on toolkit is available to select partners only (hackathon FAQ): it is a real MCP client over Streamable HTTP with an MCP Apps host, speech in/out, an inspector and a demo clock. Utterances in the video are typed. Brands and the parts catalog are fictional.
Links
- Repo (MIT): https://github.com/mogohary99/homemend
- Live MCP server: https://homemend.strongkit.workers.dev/mcp
- Alexa+ simulator (real MCP client + MCP Apps host): https://homemend.strongkit.workers.dev/sim/
- Demo video: https://youtu.be/bC_8OvDg7pQ
- Open Source mini challenge contribution: https://github.com/mogohary99/mcp-http-conformance
Testing instructions (for judges)
- Open the simulator URL. It connects to the live MCP server and shows the negotiated protocol version (2025-11-25) and every JSON-RPC message in the inspector.
- Press Guided demo, or tap the chips / type your own sentence, e.g. "my fridge is making a loud humming noise".
- Press Advance a day, then ask "what needs attention at home?" and tap Install, then Installed, it works.
- Reload the page: the open case resumes from the server (state lives in D1, not the browser).
- Optional:
git clonethe repo,pnpm install, thenpnpm -C server smoke https://homemend.strongkit.workers.dev/mcpruns the end-to-end journey from your machine. - Optional: point any MCP client at
<server>/mcp(headerX-Homemend-Household: <any-id>gives you a private household), or runnpx github:mogohary99/mcp-http-conformance https://homemend.strongkit.workers.dev/mcp.
No login or token is required.
Built With
- alexa
- cloudflare-d1
- cloudflare-workers
- express.js
- mcp
- mcp-apps
- node.js
- typescript
- vite
Log in or sign up for Devpost to join the conversation.