Inspiration

Modern family evenings are chaotic and fragmented across isolated apps: parents check schedules, kids demand TV shows, delivery couriers ring the doorbell, snacks need to be ordered, and elderly grandparents need caretaking check-ins. We wanted to build an agentic experience where a single, natural sentence—"movie night with kids"—coordinates the entire evening across smart home devices, media, commerce, and family caretaking without touching a phone.

What it does

EKAM orchestrates household evening routines through a multi-tool agentic loop backed by an open Model Context Protocol (MCP) server. Saying "movie night with kids" triggers 6 coordinated actions simultaneously:

  1. Calendar Check (get_calendar)**: Verifies evening family schedules and homework deadlines.
  2. TV Control (tv_control): Turns on the living-room TV, launches family streaming, and locks **Kids Mode ON to family-safe titles (Bluey, Encanto).
  3. Front-Door Camera (door_status): Checks the smart porch camera for visitors or package deliveries.
  4. Living-Room Scene (scene_control): Dims ambient lighting to 20% for movie night.
  5. Safe Commerce Proposal (propose_order): Stages popcorn, samosas, and juice with a parental PIN confirmation gate—no money moves without explicit voice approval.
  6. Elderly Care Check-In (remind_grandma): Automatically schedules a morning video call with Grandma.

EKAM renders living-room-ready visual cards (Media Player, TV Mockup, Camera Viewport with scanlines, and Order Tracker) and speaks responses aloud using Amazon Polly Neural TTS.

How we built it

  • Agent Core & Reasoning (agent/agent.py): Built with a Strands-style agent loop. Integrated with Amazon Bedrock via boto3 bedrock-runtime supporting both Amazon Nova Micro and Anthropic Claude formats with multi-turn memory context.
  • MCP Server (mcp-server/server.py): A pure Python JSON-RPC 2.0 server adhering to the official MCP 2025-11-25 Streamable HTTP specification, exposing 11 smart home and commerce tools.
  • Voice & Speech (api/main.py): Powered by Amazon Polly neural text-to-speech engine (POST /api/speak) with voices like Joanna and Aditi.
  • Memory & Audit Trail: Multi-turn family dialog memory (agent/memory.json) and an append-only safety audit ledger (data/audit.jsonl).
  • Simulated TV UI (app/): High-performance, zero-build vanilla HTML5, CSS3, and JavaScript served via FastAPI.

Challenges we ran into

  • Graceful Fallback & Zero-Fail Guarantee: When running in sandbox hackathon environments without active AWS credentials or Bedrock model quota access, the agent needed to degrade seamlessly to deterministic local reasoning so judges never experience a crash.
  • Safe Purchasing Guardrails: Preventing accidental orders by children required separating tool execution into a two-phase commit: propose_order stages the cart, and confirm_order requires a parent voice PIN.

Accomplishments that we're proud of

  • 11 Real MCP Tools: Clean separation of protocol and business logic following the official MCP 2025-11-25 specification.
  • Zero Build Step: Pure Python 3.9 + vanilla web standards that launch instantly anywhere with zero npm or webpack dependencies.
  • Family-Centric Safety: Multi-turn persistent memory, kid-safe shields, and elderly check-ins running entirely on a serverless architecture.

What we learned

Building with Model Context Protocol (MCP) demonstrated how standardized tool interfaces make AI agent tool dispatching modular and future-proof. Integrating Amazon Bedrock showed how lightweight models like Nova Micro can polish conversational replies while keeping latency minimal.

What's next for EKAM

  • Integrating live IoT hardware protocols (Matter / Zigbee).
  • Voice biometrics to automatically distinguish parental approval from children's requests.
  • Real-time video stream analysis from front-door cameras via AWS Rekognition.

Built With

Share this project:

Updates

Submission history