Inspiration
For families living apart from an aging parent, the hard part is often the quiet daily uncertainty. Did she take her tablets? Did he sleep? Is today a normal Tuesday, or the start of something? We built Tend because the people who took care of us deserve technology that takes care of them, and because voice is the one interface a 74-year-old already knows how to use.
What it does
Tend is a simulated Alexa+ care companion backed by a self-hosted MCP server (MCP spec 2025-11-25, Streamable HTTP). The typed web conversation records check-ins and scheduled medication reports, compares recorded routines, and updates a family dashboard.
Medication reports identify a scheduled dose. Repeating the same report does not create another dose; conflicting reports are refused. The displayed percentage is reported taken / tracked scheduled doses due. Unreported doses stay unknown, and schedule history before registration is not invented.
Rule-based dashboard alerts flag distinct missed dose reports, low mood on two recent days, or unusual recorded wake times. Automatic alerts are deduplicated per signal/day. These are prototype dashboard notes, not emergency dispatch or medical advice. The demo uses synthetic data. Automatic outbound check-ins, Alexa+ enrollment and real-family pilots remain future work.
Care actions use live MCP calls. Clarification replies can make no tool call. The demo is not a production care service.
How we built it
One TypeScript MCP server using @modelcontextprotocol/sdk over Streamable HTTP, SQLite for state, and a small rule-based care engine (transparent by design - care logic you can audit, not a black box). On top of it, a simulated Alexa+ experience: a conversation UI whose agent loop calls the MCP tools exactly the way an Alexa+ experience would, plus a family dashboard reading the same server. A scripted Playwright capture with TTS narration produced the demo video.
Challenges we ran into
- Stateless MCP over Streamable HTTP is easy to get wrong (one transport per request - see our friction log).
- There is no public way to hear how Alexa+ would phrase tool results, so we built the simulated experience to design against.
- Care logic must be conservative: an alert that cries wolf is worse than none, so thresholds required real thought.
Accomplishments that we're proud of
- A full, working, spec-current MCP server (protocol 2025-11-25 verified at negotiation) with ten tools and a smoke test.
- An end-to-end story a family can feel in three minutes: morning check-in, a missed dose handled with kindness, a lonely afternoon turning into a family alert.
- Care logic that is a handful of readable rules.
Assertion-based regression coverage for scheduled-dose idempotence, conflicting-report refusal, unreported dose accounting, schedule history, legacy-log preservation and alert deduplication, plus an assertion-based transport check of all ten tools.
The existing video remains a historical prototype demonstration, not evidence of the revised dose behavior. A new video is not included in this patch.
What we learned
MCP is a genuinely good contract for voice experiences: honest tool descriptions and structured output map directly to "things Alexa+ can do." The missing piece today is the last mile - a first-party way to preview and enroll MCP servers with Alexa+ (see product feedback).
What's next for Tend
Enrollment with Alexa+ once a public path exists; proactive outbound check-ins (Tend calls her); richer rhythm models (meals, calls, outings); and a pilot with real families.
Built With
- alexa+
- model-context-protocol
- node.js
- sqlite
- streamable-http
- typescript
- zod
Log in or sign up for Devpost to join the conversation.