## Inspiration
Millions of families look after an elderly parent from a distance. A son or daughter works in another city while Amma lives at home, and medicines have to be taken at different times of the day. It's easy to miss a tablet, and nobody notices until it becomes a real health problem, like high blood sugar or a spike in blood pressure.
I wanted something simple enough for an elderly person to use by just speaking, and transparent enough for the family to trust. Alexa+ is already in the living room, and MCP gives assistants a structured way to call tools. That led to "CareCue": peace of mind for families, by voice.
What it does
CareCue is a "self-hosted MCP server" that lets Alexa+ manage a person's medicine routine entirely by voice, while the family watches a "live caregiver dashboard".
- "Add Metformin for Amma in the morning" adds the medicine to her schedule.
- "Amma took her Metformin" logs the dose with a timestamp. Duplicates are ignored, so the same tablet can't be counted twice.
- "How is Amma doing today?" gives the family a short summary of what was taken and what is still pending.
CareCue exposes "eight MCP tools":
add medicationremove medicationtoday's schedulewhat's due nowmark takencaregiver summaryweekly adherencefamily update message
How I built it
- "MCP server (
server.py):" Each tool is a simple function marked with the MCP tool decorator. The server uses the "Streamable HTTP" transport and serves the caregiver web app alongside the MCP endpoint. - "Core logic (
carecue_core):" Scheduling, dose logging, duplicate protection, and adherence calculations live in a separate module with "no outside dependencies", so it is easy to read, test, and reuse. - "Caregiver dashboard:" A web app showing each person's schedule, taken and pending doses, and an adherence bar that updates live as voice commands come in.
- "Alexa+ simulator:" A web panel where you type or speak requests the way you would to Alexa. It replies in one short, speakable sentence and shows exactly which MCP tool was called.
- "Demo client:" A real MCP client that connects over MCP and calls the same tools, showing CareCue works with any MCP-compatible assistant.
- "Amazon Bedrock (optional):" When AWS is configured, Bedrock writes the family update message in warm, natural language. When it isn't, CareCue falls back to a plain summary, so the project works fully offline.
- "Testing:" Unit tests cover duplicate protection and adherence calculations, and I verified the server with the "MCP Inspector" over Streamable HTTP.
The project is open source under the "MIT license".
Challenges I ran into
- "Designing for voice:" Replies have to be one short sentence that is easy to hear, not a paragraph to read. I had to cut every response down to what a person actually needs to know.
- "Duplicate doses:" In real life a parent may say "I took it" twice, or two family members may both report it. I made dose logging idempotent so adherence numbers stay accurate.
- "Working with or without the cloud:" I wanted Bedrock to improve the family message without making AWS a requirement, so I built a graceful fallback.
- "Keeping the core simple:" Keeping the logic dependency-free meant writing small, focused functions, but it made testing and debugging much easier.
What I learned
- How the "Model Context Protocol" works: tool definitions, schemas, and the Streamable HTTP transport.
- How to test an MCP server with the "MCP Inspector" and a real client, not just a simulator.
- That good voice UX is about brevity, and that health-related tools need guardrails like duplicate protection.
- How to combine optional AWS services like Bedrock with a fully offline-capable design.
What's next
- Real reminders and "what's due now" prompts spoken proactively on Alexa+
- Support for multiple family members and multiple care recipients
- Alerts to caregivers when a dose is missed
- Regional-language voice support
"CareCue: peace of mind for families, by voice."
Built With
- alexa
- alexa-plus
- amazon-bedrock
- amazon-web-services
- css
- github
- html
- javascript
- mcp
- mcp-inspector
- mit-license
- model-context-protocol
- open-source
- python
- rest-api
- streamable-http
- vs-code
Log in or sign up for Devpost to join the conversation.