Inspiration
Here in India, when the AC stops cooling in the middle of summer, the routine is always the same. You call the shop, tell them the brand and model again, try to remember if the warranty is still valid, and then wait for a callback that may or may not come. Half the time the technician walks in, cleans a dusty filter, and charges you 400 rupees for it.
I kept thinking that a voice assistant sitting in the living room should be able to handle this. It should already know what appliances are in the house, how old they are, and what's covered. When something goes wrong, it should help you fix the simple stuff yourself and only call someone when it's really needed. That's where HomeKeeper came from.
What it does
HomeKeeper is an MCP server for Alexa+ that looks after the appliances in your home: AC, fridge, washing machine, water purifier, geyser and microwave.
You can just say "Alexa, my bedroom AC isn't cooling." HomeKeeper knows which AC you mean, and walks you through a couple of quick checks, like the remote mode and the filter. If that doesn't help, it looks at the warranty. In my demo the AC's general warranty has expired, but the compressor is still covered for a few more years, which most people would never remember. Then it tells you the visit charge, offers a few time slots, and books the technician once you say yes. You get the technician's name and a visit OTP, and later you can ask "where is the technician?" or move the booking.
It remembers everything between conversations, so it can also tell you when the RO filter is overdue or that the geyser should be checked before winter. If you want, you can buy a yearly maintenance plan for all your appliances, and it always asks you to confirm the price first.
On an Echo Show style screen, each step shows a card: the home overview, the troubleshooting steps, the quote with slots, the booking with the OTP. You can tap a slot instead of saying it, and the conversation carries on.
How we built it
The core is a self-hosted MCP server in Node.js, built on the official MCP TypeScript SDK. It uses spec version 2025-11-25 over Streamable HTTP. It has nine tools for the home overview, troubleshooting, quotes, booking, tracking, rescheduling and buying a plan, plus a resource for the home profile and a prompt for a seasonal check-up. Household data is saved on the server, so nothing is lost between sessions or restarts.
The cards are built with MCP Apps. The tools point to a ui:// resource, and the host renders it with the tool's result. There is also an Agent Skill (SKILL.md) that describes how an assistant should use HomeKeeper: safety warnings first, DIY before a visit, and never book or buy without a clear yes.
Since Alexa+ MCP access is currently limited to brands in preview, I built an Alexa+ style simulator for the demo. It's a web page that looks like an Echo Show, with voice input and output through the browser's speech APIs. Behind it, Claude on Amazon Bedrock connects to the HomeKeeper server as a normal MCP client and decides which tools to call. A side panel shows every tool call live, so you can see what's happening under the hood.
Challenges we ran into
The hardest part was writing responses that work for voice and screen at the same time. What Alexa says has to be short and natural, but the card needs all the details. So every tool returns a one or two line summary to speak, plus structured data for the card.
Buying things by voice was another one. I didn't want the assistant to book a technician or charge for a plan just because it misheard something. Both actions now happen in two steps: first it reads back the exact price and slot, and only after a clear yes does it complete the booking.
People also don't use IDs when they talk. They say "the bedroom AC" or "the fridge in the kitchen", so I had to add matching that maps those phrases to the right appliance, and asks again when it isn't sure.
Accomplishments that we're proud of
The full flow works end to end: from "my AC isn't cooling" to a confirmed booking with a technician and an OTP, in a few normal sentences. I'm also happy with the warranty logic, because telling someone their compressor is still covered can save them thousands of rupees. And it's nice to see one MCP server handle the spoken reply, the screen and the purchase together.
What we learned
This was my first time building with MCP Apps and Agent Skills, and they fit Alexa+ really well. I also learned that a good voice assistant asks fewer questions. When it already remembers your home, the conversation gets much shorter.
What's next for HomeKeeper for Alexa+
Right now the technician network, time slots and payments are simulated for the demo. The next step is connecting to a real service partner's API for bookings and UPI payments. After that, I'd like to add Hindi and Gujarati voice support, let people send a photo of an error code or a leak for diagnosis, and support more than one home, so you can look after your parents' appliances in another city.
Built With
- agent-skills
- alexa
- amazon-bedrock
- anthropic-claude
- css3
- express.js
- gemini
- gpt-oss
- groq
- html5
- javascript
- json
- mcp-apps
- model-context-protocol
- node.js
- ollama
- web-speech-api
- zod
Log in or sign up for Devpost to join the conversation.