Add a contact to the address book. Only firstName is required; address, date of birth, notes and the birthday-present flag can follow via update_contact.
ParametersemailnotesphoneaddresslastNamefirstNamerequireddateOfBirthdisplayNameprepareBirthdayPresent
Update a contact by id. Only the fields supplied are changed; omitted fields keep their current value (dateOfBirth is the exception: an empty string explicitly clears it).
ParametersidrequiredemailnotesphoneaddresslastNamefirstNamedateOfBirthdisplayNameprepareBirthdayPresent
Soft-delete a contact by id; it is marked deleted and no longer appears in list_contacts, but the underlying record is retained rather than permanently erased.
Parametersidrequired
List all contacts in the household. Takes no parameters; soft-deleted contacts are excluded.
Takes no parameters.
Create an appliance record for the household, tracking purchase date, warranty expiry, and optional references to previously created warranty/insurance documents.
ParametersnamerequiredbrandmodelnotespurchaseDateserialNumberwarrantyDocumentIdwarrantyExpiryDateinsuranceDocumentId
Update an appliance's details; omitted fields keep their current value. Rejects the update if the resulting warranty expiry date would fall before the purchase date.
ParametersidrequirednamebrandmodelnotespurchaseDateserialNumberwarrantyDocumentIdwarrantyExpiryDateinsuranceDocumentId
Soft-delete an appliance; it is hidden from list_appliances but not permanently erased.
Parametersidrequired
List the household's appliances with brand, model, serial number, purchase date and warranty expiry. Answers whether something is still under warranty.
Takes no parameters.
Creates a single, one-off calendar event on the household calendar. Timed events need startDateTime; all-day events need startDate (plus endDate for several days). Set reminders with reminderOffsetMinutes. For a repeating schedule use create_recurring_calendar_event instead.
ParametersnotestitlerequiredendDateisAllDayrequiredlocationtimezonestartDatedescriptionendDateTimestartDateTimereminderOffsetMinutes
Updates fields on an existing single calendar event; only the fields supplied are changed, all others keep their current value. Imported (subscription-sourced) events cannot be edited.
ParametersidrequirednotestitleendDateisAllDaylocationtimezonestartDatedescriptionendDateTimestartDateTimereminderOffsetMinutes
Soft-deletes a single calendar event by id. Events imported from a calendar subscription cannot be deleted here; unsubscribe from the source calendar instead. Events shared from a member's device calendar can only be removed by that member or the house owner.
Parametersidrequired
List one-off calendar events with their title, times, location and notes. Bound them with startDateFrom and startDateTo, or omit both for everything. An all-day event's end depends on its sourceEntityType. With no source, endDateTime is its LAST day (inclusive), or null for a single day. For 'deviceCalendar' and 'calendarSubscription' it is the day AFTER the last day (exclusive). For 'RecurringCalendarEvent' the event covers endDateTime minus startDateTime in whole days, rounded up (a single day when null). Read a 00:00Z value as its UTC date; read any other all-day value in the event's timezone when it has one.
ParametersstartDateTostartDateFrom
Store a document (passport, insurance, certificate, warranty, license, other) with its reference number, issuing authority, fee and notes. Optionally file it against a pet, vehicle or appliance with linkedEntityType and linkedEntityId. Returns the new id, which an appliance, vehicle or pet can link to.
ParametersfeenotestitledocumentTyperequireddocumentNumberlinkedEntityIdissuingAuthoritylinkedEntityTyperenewalCronExpression
Update a stored document's type, title, reference number, issuing authority, fee, notes or linked pet, vehicle or appliance, returning the updated document. Only the fields you send change. renewalCronExpression is the one exception: it is accepted but not yet stored or acted on, so sending it changes nothing.
ParametersidrequiredfeenotestitledocumentTypedocumentNumberlinkedEntityIdissuingAuthoritylinkedEntityTyperenewalCronExpression
Soft-delete a document by id and cascade soft-delete its attachments; none of them appear in listings afterward, but the records are retained rather than permanently erased.
Parametersidrequired
List documents in the household, optionally filtered to a single document type. Soft-deleted documents are excluded.
ParametersdocumentType
Add a pet, optionally with its microchip number and date of birth, and links to an existing contact as vet and document as insurance. Returns the new pet's id.
ParametersnamerequirednotesdateOfBirthvetContactIdmicrochipNumberinsuranceDocumentId
Update a pet's name, microchip number, date of birth, notes, or its linked vet contact and insurance document. Only the fields you send change.
ParametersidrequirednamenotesdateOfBirthvetContactIdmicrochipNumberinsuranceDocumentId
Soft-delete a pet; it is hidden from list_pets but not permanently erased.
Parametersidrequired
List the household's pets with microchip number, date of birth, notes and their linked vet contact and insurance document.
Takes no parameters.
Track a bill such as a streaming service or membership, with an optional fee and cron renewal schedule (no more often than daily). A bill with no renewal schedule is a one-off. Set paymentDate only when the money leaves the account on a different day from the renewal.
ParametersfeenamerequirednotesstatusrequiredremindMestartDatepaymentDaterenewalCronExpression
Update a subscription. Only the fields you send change; for renewalCronExpression, startDate, paymentDate and notes an empty string clears the stored value.
ParametersidrequiredfeenamenotesstatusremindMestartDatepaymentDaterenewalCronExpression
Soft-delete a subscription so it leaves list_subscriptions; the record is retained. Use it when the user cancels a service.
Parametersidrequired
List tracked subscriptions with their fee, renewal schedule, payment date and status. A subscription with no renewal schedule is a one-off. startDate is the renewal date: the first renewal of a recurring bill, or when a one-off is due; paymentDate, when set, is the first day money leaves the account and repeats on the renewal cadence. Pass status to filter to one.
Parametersstatus
Create a vehicle record for the household to track its details, registration and VIN, insurance document, and upcoming MOT/tax/service due dates. All fields are optional.
ParametersvinmakeyearmodelnotescolourmotDueDatetaxDueDateregistrationserviceDueDateinsuranceDocumentId
Update a vehicle. Only the fields you send change; for text and due-date fields an empty string clears the stored value.
ParametersidrequiredvinmakeyearmodelnotescolourmotDueDatetaxDueDateregistrationserviceDueDateinsuranceDocumentId
Soft-delete a vehicle so it leaves list_vehicles; the record is retained. Use it when the household sells a car.
Parametersidrequired
List the household's vehicles with make, model, year, registration, VIN and MOT, tax and service due dates. Answers questions like when the MOT is due.
Takes no parameters.
Creates a new household task. Only title is required; the task starts unassigned and uncompleted. Set reminders with reminderOffsetMinutes. Use assign_task, update_task, or complete_task to change it afterward.
ParametersnotestitlerequireddueDateisUrgentpreparationDateassignedToMemberIdreminderOffsetMinutes
Update a task's title, assignee, due date, reminders, notes or urgency. Only the fields you send change.
ParametersidrequirednotestitledueDateisUrgentpreparationDateassignedToMemberIdreminderOffsetMinutes
Soft-delete a task. It leaves list_tasks but the record is retained. Fails if it was already deleted.
Parametersidrequired
Marks a task as completed. Fails with a conflict if the task is already completed.
Parametersidrequired
Reopens a completed task, clearing its completion timestamp and completed-by user. Fails with a conflict if the task is not currently completed.
Parametersidrequired
Assign or unassign a task to a household member.
ParametersidrequiredassignedToMemberId
List tasks, filterable by assignee, due-date range and completion, with cursor pagination. Excludes completed tasks by default and sorts open urgent tasks first (within the returned page), then due date ascending (undated first).
ParameterslimitcursordueDateOnOrAfterincludeCompleteddueDateOnOrBeforeassignedToMemberId
Return a one-to-five day forecast for the household's location, for planning outdoor tasks or events.
ParametersforecastDays
Return the current household in full: name, address, invite code, notes, join settings, members, subscription status and resolved feature flags.
Takes no parameters.
List the household's members with id, userId, first and last name, nickname and role. Use a member's id as assignedToMemberId in create_task and assign_task.
Takes no parameters.
List the households the current user belongs to (e.g. to tell the user which home you are acting on). The active house is determined server-side from the authenticated session.
Takes no parameters.
Return the signed-in user's profile: name, email, AI-consent status and timezone. Also bumps their last-seen activity as a side effect.
Takes no parameters.
List the household's named shopping lists with their id, name, whether they are the default list, and how many live items each holds. Use this to resolve a shoppingListId for the shopping list item tools.
Takes no parameters.
List outstanding (unbought) shopping list items with their name, quantity, category and shoppingListId. Pass shoppingListId to limit it to one named list.
ParametersshoppingListId
Add one item to the shopping list. A new item gets a category from its name; if an unbought item of the same name exists, its quantity is increased instead of duplicating it.
ParametersnamerequiredcategoryquantityshoppingListId
Mark units of a shopping list item as bought, reducing its quantity by quantityToBuy and clearing it off the list once nothing is left.
ParametersidrequiredquantityToBuy
Return this week's pending House Review recommendations: data gaps like a missing appliance warranty or vehicle MOT date. Re-validated live, so items already filled in, actioned or covered by an open task are dropped. Pro-gated.
Takes no parameters.
Defer a House Review recommendation and raise a task due in seven days, for when the user wants to handle the gap later.
ParametersrecommendationIdrequired
Permanently suppress a House Review recommendation so get_house_review stops returning it. Use it when the suggestion does not apply.
ParametersrecommendationIdrequired
Store a long-term memory about the household. Use sparingly for durable preferences, routines, constraints, or insights worth recalling in a future conversation. Recall first to avoid duplicates.
Parametersnamerequiredtyperequiredcontentrequireddescriptionrequired
Update an existing memory's name, description, or content. Type is immutable; to reclassify, forget and store again.
Parametersidrequirednamecontentdescription
Forget (soft-delete) a memory by id. Use when a memory is superseded or no longer relevant.
Parametersidrequired
Recall long-term memories stored about the current household. Call this at the start of advisory or open-ended turns. Filter by type when only one author's notes are relevant.
Parameterstypelimitcursor
create_calendar_subscription
Subscribe the household to an external calendar feed (an .ics link, e.g. a school, club or bin collection calendar) so its events appear in the household calendar and stay in sync. Only subscribe to a feed link the user typed themselves in this conversation. Only the house owner can do this; a house can have up to 5 feeds. The feed is checked before it is saved; its events appear after the feed's next refresh, which can take a few hours.
ParametersnamerequiredfeedUrlrequired
Plan a meal for a specific date and meal type. Provide recipeId to link an existing recipe (from list_recipes) OR name for a custom meal; when recipeId is given any name is ignored and stored as null.
ParametersdaterequirednamenotesmealTyperequiredrecipeIdservingsrecipeSource
Update a planned meal. Only the fields you send change. recipeId links a recipe and clears any custom name; name makes it custom and clears the link; recipeId wins if both are sent.
ParametersidrequireddatenamenotesmealTyperecipeIdservingsrecipeSource
Soft-delete a planned meal. The entry leaves list_meal_plans and frees its date and meal slot again.
Parametersidrequired
List planned meals with their date, meal slot, linked recipe or custom name, servings and notes. Narrow with from and to.
Parameterstofrom
Save a recipe with optional ingredients, source URL, instructions and servings. Link it to a date with create_meal_plan.
Parametersurlnamerequiredservingsingredientsinstructions
Update a recipe. Only the fields you send change, except ingredients, which replaces the whole existing list rather than merging.
Parametersidrequiredurlnameservingsingredientsinstructions
Soft-delete a recipe. Meal plan entries linked to it become custom entries holding a snapshot of its name, ingredients and instructions, so none are left with a dangling link.
Parametersidrequired
List the household's own saved recipes with ingredients, instructions, source URL and servings. For the shared catalogue use list_global_recipes.
Takes no parameters.
List the curated Discover recipe catalogue shared by all households. Pass an id from here to create_meal_plan with recipeSource='global'.
Takes no parameters.
batch_add_shopping_list_items
Add up to 25 shopping list items at once, for a whole shop. Names are deduplicated within the batch and merged into any matching unbought item already listed.
ParametersitemsrequiredshoppingListId
update_shopping_list_item
Update a shopping list item's name, quantity, and/or category. Only the fields provided are changed; any field left out keeps its current value.
ParametersidrequirednamecategoryquantityshoppingListId
remove_shopping_list_item
Remove an item from the household's shopping list without marking it as bought. This soft-deletes the item so it no longer appears in list_shopping_list_items.
Parametersidrequired
Create a new named shopping list for the household (e.g. 'DIY' or 'Party') alongside the default list. A house can have up to 20 lists. Returns the list id to pass as shoppingListId when adding items.
Parametersnamerequired
Rename one of the household's shopping lists, including the default list. The items on it are unchanged.
Parametersidrequirednamerequired
Delete one of the household's named shopping lists. Its items move to the default list rather than being deleted. The default list itself cannot be deleted.
Parametersidrequired
create_recurring_calendar_event
Create a recurring calendar event. It generates event instances on a schedule, each with the reminders set in reminderOffsetMinutes.
ParametersnotestitlerequiredendDatedurationisAllDaylocationtimezonestartDatestartTimedescriptioncronExpressionrequiredmaxOccurrences+1 more
update_recurring_calendar_event
Update a recurring calendar event. Changes to title/description/notes/reminders patch existing instances. Changes to frequency/dates/time regenerate future instances.
ParametersidrequirednotestitleendDatedurationisAllDaylocationtimezonestartDatestartTimedescriptioncronExpression+2 more
delete_recurring_calendar_event
Delete a recurring calendar event and all its future instances.
Parametersidrequired
list_recurring_calendar_events
List the household's repeating calendar events (the series, not their generated instances) with their id, title, interval ('N Unit'), local start time, duration, dates, timezone and reminders. Use it to find the id for update_recurring_calendar_event or delete_recurring_calendar_event.
Takes no parameters.
Create a recurring task. It generates task instances on a schedule, each with the reminders set in reminderOffsetMinutes.
ParametersnotestitlerequiredendDateisUrgentstartDatecronExpressionrequiredmaxOccurrencespreparationDaysassigneeRotationreminderOffsetMinutes
Update a recurring task. Title, notes, urgency or reminder changes patch existing instances; frequency/date changes regenerate future instances.
ParametersidrequirednotestitleendDateisUrgentstartDatecronExpressionmaxOccurrencespreparationDaysassigneeRotationreminderOffsetMinutes
Delete a recurring task and all its uncompleted future instances.
Parametersidrequired
List the household's repeating tasks (the series, not their generated instances) with their id, title, interval ('N Unit'), dates, rotation and reminders. Use it to find the id for update_recurring_task or delete_recurring_task, e.g. to stop or change a weekly chore.
Takes no parameters.
List the ready-made task packs the household can add (e.g. moving house, a new baby, car maintenance): each pack's id, title, description and items (id, kind, title, whether it is selected by default, days before the anchor date, repeat interval). Packs for a vehicle, appliance or pet list the owned items they can be linked to (entities) with a suggested anchor date. Use it before apply_task_pack.
Takes no parameters.
Add a task pack from list_task_packs to the household: creates its tasks, repeating tasks and events, dated from the anchor date. The pack's titles are English: when the user is not writing in English, pass their titles (and notes) translated in overrides. Returns how many of each were created.
ParameterspackIdrequireditemIdsentityIdtimezoneoverridesanchorDate