{"ok":true,"site":{"host":"hearthkeeper.vercel.app","url":"https://hearthkeeper.vercel.app/","type":"live","desc":"One care plan for an aging parent, shared by the family and editable by AI agents through WebMCP. Mom talks to her agent; the family sees the plan update.","tools":[{"name":"get_care_plan","kind":"answer","impl":"imperative","description":"Read the whole care plan: who is being cared for, family members, medications with today's taken doses, upcoming appointments, family tasks, recent symptoms and the family feed. Always call this before changing anything.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"log_symptom","kind":"act","impl":"imperative","description":"Record a symptom or how the person is feeling in the symptom journal. Severity 1 (mild) to 5 (severe).","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"What was reported, in the person's words where possible."},"severity":{"type":"integer","minimum":1,"maximum":5}},"required":["text","severity"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_interactions","kind":"answer","impl":"imperative","description":"Check the active medications (or a given list) against a reference table of known interactions and common side effects. Returns plain-language findings. Not a diagnosis; use it to decide whether to involve a pharmacist or prescriber.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"medications":{"type":"array","items":{"type":"string"},"description":"Optional list of medication names. Defaults to all active medications."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_medication","kind":"act","impl":"imperative","description":"Add a medication to the plan with its dose and the times of day it is taken (24h HH:MM).","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"dose":{"type":"string","description":"e.g. '5 mg'"},"times":{"type":"array","items":{"type":"string"},"description":"Times of day, e.g. ['08:00','20:00']"},"notes":{"type":"string"}},"required":["name","dose","times"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_medication","kind":"act","impl":"imperative","description":"Change a medication's schedule times, notes, or active flag. Never change a dose on your own initiative; dose changes must come from the prescriber (you may record one the user reports).","inputSchema":{"type":"object","properties":{"medication":{"type":"string","description":"Medication id or name."},"times":{"type":"array","items":{"type":"string"},"description":"New times of day (24h HH:MM)."},"dose":{"type":"string"},"notes":{"type":"string","description":"Note shown on the medication card, e.g. 'Take at bedtime; watch for dizziness'."},"active":{"type":"boolean"}},"required":["medication"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"mark_dose_taken","kind":"act","impl":"imperative","description":"Tick off a dose as taken today. If no time is given, the next untaken slot is used.","inputSchema":{"type":"object","properties":{"medication":{"type":"string"},"time":{"type":"string","description":"HH:MM slot, optional."}},"required":["medication"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_appointment","kind":"transact","impl":"imperative","description":"Schedule an appointment or a call (doctor, pharmacist, physio, lab).","inputSchema":{"type":"object","properties":{"title":{"type":"string"},"date":{"type":"string","description":"YYYY-MM-DD"},"time":{"type":"string","description":"HH:MM (24h)"},"with":{"type":"string","description":"Who it is with."},"location":{"type":"string","description":"Place, or 'Phone'."},"notes":{"type":"string"}},"required":["title","date","time"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reschedule_appointment","kind":"transact","impl":"imperative","description":"Move an existing appointment to a new date and/or time.","inputSchema":{"type":"object","properties":{"appointment":{"type":"string","description":"Appointment id or title."},"date":{"type":"string"},"time":{"type":"string"}},"required":["appointment","date"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"cancel_appointment","kind":"transact","impl":"imperative","description":"Cancel an appointment.","annotations":{"destructiveHint":true},"inputSchema":{"type":"object","properties":{"appointment":{"type":"string"}},"required":["appointment"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"assign_task","kind":"act","impl":"imperative","description":"Give a family member a task on a date (e.g. 'Check Mom's blood pressure tonight' → alex, today).","inputSchema":{"type":"object","properties":{"title":{"type":"string"},"assignee":{"type":"string","enum":["mom","alex","sam"],"description":"Family member id: mom (Margaret), alex (daughter), sam (son)."},"date":{"type":"string","description":"YYYY-MM-DD"}},"required":["title","assignee","date"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"complete_task","kind":"act","impl":"imperative","description":"Mark a family task as done.","inputSchema":{"type":"object","properties":{"task":{"type":"string","description":"Task id or title."}},"required":["task"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"notify_family","kind":"transact","impl":"imperative","description":"Post an update to the family feed and send it to family members' phones. Use urgency 'urgent' only for things that need attention today.","inputSchema":{"type":"object","properties":{"message":{"type":"string"},"urgency":{"type":"string","enum":["low","normal","urgent"]},"to":{"type":"array","items":{"type":"string","enum":["mom","alex","sam"],"description":"Family member id: mom (Margaret), alex (daughter), sam (son)."},"description":"Who to send to. Defaults to everyone except the person who reported."}},"required":["message"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/hearthkeeper.vercel.app.ico","apiSurface":"spec","toolCount":12}}