Inspiration

Tens of millions of older adults live on their own. For many of them, a smartphone is a wall of tiny text and menus — but talking is effortless. And far away, an adult child checks their phone a dozen times a day, wondering: did Mom take her pills? Is she okay? We wanted to give the Alexa already sitting in that living room a caregiving purpose — and quietly close the loop with the family who worries from a distance.

What it does

Kin turns Alexa+ into a gentle caregiving companion. By voice, an aging parent can:

  • check which medications are due and log the ones they've taken
  • do a daily wellbeing check-in ("my knee is a 7 today")
  • hear their appointments
  • send a message to family
  • and get help immediately in an emergency

The quiet magic is the family loop: when something matters — a critical medication skipped, a hard day, or a fall — Kin reaches out to the family contact on its own. Loved ones stop guessing and simply know.

How we built it

Kin is a self-hosted MCP server over Streamable HTTP (MCP spec 2025-11-25+; this build negotiates 2026-07-28), written in Python with the mcp SDK. It exposes seven tools spanning a caregiving day. Every tool returns a speech field written to be spoken aloud, plus structured data. Domain rules — "a skipped critical dose notifies family," "pain ≥ 7 raises a gentle flag" — live in a tested repository layer over SQLite. A simulated Alexa+ web client (itself an MCP client of the same server) drives the demo, with a split screen showing the living-room device and the family's phone lighting up live.

For intent planning — deciding which tool a spoken request maps to, exactly as Alexa+ does — Kin uses Amazon Bedrock (Converse API). The MCP server's live tool list is converted into Bedrock tool-use specs, and Bedrock routes each request; it falls back to transparent rules when no credentials are present.

Challenges we ran into

The Python MCP SDK had recently moved to 2.x: FastMCP became MCPServer, the client helper was renamed, and structuredContent became structured_content with a silent fallback that masked the bug for a while. We kept a full, reproducible friction log (in the repo), each entry with a suggested fix.

Accomplishments that we're proud of

A complete, coherent experience that a non-technical 78-year-old could actually use — with a genuine safety payoff in the family loop, not a demo of disconnected features. Nine passing tests, a deterministic demo via a pinnable clock, and a spec-compliant MCP server proven end to end over Streamable HTTP.

What we learned

How Alexa+ consumes MCP, how the Streamable HTTP transport handles sessions and protocol negotiation, and how much of a real caregiving experience can be expressed cleanly as a small set of well-designed, speakable tools.

What's next for KIN

Real notification delivery (Amazon SNS / push) at the existing record_notification seam, medication-adherence trends over time, and promoting Amazon Bedrock from the planning layer to richer, memory-aware caregiving dialogue.

Built With

Share this project:

Updates

Submission history