add_entity
ChatGPTAdd a new entity to a home's registry. Call get_archetype first to know what attributes to set, and search_registry to avoid duplicates.
archive_entity
ChatGPTArchive an entity so it is hidden from listings. Fully reversible via restore_entity, so no user confirmation is needed — apply it directly when asked to remove or archive something. There is no permanent-delete tool (that requires user action in the app). Optionally set dry_run=true to preview impact (e.g. which entities reference it) without changing anything.
complete_task
ChatGPTMark a task done. Only call when the user has confirmed, in the past tense, that the work is finished. Recurring tasks roll their due date forward.
create_task
ChatGPTCreate a maintenance task. Use cadence_days for fixed-interval recurrence, seasonal_windows for season-driven tasks, or next_due_on for a one-off date. cadence_days and seasonal_windows are mutually exclusive. Omit entity_id for a home-wide task.
dismiss_task
ChatGPTSoft-delete a task (status becomes 'dismissed'; recoverable). Use when the user wants the task gone from active view.
get_archetype
ChatGPTGet the valid fields for an archetype. Call before add_entity or update_entity to know what attributes exist.
get_document_link
ChatGPTGet a temporary, directly-fetchable image URL for a document, to embed in an <img> in a card or widget you build so the USER can see it. Different from read_document, which lets YOU (the model) see the image but returns no URL. Anyone with the link can view the image until it expires (~5 minutes) — if a link has expired, just request a fresh one. Image documents only.
get_documents
ChatGPTList a home's uploaded documents (manuals, receipts, photos). Use status='pending' to find uploads awaiting review. In hosts that support MCP Apps, results render as a photo gallery with thumbnails.
get_entities
ChatGPTFetch complete records for one or more entities — all fields, comments, timeline, and related entities. In hosts that support MCP Apps, results render as an interactive card grid.
import_document
ChatGPTImport a file from a URL into the home's document store — e.g. a product manual you found on the web.
list_entities
ChatGPTList a home's registry entities, optionally filtered by category and/or archetype.
list_homes
ChatGPTList the homes this account can access. Returns each home's id — pass it as home_id to every other tool.
list_tasks
ChatGPTList a home's maintenance tasks. Filter by entity, status, kind, or a due-within window. Dismissed tasks are hidden unless status='dismissed'.
read_document
ChatGPTView an uploaded document as an image you can see (like a pasted photo). Use it to inspect a photo or read text off a manual/receipt. detail is a ladder: 'thumbnail' (small, fast) → 'medium' (larger, good enough to read most text) → 'full' (original resolution). Start small and step up only if you need more detail. Only image documents are viewable; PDFs are not supported yet.
read_entity_image
ChatGPTView a registry entity's stored display photo as an image you can see. Use it to visually inspect an item in the registry; use read_document for uploaded documents instead.
restore_entity
ChatGPTRestore a previously archived entity so it appears in listings again.
search_registry
ChatGPTFull-text search across a home's registry entities. Use to check whether something exists and to gather context before reading or writing.
set_documents_review_status
ChatGPTMark documents as 'actioned' or 'dismissed' so they no longer appear in pending reviews.
skip_task
ChatGPTSkip one cycle of a recurring task without recording a completion — 'not this month'. Rolls the due date forward; use complete_task instead if the work was actually done.
summarize_entities
ChatGPTCompact summary of a home's registry: total count, counts by archetype/category, and names. Cheaper than list_entities for orientation.
update_entity
ChatGPTUpdate an existing registry entity. Pass only the fields to change.
update_task
ChatGPTEdit fields on an existing task. Pass only the fields to change. When switching recurrence type, clear the unused fields (cadence_days=null or seasonal_windows=[]) so scheduling stays unambiguous.