Porchlight MCP Server
Uses Amazon services for intelligence: Amazon Bedrock (Converse API) vision models for the porch check and text models for the evening note, plus the Strands Agents SDK for the 'Ask Porchlight' agent, and Alexa+ as the voice host for check-ins, status questions, and 'I'm handling it' acknowledgements.
Wraps the Ring Partner API and its devices (doorbells, cameras, chimes, contact/temperature sensors). Provides tools to discover devices and capabilities, query 28 days of event history to learn a daily routine, receive webhooks (motion, button press, contact, temperature, device offline), download and privacy-mask snapshots, play chimes, and open WebRTC live-view sessions for a family member.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Porchlight MCP ServerIs Mom up and about today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Porchlight
Ring tells you when something happens. Porchlight notices when something doesn't.
Porchlight is a caregiving app for the Ring Appstore. It uses the Ring devices already at an older parent's home (a doorbell, an indoor camera's motion events, a door sensor, a chime) to learn the shape of their ordinary day. When a day looks wrong, it checks in gently: first with the parent, then with family. The triggers are a quiet morning, an unanswered doorbell, a pharmacy box left in the heat, or the front door opening at 3 AM.
Ring's own Appstore lists "Elderly care monitoring" as a category it is waiting for. Porchlight is built to be that app.

Why
More than a quarter of Americans over 65 live alone (ACL, Profile of Older Americans), and about one in four older adults falls each year (CDC). The family's real question is rarely "what happened at the door?" It is "is Mom up and about today?" Security cameras answer the first question. Nothing in the home answers the second without wearables, new hardware, or a camera pointed at the person.
Porchlight answers it with hardware the family already owns, and without looking inside the home.
Related MCP server: Daybreak
What it does
Check-in | How Porchlight notices | First response |
Quiet morning | No sign of life by the check-in time it learned from 4 weeks of Ring event history (the latest usual start plus 45 min) | Good-morning chime + "I'm OK" prompt for the parent |
Unusually quiet | Active earlier, then silent far longer than a normal quiet stretch for this person | Same, gentle |
Doorbell not answered | The scheduled aide rang and nobody opened the door within 4 minutes | Urgent: daughter alerted at once |
Package still outside | Ring's own | Reminder chime + "I brought it in" button |
Front door at night | Door sensor opens during quiet hours | Urgent: alert with an infrared snapshot |
Home too hot / cold, water, CO | Ring sensor threshold webhooks | Nudge, then family (CO alerts carry a "this is not a CO alarm" caveat) |
Camera offline |
| Tells the family Porchlight is blind, instead of silently failing |
The escalation ladder. The parent always gets the first chance, by chime and screen, or by voice through Alexa+. Then comes a text. Only then is the primary caregiver alerted, and after that the rest of the circle. One tap of "I'm on it" stops everyone else being woken up. When it resolves, everyone who was told gets an "All clear". No one else is bothered if the parent simply answers.
flowchart LR
A[Ring events<br/>webhooks + Event History] --> B{Porchlight rules<br/>learned rhythm}
B -- day looks normal --> Z[stay quiet]
B -- gentle --> C[Chime + I'm OK prompt<br/>for the parent]
C -- no answer 15 min --> D[Text the parent]
D -- no answer 15 min --> E[Alert daughter]
E -- no ack 30 min --> F[Alert son + neighbor]
B -- urgent --> E
C & D & E & F -- any sign of life --> G[Resolve + All clear]How it uses the Ring Partner API
Everything goes through ring-partner-kit, a typed, zero-dependency client I wrote for this project and released separately as open source at pswapnajit/ring-partner-kit.
Ring API | What Porchlight does with it |
| Discovery in one round trip. Roles are proposed from capabilities (Ring has no device-type field), and chimes are detected by |
| Learns the routine from 28 days of history. In live mode with the Developer Playground (no webhooks), it is also the event feed |
Webhooks: | Real-time signals. HMAC-SHA256 is verified over the raw bytes, deduplicated on |
| Porch checks and night snapshots. Privacy zones from |
| Good-morning and reminder chimes in the home, gated on online, snooze and enabled slot, and never retried |
| Skips vision on encrypted cameras and asks a person instead |
| "Live view" button for the family, over WebRTC (live mode) |
Ring's computer-vision guidelines recommend a tiered funnel. Porchlight follows it: Ring's free sub_type classification is stage 0, and the expensive model runs once per decision, never per motion event.
Privacy and dignity by design
Nothing inside the home is ever viewed. Indoor cameras contribute only "there was movement at 7:41".
Snapshots are taken only when a decision depends on one, only from the front door, and with Ring privacy zones masked before anything else happens. Only the masked, downscaled image is kept.
The parent comes first. Every gentle check-in starts with them, and their home screen says plainly what the family can and cannot see.
Who gets told, and when, never depends on a model. The rules and ladder are deterministic and tested. AI only writes the evening note, answers questions and looks at the porch; anything uncertain (
"unsure"or confidence below 0.6) becomes "ask a person", never a guess.Granular alerts: each family member chooses which check-ins reach them (opt down, not just out). Quiet hours silence the chime.
One-click delete all data (Ring UX guide requirement).
Run it
Requires Node.js 22.18 or newer. No keys are needed for the simulated demo.
npm install
npm run demo # simulated Ring account with 4 weeks of history -> http://localhost:4000
npm test # 40 tests: SDK, engine, end-to-end scenarios, MCPThe Behind the scenes tab plays scripted days: an ordinary day, a quiet morning, a package in the heat, the door opening at 2:48 AM, and an aide who can't get in. Events reach Porchlight as signed webhooks and Ring API calls, exactly as they would from devices.
Live Ring API (Developer Playground, no device needed): put a Playground token in .env as RING_ACCESS_TOKEN, then run:
npm run probe # checks the token: devices, history, a snapshot
npm start # Porchlight against api.amazonvision.comSimulate Package, Vehicle or Motion events in the Playground and watch Porchlight react.
Amazon Bedrock: add AWS_BEARER_TOKEN_BEDROCK (a Bedrock API key) to .env. The vision check, evening note and "Ask Porchlight" then use Bedrock. Without it they fall back to clearly labeled offline behavior.
Built with AWS
Amazon Bedrock (Converse API): image + text input to a vision model (default
amazon.nova-lite) for the porch check, with a strict JSON contract and confidence guardrail. A text model (defaultamazon.nova-pro) writes the evening note from structured facts only.Strands Agents SDK (TypeScript): "Ask Porchlight" is a Strands agent on Bedrock with six tools over Porchlight's records and the live Ring camera (
get_day_summary,get_open_checkins,get_recent_activity,get_usual_routine,check_porch_now,get_devices).
Alexa+
/mcp is a self-hosted MCP server (Streamable HTTP, protocol 2025-11-25) built with the official SDK. A daughter can say "Alexa, ask Porchlight how Mom's doing", "…check on Mom" or "…I'm handling it". The parent can answer a check-in by voice with "Alexa, tell Porchlight I'm OK", which matters for anyone who finds a touchscreen hard. Status tools link an MCP Apps card (ui://porchlight/status-card.html). The Alexa+ tab is a simulated host that is a real MCP client and shows the JSON-RPC traffic.
Project layout
packages/ring-partner-kit/ MIT SDK: client, webhooks, sensors, chime, PNG + privacy masking, simulator
apps/porchlight/src/
engine/ signals, rhythm learning, rules, escalation ladder (deterministic)
ring/ Event History backfill + polling
ai/ Bedrock vision, evening note, Strands agent
mcp.ts Alexa+ MCP server
app.ts wiring: Ring actions, snapshots, runtime
demo/ the demo household and scripted days
apps/porchlight/web/ family dashboard, parent's screen, Alexa+ host, control room
submission/ Devpost text, video script, product feedback and friction logHonest limitations
Ring sensors and chimes are in Early Access (dynamic scopes), and the Developer Playground provides cameras. Sensor and chime behavior is built to the documented contract and exercised against the included simulator, not real sensors.
Texts to the parent and family alerts are shown in the app (plus optional real push via ntfy.sh). SMS and voice calls would come next.
Porchlight is not an emergency service or a medical device. It notices absence and asks people to check.
MIT licensed. Made by Swapnajit Patra for the Amazon Developer Hackathon "Build, Ship, Shape" (October 2026).
This server cannot be deployed
Maintenance
Related MCP Connectors
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
Schedule real phone-call reminders with WhatsApp follow-up — medication, wake-ups, family check-ins.
JooVoice lets your AI assistant make real phone calls for you through MCP. Ask it to book a table or appointment, change a reservation, cancel a subscription, request a refund, or check stock and opening hours. Get the outcome back in your chat, with the call recording and transcript. You choose when calls need your approval. Personal calls, such as birthday wishes or family check-ins, use a recipient consent link. Learn more at https://joovoice.com.
Human-input bridge for AI agents with voice-first answer links, MCP tools, and HTTP APIs.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables agentic voice assistants to run daily check-ins for someone living alone, capturing wellbeing, medication, and appointments, while keeping family informed via summaries and escalating when needed.MIT
- AlicenseNot gradedqualityBmaintenanceEnables voice-driven morning check-ins for older adults living alone through Alexa+, capturing sleep, mood and pain, logging medication doses and appointments, and answering medication questions from official FDA labels. Keeps family members informed with household status updates and automatic alerts when a check-in or dose is missed.5 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables older adults and family carers to coordinate daily elder-care by voice, including checking schedules, logging medications, setting reminders, and reviewing visit notes through Alexa+.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables an older adult to talk with Alexa+ about medicines and daily routine while a caregiver sees a calm, consent-gated dashboard and push alerts only when a genuine pattern (e.g. an unusually late first activity) appears. Includes elicitation-based consent, emergency bypass, resumable SSE streams, and an inline MCP App view.MIT