WorksCode and developmentWork and collaboration
Dayze — Life Context
Life context for agents: get_context_pack + public notable packs. x402 + OAuth.
https://dayze.com/api/mcp/keyclaude mcp add --transport http life-context https://dayze.com/api/mcp/keyFor Cursor and other clients
{
"mcpServers": {
"life-context": {
"type": "http",
"url": "https://dayze.com/api/mcp/key"
}
}
}Watch out
Has tools that change things: 28 of them
The server itself marks these tools as deleting or overwriting data (destructiveHint): have the agent ask you before it calls them.
- Test
- Works: Handshake succeeded
- Tools
- 227 tools
- Handshake
- 1.9 s
- Transport
- streamable-http · 2025-06-18
- Tested
- 6 November 2026
- Registry name
com.dayze/life-contextv1.28.0- Listed
- 11 September 2026
- Updated
- 11 September 2026
- Website
- dayze.com
- Other addresses
https://dayze.com/api/mcp
The last 1 tests
| When | Result | Time |
|---|---|---|
| 2026-11-06 12:14 UTC | Handshake succeeded | 1.9 s |
The 227 tools it listed
"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.
add_inventory_itemAdd Inventory Item
Add an owned item to the user's private Inventory. For a computer, phone, camera or synth pass spec_template (computer.v1, phone.v1, camera.v1, synth.v1) and specs with that template's fields, taken from what the user says or the device reports; never infer specs from a model name. Changing facts (OS version, free space, battery, service readiness) go in state, one observation with observed_at. Never ask for or store device or account identifiers. Returns inventory_id and the item with capability_summary. Example: { name: "MacBook Pro 14 (2023)", spec_template: "computer.v1", specs: { manufacturer: "Apple", model_name: "MacBook Pro", model_identifier: "Mac15,11", chip: "Apple M3 Max", performance_cores: 10, efficiency_cores: 4, total_cores: 14, memory_bytes: 38654705664, memory: "36 GB", architecture: "arm64" }, state: { os: { name: "macOS", version: "15.4.1", build: "24E263" }, observed_at: "2026-09-29T14:00:00Z", source: "user_reported" } } ($0.10; API key required)
namecategorysubtypeitem_typesubtype_confidencebrandmodelreference_numberconditionstatuspurchase_dateacquired_datepurchase_priceestimated_valuecurrent_valuecurrencylocationnotestagsacquisition_typeacquired_fromspec_templatespecs_schema_versionspecsstateperson_idsrequest_ididempotency_keyadd_inventory_valuationAdd Inventory Valuation
Append a valuation (value, currency, valued_at, source) to one owned Inventory item; the item's current value becomes this value. ($0.10; API key required)
inventory_idvaluecurrencyvalued_atsourcenotesconfidencerequest_ididempotency_keyadd_people_to_listAdd People To Contact List
Add owned contacts to a contact list (list_id, or list_name as its name or slug). Returns added, already_member and not_found (ids that aren't the owner's contacts); a repeat adds nothing. create_if_missing=true creates a list named list_name first. Family follows relationships and is refused (code AUTO_SYNCED_LIST): set the relationship with update_person. undo_contact_change(change_id) removes the ones added. ($0.05; API key required)
list_idlist_nameperson_idscreate_if_missingrequest_ididempotency_keyadd_person_aliasAdd Person Alias
Add a nickname/payment handle/misspelling alias for one CRM person. ($0.05; API key required)
person_idaliasalias_kindsourcerequest_ididempotency_keyadd_subscriptionAdd Subscription
Add a subscription the user told you about. Records it only: Dayze never signs up with or pays the vendor. Dayze Pro. ($0.10; API key required)
vendoramountcurrencycadencelast_charge_datenext_renewal_datestatusrequest_ididempotency_keyadd_time_blockAdd Time Block
Add one time block to a day. The day's other blocks stay. ($0.10; API key required)
datecategorystart_timeend_timenoterequest_ididempotency_keyadd_to_watchlistAdd To Watch
Queue a film or show the user wants to see on their To Watch list. kind movie or tv; title (+ year when known). Already queued returns that entry. For something they watched, use log_movie_watch or log_tv_watch. ($0.10; API key required)
kindtitleyearnotesrequest_ididempotency_keyapply_event_fact_correctionApply Event Fact Correction
Correct or dispute an event fact from a saved answer. Inspect its source first. Supply request_id for safe retries. ($0.10; API key required)
message_idsource_refactionvaluerequest_ididempotency_keyarchive_assetChanges dataArchive Asset
Preview first, 30-day undo. Soft-delete an asset (sets archived_at). Original rows are preserved for versioning. Reviewed and reversible: first call preview_destructive_change({ tool: "archive_asset", arguments: { asset_id } }), which stores the exact change without applying it. After the user confirms, call archive_asset with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.05; API key required)
asset_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keyarchive_eventChanges dataarchive event
Reversibly archive one owned event; preserve linked data and return restore_id. Archived rows are never purged, so restore_event works for at least 30 days (the Dayze destructive-change restore window). Use a new request_id for each intended action. ($0; API key required)
event_idreasonrequest_ididempotency_keyarchive_expenseChanges dataarchive expense
Reversibly archive one owned expense; preserve linked data and return restore_id. Archived rows are never purged, so restore_expense works for at least 30 days (the Dayze destructive-change restore window). Use a new request_id for each intended action. ($0; API key required)
expense_idreasonrequest_ididempotency_keyarchive_inventory_itemChanges dataArchive Inventory Item
Preview first, 30-day undo. Archive an inventory item instead of deleting it (status archived, archived_at set; valuations, people links and photos are kept). Reviewed and reversible: first call preview_destructive_change({ tool: "archive_inventory_item", arguments: { inventory_id } }), which stores the exact change without applying it. After the user confirms, call archive_inventory_item with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
inventory_idreasonpreview_idrestore_window_acknowledgedrequest_ididempotency_keyarchive_tripChanges dataarchive trip
Reversibly archive one owned trip; preserve linked data and return restore_id. Archived rows are never purged, so restore_trip works for at least 30 days (the Dayze destructive-change restore window). Use a new request_id for each intended action. ($0; API key required)
trip_idreasonrequest_ididempotency_keyattach_assetAttach Asset
Attach an asset_id to one of your entities. An asset uploaded without an entity is attached as is; one already on an entity gets a linked copy (the original row stays). Roles: original | processed | thumbnail | cover | document | receipt | certificate | other (photo is stored as original). Legacy: pass url instead of asset_id. ($0.10; API key required)
asset_identity_typeentity_idroleasset_typeurlmetadatadescriptionrequest_ididempotency_keyattach_food_photoAttach Food Photo (Food Diary photo)
MUTATES one Food Diary row the authenticated user owns by storing a meal photo on it (same pipeline as the web diary upload). Required: food_id (UUID from log_food / search) plus exactly one of image_base64 (raw base64 or data: URL) or url (public https image). JPEG, PNG, WebP, GIF, HEIC, or AVIF under 8 MB. One photo per entry: calling again replaces photo_url (replaced/previous_photo_url report it). EXIF capture time moves consumed_at unless keep_consumed_at=true. Unknown or other-user food_id returns not_found and stores nothing. Response photo_url is re-read from the row. Syncs the mirrored calendar event and rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.15; API key required)
food_idimage_base64urlfilenamekeep_consumed_atrequest_ididempotency_keyaudit_peopleRead onlyAudit People (compact)
CONTEXT LAYER: server-side contact hygiene. Returns compact candidate clusters only (duplicates, entity-type hints, normalization, payment-handle collisions, junk system/test-word names). Do NOT use get_people bulk dumps for cleanup. ($0.10; API key required)
checksmin_confidencelimitbackfill_place_namesBackfill Place Names
Add human names to coord-only places/visits via Google nearby search + reverse geocode. Never overwrites existing names, coordinates, or user-entered fields. Idempotent; resumable via cursor under a per-account monthly Places quota. ($0.10; API key required)
cursorlimitdry_runrequest_ididempotency_keybulk_dismiss_clarificationsChanges dataBulk Dismiss Clarifications
Preview first, 30-day undo. Dismiss non-person / typed junk from the clarification queue. Reviewed and reversible: first call preview_destructive_change({ tool: "bulk_dismiss_clarifications", arguments: { entity_type?, reason? } }), which stores the exact change without applying it. After the user confirms, call bulk_dismiss_clarifications with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. The preview lists every clarification that would be dismissed; restore returns them to pending. ($0.05; API key required)
reasonentity_typepreview_idrestore_window_acknowledgedrequest_ididempotency_keyclassify_contactClassify Contact
Set entity_type (person/company/merchant/…) on a CRM row without losing transactions or links. ($0.10; API key required)
entity_idperson_identity_typeidentity_statusconfidencesourcerequest_ididempotency_keycleanup_applyChanges datacleanup apply
Atomically archive the exact reviewed preview. Requires preview_id, candidate_hash and request_id. Refuses changed sources. Returns per-row statuses and restore_id (restore_cleanup undoes it for at least 30 days); replay performs no additional actions. ($0; API key required)
preview_idcandidate_hashrequest_ididempotency_keycleanup_previewcleanup preview
Read-only account audit and durable archive plan for events, expenses or trips. Returns source hashes, linked records, field differences, rollback payloads and a review queue. Review the exact candidate set before cleanup_apply. Preview expires after 30 minutes. ($0; API key required)
familyrequest_ididempotency_keycommit_life_updateChanges dataCommit Life Update
Owner approve+commit via payload_hash + owner_session_id (flagged; off by default). Requires the propose_life_update review first. Commits append bitemporal revisions and keep prior revisions; there is no post-commit undo tool, so correct a committed fact with a new propose_life_update. ($0.10; API key required)
proposal_idpayload_hashowner_session_ididempotency_keyrequest_idcompare_livesRead onlyCompare Two Lives
Side-by-side notable packs for two slugs (life_in_days + day_number timelines). One call instead of two notable_pack. Example: elon-musk vs steve-jobs. ($0.08)
slug_aslug_bsimilarpeersdateconvert_contact_entityChanges dataConvert Contact Entity
Preview first, 30-day undo. Convert a contact’s entity_type (same as classify_contact). Preserves FKs. Reviewed and reversible: first call preview_destructive_change({ tool: "convert_contact_entity", arguments: { person_id, target_type } }), which stores the exact change without applying it. After the user confirms, call convert_contact_entity with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Restore reverts entity_type, identity_status and identity_confidence. ($0.10; API key required)
entity_idperson_idtarget_typepreview_idrestore_window_acknowledgedrequest_ididempotency_keycorrect_memory_atomChanges dataCorrect Memory Atom
Preview first, 30-day undo. Remove one exact false atom from a bundled memory, retaining the other text and clearing its stale embedding. Reviewed and reversible: first call preview_destructive_change({ tool: "correct_memory_atom", arguments: { memory_id, false_atom } }), which stores the exact change without applying it. After the user confirms, call correct_memory_atom with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
memory_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keycreate_conditionAdd Condition
Add a private condition for an explicit subject_type: self, or person plus an owned person_id from get_people/resolve_person. Never turn a family member's condition into self; if the person is unresolved, ask and write nothing. status defaults suspected—never infer active or confirmed from a mention. Keep the user's words; source defaults user_reported and confirmation_status reported. ($0.10; API key required)
subject_typeperson_idnamestatussymptomsbody_areastarted_ontracking_focustreatmentsnotessourceconfirmation_statusrequest_ididempotency_keycreate_contact_listCreate Contact List
Create a contact list by name. A list whose slug matches is returned unchanged (created=false), so a repeat creates nothing. ($0.05; API key required)
namerequest_ididempotency_keycreate_goalCreate Goal
Create a life goal the user explicitly wants to track. Not a calendar event or streak tracker. Numeric goals are totals that build up and need target_value and target_unit; rate goals are a number per calendar month that can go down, such as monthly revenue, and need the same two fields; habit goals need habit_frequency and habit_target_count. Ask for missing facts; never invent aspirations. ($0.10; API key required)
titledescriptioncategorytarget_typetarget_valuetarget_unitcurrent_valuehabit_frequencyhabit_target_counttarget_dateprioritycheckin_frequencymotivationobstaclesstart_daterequest_ididempotency_keycreate_pending_replyCreate Pending Reply
Pending Replies (Inbox): save a reply the user owes someone, e.g. 'what to reply to X', 'I owe X a reply'. Use this, not log_event or a task. Optional draft (the reply text), summary (one line in your own words; never the email body, subject or sender), channel, category, received_at, and source { kind, thread_id, message_id } (ids only). Links the contact only when resolve_person finds exactly one (or pass person_id); otherwise the reply is saved unlinked and person_link says why. An unsent reply for the same thread or person comes back instead of a second one (created: false, deduplicated: true); update_existing: true replaces its draft and summary. Never sends anything. Requires API key or OAuth with context.write; share tokens cannot write. ($0.10; API key required)
person_nameperson_iddraftdraft_messagesummarychannelcategoryreceived_atsourceupdate_existingrecipient_emailrecipient_phonerecipient_handlerequest_ididempotency_keycreate_personCreate Contact
Add a Dayze Contacts record, birthday included (YYYY-MM-DD, YYYY-MM, YYYY, or MM-DD if year unknown); checks duplicates first. An existing contact comes back unchanged with its person_id, not_applied (the fields you sent) and a hint. request_id is optional: without one, identical calls within 15 minutes return the first result. Advertised name create_person is stable; tools/call also accepts create_contact. ($0.10; API key required)
namerelationshiprelationshipscontext_tagstieris_favoritebirthdaynotesemailphonealiaseswalletsoccupationcompanyrequest_ididempotency_keycreate_placeCreate Place Card
Save a venue card (business_contacts): address, opening_hours, affordability ($/$$/$$$), notes, tags. Idempotent by name or idempotency_key — does not create calendar notes. ($0.10; API key required)
nameaddressopening_hourshoursaffordabilityprice_levelcategoryareacitycountrynotestagswebsitephonephone_numbersdescriptionhours_sourceidempotency_keylatitudelongituderequest_idcreate_projectCreate Project
Add a project to the user's portfolio: name, kind (own_venture, client_work, side_project, other), status (active, paused, archived, idea), description, website, tags, notes. ($0.10; API key required)
namekindstatusdescriptionwebsitetagsnotesrequest_ididempotency_keycreate_time_capsuleCreate Time Capsule
Seal a message to the future self until deliver_on_date, a date after today in the account timezone. The message cannot be read back until then. ($0.10; API key required)
messagedeliver_on_daterequest_ididempotency_keycreate_trackerCreate Tracker
Start a tracker for the user: title, tracker_type streak, sobriety, countdown or counter, start_date (default today), target_date for a countdown, target_days, emoji. Private. To reset one use reset_tracker. ($0.10; API key required)
titletracker_typestart_datetarget_datetarget_daysemojirequest_ididempotency_keydelete_eventChanges dataDelete Event (calendar remove)
Reversibly archives one owned event. Required event_id and request_id. Returns the prior row in deleted for compatibility, changed, restore_id and life_state_rebuilt. All food, people and asset links are preserved. Restore with restore_event. Replays perform no additional action. ($0.10; API key required)
event_idrequest_ididempotency_keydelete_foodChanges dataDelete Food (Food Diary remove)
Preview first, 30-day undo. Removes one Food Diary row the authenticated user owns and archives its mirrored calendar event. Prefer this over delete_event for meals logged via log_food. Unknown or other-user food_id returns an error. Rebuilds life_state. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_food", arguments: { food_id } }), which stores the exact change without applying it. After the user confirms, call delete_food with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Requires API key or OAuth with context.delete. Share tokens cannot write. ($0.10; API key required)
food_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_memoryChanges dataDelete Memory (Agent memory remove)
Preview first, 30-day undo. Removes Dayze Agent memories the authenticated user owns: memory_id (or up to 50 memory_ids) from get_memories. Rows get_memories marks source "event" are calendar events (use delete_event). An unknown or other-user id is not found and nothing changes. Dayze chat and get_memories stop using them at once; rebuilds life_state. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_memory", arguments: { memory_id } }), which stores the exact change without applying it. After the user confirms, call delete_memory with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Requires API key or OAuth with context.delete. Share tokens cannot write. ($0.10; API key required)
memory_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_momentChanges dataDelete Moment
Preview first, 30-day undo. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_moment", arguments: { moment_id } }), which stores the exact change without applying it. After the user confirms, call delete_moment with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
moment_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_moment_previewChanges dataPreview Moment Deletion
Read a Moment and linked impact and store a reviewed deletion preview; nothing is removed. ($0.05; API key required)
moment_idrequest_ididempotency_keydelete_movie_watchChanges dataDelete Movie Watch
Preview first, 30-day undo. Remove one Movie Diary row (a watch or a To Watch entry; watch_id from get_watch_history) and archive its calendar entry. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_movie_watch", arguments: { watch_id } }), which stores the exact change without applying it. After the user confirms, call delete_movie_watch with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
watch_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_personChanges dataDelete Contact
Delete one owned contact only after delete_person_preview. Preserves a complete restore snapshot for 30 days; undo with undo_contact_change using restore_id. Requires a request_id for retry-safe idempotency. ($0.10; API key required)
person_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_person_previewDelete Contact Preview
Create a durable, non-mutating snapshot of one owned contact and every linked record before deletion. Review the 30-day restore window, then pass preview_id to delete_person. ($0.05; API key required)
person_idrequest_ididempotency_keydelete_placeChanges dataDelete Place Card
Preview first, 30-day undo. Delete a saved place card (business_contacts) by place_id / business_contact_id and return the deleted card. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_place", arguments: { place_id } }), which stores the exact change without applying it. After the user confirms, call delete_place with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Restore also re-links visits, events, expenses and people that pointed at the card. ($0.10; API key required)
place_idbusiness_contact_ididpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_place_visitChanges dataDelete Place Visit
Preview first, 30-day undo. Delete one place_visits row (visit_id from get_place_visits or log_place_visit) without deleting its canonical place. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_place_visit", arguments: { visit_id } }), which stores the exact change without applying it. After the user confirms, call delete_place_visit with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
visit_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydelete_tv_watchChanges dataDelete TV Watch
Preview first, 30-day undo. Remove one TV Diary row (a watch or a To Watch entry; watch_id from get_watch_history) and archive its calendar entry. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_tv_watch", arguments: { watch_id } }), which stores the exact change without applying it. After the user confirms, call delete_tv_watch with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
watch_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keydismiss_clarificationDismiss Clarification
Dismiss a pending entity clarification (not_person, etc.). ($0.05; API key required)
clarification_idreasonrequest_ididempotency_keyenrich_place_from_googleEnrich Place from Google
Optional Google Places fill for a saved place card (hours/address/phone/website). Defaults to fill_empty_only — does not overwrite agent-supplied fields. Returns a clear not_configured capability error if GOOGLE_PLACES_API_KEY (or GOOGLE_MAPS_API_KEY) is missing. ($0.15; API key required)
place_idbusiness_contact_idfill_empty_onlyrequest_ididempotency_keyexplain_factRead onlyExplain Fact
Return evidence/provenance for a claim: polaris_learned_facts, life_events / life_event_relationships when present, then memories. Use when the agent must cite why it believes something — do not invent sources. ($0.10; API key required)
queryfactlimitfind_identity_candidatesRead onlyFind Identity Candidates
Compact identity resolution candidates by person_id or query (alias/name/payment signals). Prefer over bulk get_people. ($0.05; API key required)
person_idquerylimitget_assetRead onlyGet Asset
Fetch one asset by asset_id with signed_url for download/processing. ($0.05; API key required)
asset_idinclude_signed_urlget_berklee_relationship_mapRead onlyBerklee Relationship Map
Read-only owner view of the 2012–2015 Berklee email archive: per-person first/last cited contact, imported message volume, explicitly stored courses/projects, and email-anchor versus name-only provenance. Optional exact course, term, and project filters. Every cited event carries an inspect_url. Volume is not closeness; silence is not interpreted. Identity-document, health, and legal records are excluded. ($0.15; API key required)
coursetermprojectget_birthdaysRead onlyGet Birthdays
Whose birthday is coming up or was just missed: the user's contacts with a birthday in a window (days_back before and days_ahead after today, 30 each, or from/to), in the account timezone. upcoming (days_until) and recent (days_since), soonest first then closest: birthday_on, age_turning (null when the year is unknown), birthday_precision, relationship, tier, is_favorite, last_in_touch, in_touch_since_birthday. Counts contacts without a birthday. Excludes Me, never-share and deceased contacts (include_deceased adds them as remembrance). ($0.05; API key required)
days_aheaddays_backfromtoinclude_deceasedlimitget_cities_visitedRead onlyCities Visited
Canonical cities from confirmed/completed trips only (excludes soft pins / status=possible). Inference requires category=travel + structured location — not todo titles. ($0.10; API key required)
fromtoget_conditionsRead onlyGet Conditions
Private health conditions owned by the user, for subject_type self (default) or an explicitly resolved Dayze Contacts person_id. A person condition never appears in the user's self list. status: open (default), suspected, active, improving, resolved or all. condition_id returns recent check-ins and care items for the same subject. ($0.05; API key required)
subject_typeperson_idstatuscondition_idget_context_packRead onlyLife Context Pack
Life Context pack for one Dayze account (`account` names it — with more than one Dayze connection, say which account you are answering from): identity, pulse, people, next actions, memories, quizzes, recent consented place visits, and traced facts. Use include_*=false to omit default sections; current location and money stay opt-in. Spec: https://dayze.com/docs/life-context Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.20; API key required)
queryinclude_locationinclude_relationshipsinclude_moneyinclude_memoriesinclude_quiz_resultsinclude_placesinclude_place_visitsinclude_tripsinclude_week_eventsbudget_tokensfocusqattimezoneget_countries_visitedRead onlyCountries Visited
Canonical countries from completed trips (not other people travel). ($0.10; API key required)
fromtoinclude_residenceget_current_statesRead onlyCurrent States
Permitted assertion states for a person (flagged life-graph; off by default). ($0.10; API key required)
people_idperson_idpredicatesvalid_atknown_atget_day_notesRead onlyGet Day Notes
The user's Day Notes, newest first: date for one day, or from/to; query matches the text; limit and offset page. Each row: date, content, updated_at. ($0.05; API key required)
datefromtoquerylimitoffsetget_day_scoresRead onlyGet Day Scores
The user's daily check-ins, newest first: from/to (default the last 30 days). Each row: date, score (1-10), day_type, mood, energy, focus, social (1-5), highlight, lowlight, gratitude, tags. ($0.05; API key required)
fromtoget_dreamsRead onlyGet Dreams
The user's Dream Diary, newest first: sleep dreams, not life goals (get_goals). from/to inclusive YYYY-MM-DD in the account timezone; query matches title, narrative, notes and tags; limit (default 50, max 200) with offset, has_more and next_offset. Each row: dream_id, dreamed_on, title, narrative, mood, lucidity, people, places, tags, notes. ($0.05; API key required)
fromtoquerylimitoffsetget_entity_assetsRead onlyGet Entity Assets
List assets linked to an entity (role, signed_url, versions). entity_type inventory_item → inventory. ($0.10; API key required)
entity_typeentity_idasset_typeget_entity_linksRead onlyGet Entity Links
List graph edges for an event, trip, place, or person. Each link has a confirmation: explicit | pending | confirmed | rejected. A rejected link is listed only as a record of the decision: it is not a relationship, and every other read leaves it out. ($0.05; API key required)
entity_typeentity_idget_event_fact_sourceRead onlyGet Event Fact Source
Inspect an event fact from a saved Dayze answer before correcting it. Requires calendar read and travel details access. ($0.10; API key required)
message_idsource_refget_eventsRead onlyCalendar Events
Authenticated user's calendar events. Prefer explicit from/to (YYYY-MM-DD). Shortcuts: today|week|month|year (calendar year)|decade. Browsing noise excluded by default. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
limitcursorinclude_archivedqueryfromtodate_fromdate_torangeinclude_browsinginclude_calendar_blockskindsattimezoneoffsetevent_kindsredact_piiget_expensesRead onlyExpense Summary
Cashflow totals at Finance FX. Use period all for all-time requests, never year. Requires OAuth or scoped credentials. ($0.10; API key required)
periodget_favorite_foodsRead onlyGet Favorite Foods
The user's saved favorite foods by name: favorite_id, name, kind (meal, snack, drink), merchant, notes. ($0.05; API key required)
queryget_favorite_songsRead onlyGet Favorite Songs
The songs on the user's Music page (saved with log_favorite_song), newest first. person_id limits it to one contact's favorites; query matches title and artist; limit (default 50, max 200) with offset, has_more and next_offset. ($0.05; API key required)
person_idquerylimitoffsetget_financeRead onlyGet Finance
Money for a civil date range in the account timezone (max 366 days; default today): total spent and income in one display currency (the same aggregation as Dayze chat; transfers and IOU anchors left out, rows without an FX quote listed separately, never converted 1:1), plus totals by category and by currency. Optional category matches the expense category (e.g. "food"). Individual transactions are included only with the Financial details permission. ($0.05; API key required)
fromtodatecategorycurrencytimezoneatget_focusRead onlyGet Daily Focus
The user's daily focus items (up to three) for a date, default today in the account timezone. ($0.05; API key required)
dateget_food_logRead onlyGet Food Log
Food Diary entries (what, kind, place, local time, dishes, photo) for a civil date range in the account timezone (max 92 days; default today), oldest first. Optional place narrows to one venue. Each entry has food_id. ($0.05; API key required)
fromtodateplacetimezoneatget_fundraising_candidatesRead onlyGet Fundraising Candidates
Structured fundraising CRM: source-backed roles, sector and stage fit, pipeline and existing graph intro paths. Use for who to approach for a round. Returns canonical person IDs. ($0.05; API key required)
viewsectorstagestrengthstatusget_goalsRead onlyGet Goals
Read your owned life goals and progress. goal_id selects one; status defaults active, all includes completed goals. Each goal carries a computed progress object: kind, percent, this period, change on the previous period, and pace (null without a target date or enough history; never estimate one). Not calendar events or streak trackers. ($0.01; API key required)
goal_idstatuslimitget_health_trendsRead onlyGet Health Trends
Read private health trend points for self (default), or for an explicit person subject through condition_id. Effective points only by default; include_superseded returns corrections. ($0.05; API key required)
subject_typeperson_idkindcondition_idobserved_fromobserved_toinclude_supersededlimitget_interactionsRead onlyLife Update Interactions
Bounded graph read over life_updates (PHI-54/61): traverse interaction → person/event/expense/place with source/confidence on every hop. When life_update edges are missing, projects hops from CRM interactions, event_people, and expense person FKs (PHI-100). Prefer for “who was I with at X?”, “when am I meeting Y next?”, “how much at Z?”. 93-day default window. Pass person_name, place_query, or ids. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
person_idperson_nameplace_idplace_queryexpense_idevent_idfromtolimitget_inventoryRead onlyGet Inventory
Browse the user's owned Inventory: filter by category, status or search text (name, brand, model, notes, reference number). Archived and no-longer-owned items only with include_archived. Items with specs carry capability_summary and state_freshness; each item has photo_count and cover_url. ($0.10; API key required)
categorystatusinclude_archivedinclude_sensitivesort_bylimitoffsetsearchget_inventory_itemRead onlyGet Inventory Item
One owned Inventory item in full: specs and spec_template, state with state_freshness (current, recent or stale for each key; check with the user before relying on stale state), capability_summary (one line to plan from, e.g. "Can my computer run this?"), valuations, linked people and photos. ($0.10; API key required)
inventory_idget_inventory_valuationsRead onlyGet Inventory Valuations
Chronological valuation history for one owned Inventory item. ($0.10; API key required)
inventory_idget_life_contextRead onlyLife Context Snapshot
Get a snapshot of the authenticated user's current life context (identity, today/upcoming events, pulse, trackers, plus a question-aware facts slice with trace). Relationships and memories are included by default; pass include_*=false to omit. social_edges is capped at the highest-confidence 40 — check social_edges_truncated / social_edges_total. Location is opt-in. Requires an authenticated Dayze account via OAuth; scoped API keys are also supported for direct clients. ($0.15; API key required)
queryinclude_locationinclude_relationshipsinclude_memoriesinclude_moneyqattimezoneget_life_graphRead onlyLife Graph Export
Explicit private life-graph export: favorites/VIP plus people with edges or recent event tags. Pass full=true for a larger capped list. Optional event–people links. Requires OAuth or a supported scoped credential. ($0.25; API key required)
include_event_linksevent_links_limitmax_peoplefullget_location_contextRead onlyLocation Context
Likely current or at-time place with confidence and provenance. ($0.10; API key required)
atget_location_historyRead onlyLocation History
Normalized visit history (venue-level by default). Merges GPS location_visits + place_visits (MCP/Uber digs). ($0.10; API key required)
fromtoplacecitycountryprecisionget_memoriesRead onlyAgent Memories
Authenticated user memories from Dayze Agent. Pass query for semantic/keyword retrieval. Prefer search for event-first trip and calendar titles. Requires OAuth or a supported scoped credential. ($0.10; API key required)
querylimitqfocusget_momentsRead onlyGet Moments
List owned Moments by date, title, type, tag, person or place. Stable moment_id and inspect_url for each. ($0.05; API key required)
fromtolimitoffsettitlemoment_typetagperson_idplaceget_money_between_peopleRead onlyMoney Between People
Same as get_person_transactions: authenticated user ↔ one contact via individual expense rows. Requires context.read and financial_details:read. Prefer get_person_transactions; this alias exists for agent discoverability. ($0.10; API key required)
person_idnamefromtolimitget_movementsRead onlyMovement Segments
Read evidence-backed travel legs with their origin, destination, timing, mode, provider, distance, and linked expense. ($0.10; API key required)
fromtolimitget_net_worthRead onlyGet Net Worth
The user's latest net worth in USD: total_usd and by_asset_class. sources (each account's value, as the Net Worth card shows) appear only with financial_details:read. ($0.05; API key required)
get_pending_repliesRead onlyGet Pending Replies
Pending Replies (Inbox): the replies the user owes ('who do I owe a reply?'), newest first, or one by reply_id. status: unsent (default; pending + snoozed), sent, dismissed, all. Filter by person_name or person_id. Each reply has reply_id, person_name, person_id (null when unlinked), draft, summary, channel, category, source ids, status, state (unsent | sent | dismissed) and due (owed now; false while snoozed until snooze_until). Read-only. ($0.05; API key required)
reply_idstatusperson_nameperson_idlimitget_peopleRead onlyDayze Contacts
List or search the authenticated user's Dayze Contacts (private CRM; table people). query matches literal substrings of name, slug, email, occupation or context tags (no fuzzy fallback). context_tags requires all exact tags; occupation requires a substring. These filters combine with query and search the full owned contact set before pagination. Set wealth_category=reviewed for only explicitly owner-reviewed wealth-category contacts: returns id and name only, even with include_notes=true. That mode searches names only, uses offset rather than cursor, and cannot combine with occupation or context_tags. Without it, each contact includes avatar_url, photo_count, and has_photos; use get_person_photos(person_id) for the full gallery. With financial_details:read, net_worth_assessment includes category, scope, estimated range (when supported), confidence, methodology, caveat, dated source URLs, and review date. Context-only and insufficient-evidence assessments carry no personal number. birth
cursorquerycontext_tagsoccupationwealth_categorylimitoffsetinclude_noteslistsinclude_listsget_people_cleanup_resultRead onlyGet People Cleanup Result
Fetch start_people_cleanup result by cleanup_id. ($0.05; API key required)
cleanup_idget_people_linksRead onlyGet People Links
Alias of get_person_connections — list graph edges for one CRM person. ($0.05; API key required)
person_idget_person_aliasesRead onlyPerson Aliases
List canonical aliases (nicknames) for a CRM person. Pass person_id or name (resolved via aliases). Requires OAuth or a supported scoped credential. ($0.05; API key required)
person_idnameget_person_connectionsRead onlyGet Person Connections
List graph edges for one CRM person. ($0.05; API key required)
person_idget_person_interactionsRead onlyPerson Interactions
Relationship timeline for one CRM person: interactions rows (message/call/meeting/note + extended kinds like visit/gift/stayed_over encoded in summary) plus co-tagged calendar events. Prefer this over dumping people.notes for “when did I last see X?”. Pass person_id or name. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
person_idnamefromtokindlimitget_person_neighborhoodRead onlyPerson Neighborhood
Subgraph around one user-owned person_id — profile (avatar_url, photo_count, has_photos) plus declared connections. Use get_person_photos for the full gallery. Notes omitted unless include_notes=true (redacted). Requires OAuth or a supported scoped credential. ($0.15; API key required)
person_idinclude_notesget_person_photosRead onlyPerson Photos
Read a contact avatar and gallery as inline MCP images with per-asset render status. Avatar comes first. Use offset to page through photos (up to six per call); never paste raw image URLs into chat. ($0.10; API key required)
person_idoffsetlimitget_person_transactionsRead onlyPerson Transactions
Me↔contact money ledger from individual expenses (paid_to_person_id / income_from_person_id). Requires context.read and financial_details:read. Pass person_id or name. Returns entries + per-currency totals. Reuses existing expenses — no parallel ledger table. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
person_idnamefromtolimitget_photoRead onlyGet Photo
Single photo metadata + secure URL. Returns inline MCP image attachment when available. ($0.10; API key required)
photo_idget_photos_for_eventRead onlyPhotos For Event
Assets linked to an event. ($0.10; API key required)
event_idget_photos_for_placeRead onlyPhotos For Place
Assets linked to a canonical place. ($0.10; API key required)
place_idget_placeRead onlyGet Place Card
Fetch one saved place card (business_contacts) by place_id — address, opening hours, affordability, notes. ($0.05; API key required)
place_idbusiness_contact_ididget_place_visitsRead onlyPlace Visits
Count confirmed outings at a venue. Resolves aliases first; typed PlaceVisits are primary, and past non-todo events/GPS evidence for the canonical place are reconciled by day. count excludes plans, todos, and separately labelled reconstructed_candidates. Returns visit dates and evidence refs. ($0.10; API key required)
placeplace_idfromtoperson_idsget_placesRead onlyList Places
Known venues: visit-graph `places` plus saved place cards (`saved_places` from business_contacts) with address, opening_hours, and affordability ($/$$/$$$). `query` filters both lists by name. ($0.10; API key required)
querycitycountryareaneartagaffordabilitylimitget_playbookRead onlyGet Playbook
The user's Playbook for a date (default today): each block's title, times, category and whether it is done, with completed and total. ($0.05; API key required)
dateget_projectsRead onlyGet Projects
The user's Projects portfolio: name, slug, status, kind, description, updated_at. Archived ones only with include_archived. ($0.05; API key required)
include_archivedget_residencesRead onlyList Residences
Home / residence history separate from trips: trips with metadata.kind=residence (from log_travel) plus optional life_eras. Use for Boylston / Madeira / current home cards. ($0.10; API key required)
fromtolimitinclude_erasget_saved_entitiesRead onlyGet Saved Entities
What the user saved on their Saved page: notable people, films, shows and other public profiles. Not their contacts (get_people). Each row: entity_id, name, slug, entity_type, occupation, saved_at. ($0.05; API key required)
queryget_shared_memoriesRead onlyGet Shared Memories
Memories the user shares with connections: each invitation's direction (shared or received), the other person, status and dates. For ones the user shared, the moments in it. Moments someone else shared are not returned: they stay in the app. Read only: this cannot invite, accept or revoke. ($0.05; API key required)
statusget_sleepRead onlyGet Sleep
Sleep: list typed sleep/nap records with duration_minutes. ($0.05; API key required)
fromtolimitget_sleep_summaryRead onlySleep Summary
Sleep: day/week/month totals and averages. ($0.05; API key required)
rangeget_subscriptionsRead onlyGet Subscriptions
The user's own recurring subscriptions (Netflix and the like, not their Dayze plan): vendor, amount, currency, cadence, renewal dates, status (keep, cancel, undecided), source. Dayze Pro, and only where subscription tracking is on. ($0.05; API key required)
get_time_blocksRead onlyGet Time Blocks
The user's time blocks by day, earliest first: date, or from/to (at most 92 days). Default today. Each row: block_id, date, category, start_time, end_time, note. ($0.05; API key required)
datefromtoget_time_capsulesRead onlyGet Time Capsules
The user's time capsules by open date. status pending, delivered or all (default). A capsule still sealed shows its date and no message, as in the app, even to the owner. Reading opens nothing. ($0.05; API key required)
statusget_timelineRead onlyGet Timeline
The user's days in one read: calendar events, Moments (lived stories) and Food Diary entries for a civil date range in the account timezone (max 92 days; default today). A food entry's calendar mirror is listed once, under food. Text the connection may not see is redacted as in get_events. Each record keeps its id and inspect_url where it has a page. ($0.05; API key required)
fromtodatetimezoneatget_todayRead onlyGet Today
Today in the user's timezone: local date and time, today's events, Moments and Food Diary entries, and today's money totals by category. Use first when an agent needs the user's current day. ($0.05; API key required)
timezoneatcurrencyget_trackersRead onlyHabit Trackers
Authenticated user live trackers only; expired countdowns and inactive streaks are omitted. Sobriety/streak trackers remain visible at day 0 after a reset. Merges event-backed trackers with the trackers table when present. current_value is read from the tracker's events: days for sobriety/streak, days left for a countdown, the total for a counter (value_unit), with last_event_date. Returns up to `limit` trackers (default 50, max 200; get_context_pack's active_trackers keeps 6); total and truncated say whether more exist. Requires OAuth or a supported scoped credential. ($0.10; API key required)
limitget_tradesRead onlyGet Trades
The user's broker fills and trade journal notes from synced accounts, newest first: days back (default 30, max 90), symbol, limit (default 40, max 100). Read only: Dayze cannot place, change or cancel an order. ($0.05; API key required)
dayssymbollimitget_transactionsRead onlyGet Transactions
List individual expense/income/transfer rows (includes tags, payment_method). Requires context.read and financial_details:read. Filter with tag=project:… or project=… ($0.10; API key required)
cursorinclude_archivedlimitoffsetfromtotypetagprojectget_travel_historyRead onlyTravel History
Completed/confirmed travel only. ($0.10; API key required)
fromtoget_tripRead onlyGet Trip
Single trip with linked places and people. ($0.10; API key required)
trip_idget_tripsRead onlyList Trips
User trips with status filter (planned/completed/etc.). Residences also appear here with metadata.kind=residence — prefer get_residences for home history. ($0.10; API key required)
cursorinclude_archivedfromtostatuslimitget_voice_recordingRead onlyGet Voice Recording
One voice recording by recording_id, with its transcript and speaker segments (include_transcript false leaves them out). Text only, no audio. Needs pii:read. ($0.05; API key required)
recording_idinclude_transcriptget_watch_historyRead onlyGet Watch History
The user's Movie and TV Diaries, newest first: every film and show they watched (or queued), what the movies and tv pages list. kind movie, tv or all; status watched (default), want_to_watch or all; from/to inclusive YYYY-MM-DD in the account timezone (To Watch rows have no date, so a range leaves them out); query matches title and notes; limit (default 50, max 200) with offset, has_more and next_offset. Each row: watch_id (for update_movie_watch, update_tv_watch, delete_movie_watch, delete_tv_watch), kind, title, year, watched_on, rating, season, episode, notes, visibility, poster_url. total counts every match. ($0.05; API key required)
kindstatusfromtoquerylimitoffsetimport_rideshare_gmailImport Rideshare Gmail
Preview or import completed Lyft and Uber receipts as deduplicated origin-to-destination movements plus linked expenses. dry_run returns the exact proposed records without writing. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. ($0.15; API key required)
querymax_resultsdry_runaccountemailrequest_ididempotency_keyimport_uber_gmailImport Uber Gmail
Search connected Gmail for Uber trip receipts and write log_place_visit rows with sources gmail:uber-{gmail_id} (idempotent). Optional dry_run, max_results, query, account. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. ($0.15; API key required)
querymax_resultsdry_runaccountemailrequest_ididempotency_keyimport_venmo_gmailImport Venmo Gmail
Search connected Gmail for Venmo receipts and write log_transaction rows with external_id=venmo-gmail-{gmail_id} (idempotent). Optional dry_run, max_results, query, mirror_event, account. Prefer this over calendar-only Money · digs. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. ($0.15; API key required)
querymax_resultsdry_runmirror_eventaccountemailrequest_ididempotency_keylink_entitiesLink Entities
Link Trip→Stay→Place / Event→Person (graph, not prose). link_type accepts documented aliases (e.g. participant → event_person); unknown values error instead of silently becoming "other". Pass status=confirmed|rejected to record a human decision on an existing (often inferred) edge. status=confirmed on a link that does not exist yet creates it, as a call without status does (explicit, confidence 1). status=rejected on a link that does not exist errors and saves nothing: there is nothing to reject. ($0.10; API key required)
from_typefrom_idto_typeto_idlink_typenotessourceconfidencestatusrequest_ididempotency_keylink_inventory_personLink Inventory Person
Link one owned contact to one owned Inventory item as its provenance: inherited_from, gifted_by, purchased_from, co_owned_with, borrowed_from or loaned_to. ($0.10; API key required)
inventory_idperson_idrelationshipnotesrequest_ididempotency_keylink_peopleLink People
NON-DESTRUCTIVE: create/update a person_connections edge between two distinct people (friends/family/knows/…). Both contacts remain. Do not use for duplicate cleanup — use merge_people. ($0.10; API key required)
person_idother_person_idrelationship_typenotessourceconfidencedirectionrequest_ididempotency_keylist_clarificationsRead onlyList Clarifications
Ranked clarification queue: only person-typed mentions + duplicate CRM people. Non-person junk (places, orgs, media, command fragments) is auto-dismissed. Existing contacts auto-link. ($0.05; API key required)
limitkindauto_cleanuplist_contact_listsRead onlyContact Lists
List the owner's contact lists (the lists on Contacts), by name: id, name, slug, member_count, created_at. auto_synced marks Family, which follows each contact's relationship. Filter contacts by list with get_people(lists). ($0.05; API key required)
include_countslist_event_fact_correctionsRead onlyList Event Fact Corrections
List the owner’s recent event classification and event-person correction ledger, including undone entries. ($0.10; API key required)
list_gmail_accountsRead onlyList Gmail Accounts
List connected Gmail mailboxes for the authenticated user (id, email, is_default). Use account on search_gmail / read_gmail_* / import_*_gmail to pick a mailbox. Connect another inbox at /integrations (multi-mailbox after migration). Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. Share tokens cannot call. ($0.05; API key required)
list_voice_recordingsRead onlyList Voice Recordings
The user's voice recordings, newest first: title, status, occurred_at, duration_seconds, summary, primary_person_id. person_name limits to one contact; limit up to 50. Text only, no audio. Needs pii:read: recordings carry other people's words. ($0.05; API key required)
person_namelimitlog_condition_checkinCondition Check-in
Save a day's check-in for one condition with the same explicit subject_type/person_id. Self check-ins show on the user's Day Card; another person's do not. severity 0-10, note, treatment_done; logged_on defaults today. One per condition/day. ($0.05; API key required)
condition_idsubject_typeperson_idlogged_onseveritynotetreatment_donerequest_ididempotency_keylog_dreamLog Dream
Log a sleep dream to the user's private Dream Diary, in their own words, not log_event or log_moment. narrative is required; dreamed_at YYYY-MM-DD or a local time (omit for last night); title, mood, lucidity (none, partial, full), people_names, places, tags, notes. ($0.10; API key required)
narrativetitledreamed_atmoodluciditypeople_namesplacestagsnotesrequest_ididempotency_keylog_entryLog Entry
CREATES one entry from what the user said: type food/meal/snack/drink/kopi/coffee → Food Diary (with its Finance row when amount is given), expense → Finance, moment → a private Moment. Uses the same duplicate check as Dayze chat: the identical entry sent again within about 2 minutes is not saved twice and the reply says "Already logged that a moment ago". Shows in Dayze with "Added by <this app>" and can be undone from the record. Returns the saved record id (food_id, expense_id or moment_id). ($0.10; API key required)
typetextwhenplaceamountcurrencycategorytimezonerequest_ididempotency_keylog_eventLog Event (calendar write)
MUTATES the calendar (non-food events, tasks, sleep). Replies owed ('what to reply to X') go to create_pending_reply. Woke at X: end_time. Requires title plus event_date or date (YYYY-MM-DD, YYYY-MM, or YYYY). A task with no deadline: ask for a date, never fill in today. Soft dates preserve date_precision. A story or anecdote about something that already happened is a moment: use log_moment (with event_id when it is about an event here), not a second event. Optional: event_time (alias time), end_date, end_time, location, description (alias notes), category, visibility, timezone, reminder fields, sharing/people, scoreboard (structured operating status; keep description for notes), and idempotency_key. Sleep with only a wake time ('I woke at 11:15'): category sleep, event_date the day they woke, end_time 11:15 and no event_time. Don't invent a bedtime; add it later with update_event event_time (a bedtime the night before also sets event_date to that night and end_date to the wake day). T
titleevent_datedateevent_timetimeend_dateend_timelocationcitycountrydescriptionnotescategoryevent_typeexternal_urlvisibilityimage_urltimezonereminder_enabledreminder_minutes_beforedate_precisionshare_withpeoplewithpeople_namesperson_idsperson_nameamountdirectionsourceexternal_idperson_idcurrencymirror_transactionsource_gmail_idsource_email_participantsscoreboardidempotency_keyrequest_idlog_expenseLog Expense
Create an outgoing expense only. For money received (Venmo/Cash App/PayPal/Zelle) use log_transaction with direction=from and type=income. Lending a contact cash: category "IOU lend" + person_id (one call creates the IOU they owe and shows the money out once). ($0.10; API key required)
amountcurrencydatemerchantperson_idcategorycash_movediou_typeclient_labelnotesdescriptionperson_namesourcepayment_methodexternal_idprojecttagsrequest_ididempotency_keylog_favorite_songLog Favorite Song (music write)
MUTATES the authenticated user favorite tracks list at /music. Use when they favorite or save a song — do not store this as a chat memory or in music_preferences. Example: “Henry Mancini - Piano And Strings (1995 Remastered)” → log_favorite_song({ track: "Henry Mancini - Piano And Strings (1995 Remastered)" }) or title + artist. Optional year_note, source_url, and person_id from get_people to link the track to one owned contact. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
titleartisttrackyear_noteremaster_notesource_urlurlperson_idrequest_ididempotency_keylog_foodLog Food (diary write)
MUTATES the authenticated user Food Diary and calendar. Use when they ate or drank — do not store this as a chat memory. Supports dish_items for multiple named dishes with optional price and rating. Example: “I had Mee Pok for late lunch with my parents” → log_food({ what: "Mee Pok", kind: "meal", meal_period: "late lunch", with: ["my parents"] }). Optional: calories (user-stated kilocalories), place/merchant, amount, consumed_at (ISO). Explicit calories override the automatic heuristic. Resolves with/Mum/Dad via person aliases; unknown names do not fail the food write. Tags companions on the mirrored event. Rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
whatkindmeal_periodconsumed_atplacemerchantamountcurrencycalorieswithpeople_namesperson_idsnotespaid_bypayment_methodexpense_iddish_itemsrequest_ididempotency_keylog_incomeLog Income
Record money received (Stripe, refunds, payroll, Venmo). log_transaction with type income and direction from already set (pass neither). Use external_id for Stripe/Gmail idempotency. A contact paying back an IOU: category "IOU repayment" + person_id (lowers the IOU, shows the money once). A contact lending the user cash: category "IOU lend" + person_id (creates the IOU the user owes, shows the money once). ($0.10; API key required)
amountdatecurrencymerchantnotessourceexternal_idpayment_methodperson_idcategorycash_movediou_typeclient_labelnot_iou_repaymentperson_namedescriptionprojecttagsrequest_ididempotency_keylog_interactionLog Interaction
Contacts: log that the user was in touch with a contact ('I replied to Vadim', 'called Mum'): kind message, call, meeting, note, check_in or thought_of. Private to the owner. person_id (an owned contact) or person_name (linked only on one resolve_person match; otherwise nothing is logged and the candidates come back). With reply_id it also marks that Pending Reply sent: this interaction is the reply's one write-back (a later resolve adds no second). summary: one line in your own words, never email text or a subject. occurred_at: when it happened (ISO), default now; not in the future. Never sends anything. Requires API key or OAuth with context.write. ($0.05; API key required)
person_idperson_namekindsummaryoccurred_atreply_idrequest_ididempotency_keylog_momentLog Moment (story or memory)
Save a past story or memory as a private moment. Plans go to log_event; a touchpoint with a contact to log_interaction. Requires title, and moment_date (YYYY-MM-DD, YYYY-MM or YYYY; alias date) unless event_id is given. With event_id (an owned event the story is about) it creates a NEW moment linked to that event and takes the event's date and location when you pass none; the event itself is never changed, converted or deleted, and one event can have many moments. Don't also save the story as an event. Optional: description (the longer story), moment_date_precision (exact, month, year, circa), end_date, moment_type (default memory), location_name (only a place the user said), person_ids (owned contacts; any other id saves nothing), people_names (tag saved contacts only, never created), cover_image_url / media_urls (https links), tags. Always private: there is no visibility argument; the owner shares a moment in Dayze. Fix it later with update_moment. Requires API key or OAuth with cont
titledescriptionmoment_datedatemoment_date_precisionmoment_timeend_datemoment_typelocation_namelocationperson_idspeople_namesevent_idcover_image_urlmedia_urlstagsrequest_ididempotency_keylog_movementLog Movement
Log one provenance-backed movement segment. Origin, destination, timestamps, source, and external_id are required for a deduplicated route history. ($0.10; API key required)
originorigin_addressorigin_cityorigin_countrydestinationdestination_addressdestination_citydestination_countrydeparted_atarrived_atmodeproviderdistance_metersduration_secondsexpense_idsourceexternal_idsource_referenceconfidenceroute_geometrygeometry_sourcemetadatarequest_ididempotency_keylog_movie_watchLog Movie Watch
Log a film the user watched to their Movie Diary (the movies page, with its poster), not log_event or log_moment. title (+ year when known), watched_at YYYY-MM-DD or a local time, rating 0-10 only if they gave one, rewatch, where, with (their contacts only), notes. The same film on the same day returns the stored watch (duplicate: true); a rewatch on another day is a new watch. A new watch takes the film off To Watch. Private by default. Also adds the private 'Watched:' calendar entry the diary keeps. ($0.10; API key required)
titleyearimdb_idwatched_atwatched_at_precisionratingrewatchnoteswherewithperson_idsvisibilityrequest_ididempotency_keylog_place_visitLog Place Visit
MUTATES place_visits for map/history digs (Uber dropoff, address evidence). Required: place (or place_id) + arrived_at/date. arrived_at: a clock time with offset when the user gave a time or part of day (afternoon → 15:00 local); YYYY-MM-DD when only the day is known — the visit is then stored with no clock time and the receipt says "time not specified". arrival_time_precision: approximate when the clock time reads a part of day (evening → 19:00), so readers show "~19:00"; exact (default) only for a time the user gave. Optional: departed_at, source (a provenance tag: uber|mcp|manual|import, not a note), evidence_expense_id (idempotent), city/country/address. Add-only: a repeat on the same day returns the stored visit (duplicate: true, retained, mismatch) and never changes it. Prefer this over stuffing streets only into expenses. ($0.10; API key required)
placenameplace_idarrived_atdatearrival_time_precisiondeparted_atsourceevidence_expense_idevidence_event_idaddresscitycountryconfidencerequest_ididempotency_keylog_project_kpiLog Project KPI
Record a KPI value for one of the user's projects: project_slug or project_name, kpi_key (mrr, users), value; label, unit (usd, count, percent), target and floor define a new KPI. ($0.10; API key required)
project_slugproject_namekpi_keyvaluelabelunittargetfloornoterequest_ididempotency_keylog_sleepLog Sleep
Sleep: log overnight or nap. Cross-midnight OK (e.g. 14:00→03:00 = 13h / 780m). ($0.10; API key required)
started_atended_atsleep_typetimezonetimezone_starttimezone_endqualitynotessourcerequest_ididempotency_keylog_transactionLog Transaction
Income/expense/transfer write. direction=from + type=income for Venmo/Stripe/refunds received. Positive amount; external_id dedupes imports. Optional project/tags. Zelle always USD. Optional mirror_event creates a calendar Money · annotation (ledger is still the source of truth for /money). IOU repayment ("Mark paid me back $200"): category "IOU repayment" + person_id — one call lowers the IOU and shows the money once (direction from = they paid the user, to = the user paid them). A cash loan ("I lent Mark $200"): category "IOU lend" + person_id — one call creates the IOU and shows the money once on that day (direction to = the user lent them, from = they lent the user); cash_moved: false for an owed share (IOU only). A plain income from a contact with an open IOU is refused unless not_iou_repayment: true; the same money as an already-recorded repayment or loan comes back as duplicate. ($0.10; API key required)
account_idmessage_idextractor_versionamountdirectiontypeperson_iddatecurrencymerchantnotessourceexternal_idpayment_methodcategorycash_movediou_typeclient_labelnot_iou_repaymentmirror_eventprojecttagsperson_namedescriptionrequest_ididempotency_keylog_travelLog Travel
MUTATES trips (+ optional calendar travel event). Prefer this over free-text log_event for map/history. Required: city + start_date. Optional: country, end_date, kind (trip|residence|soft_pin), confidence (confirmed|likely|possible), evidence, title, mirror_event. Soft pins default to status=possible and stay off cities/map until confidence=confirmed. The calendar event is private. Zelle/Venmo money belongs in log_transaction — not here. ($0.10; API key required)
citycountrystart_datedateend_datekindconfidencetitleevidencemirror_eventrequest_ididempotency_keylog_tv_watchLog TV Watch
Log a TV show the user watched to their TV Diary (the tv page, with its poster), not log_event or log_moment: season, episode (episode_end for a range), finished_season, plus the same fields as log_movie_watch. The same show, season and episode on the same day returns the stored watch (duplicate: true). A watch of the whole show takes it off To Watch; episodes do not. Private by default. ($0.10; API key required)
titleyearimdb_idseasonepisodeepisode_endfinished_seasonwatched_atwatched_at_precisionratingrewatchnoteswherewithperson_idsvisibilityrequest_ididempotency_keymark_playbook_completeMark Playbook Block
Check a Playbook block off for a date (default today), by block_title or part of it. completed false unchecks it, and that uncheck can be restored for 30 days. ($0.10; API key required)
block_titlecompleteddaterequest_ididempotency_keymerge_memoryChanges dataMerge Exact Memories
Preview first, 30-day undo. Retire exact duplicates while keeping the named canonical memory. Preview shows every retired id and distinct provenance; the receipt restores all rows for 30 days. Similar wording is refused. Reviewed and reversible: first call preview_destructive_change({ tool: "merge_memory", arguments: { canonical_memory_id, duplicate_memory_ids } }), which stores the exact change without applying it. After the user confirms, call merge_memory with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
canonical_memory_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keymerge_momentsChanges dataMerge Moments
Preview first, 30-day undo. Preview with preview_destructive_change({tool:"merge_moments",arguments:{canonical_id,retired_ids}}). Conflicting story, date, place or event links stop the merge. Union people, tags and media. Reviewed and reversible: first call preview_destructive_change({ tool: "merge_moments", arguments: { canonical_id, retired_ids } }), which stores the exact change without applying it. After the user confirms, call merge_moments with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
canonical_idretired_idspreview_idrestore_window_acknowledgedrequest_ididempotency_keymerge_peopleChanges dataMerge People
Apply a reviewed durable preview atomically; undo_contact_change accepts restore_id for 30 days if unchanged. Fold duplicate CRM contact(s) into primary_person_id (same human, spelling variants). Prefer score_people_duplicates first. Not for “X knows Y” — use link_people for relationships. ($0.10; API key required)
preview_idprimary_person_idduplicate_person_idsrestore_window_acknowledgedrequest_ididempotency_keymerge_people_previewMerge People Preview
Save a durable restore snapshot without modifying contacts before merge_people. Returns resulting name/aliases, preserved counts, field conflicts, safe_to_merge. ($0.05; API key required)
primary_person_idduplicate_person_idsfield_choicesrequest_ididempotency_keynormalize_people_applyChanges dataNormalize People Apply
Apply a normalize_people_preview by preview_id. ($0.10; API key required)
preview_idcandidate_hashrequest_ididempotency_keynormalize_people_previewNormalize People Preview
Preview whitespace/phone/handle normalization changes (no title-case of stylized names). Phones become E.164, read in the contact's own country (location or address); a number with no country code and no contact country, or one it can't validate, stays as is, listed in phones.review with suggested readings; pass the owner's picks back as phone_choices. ($0.05; API key required)
rulesphone_choicesrequest_ididempotency_keynotable_packRead onlyNotable Knowledge Pack
DEFAULT for who is X: profile + life_in_days (age/day_number) + similar people + birthday peers. Timeline events include day_number. Prefer this over notable_profile. Example: albert-einstein. ($0.05)
slugsimilarpeersdatenotable_pack_premiumRead onlyPremium Notable Pack
S-tier guaranteed pack (score≥85, timeline≥8, image, embedding). Errors if below bar. Use when you need high-quality, complete notable context. Example slug: elon-musk. ($0.10)
slugsimilarpeersdatenotable_profileRead onlyNotable Person Profile
Bio-only profile JSON by slug (no life-in-days, similar, or birthday peers). Prefer notable_pack for “who is X / age in days / peers”. Example: taylor-swift. ($0.02)
slugnotable_searchRead onlySearch Notable People
Search the public Dayze notable-people catalog by name, occupation, or slug. Use when you need to find a person before fetching a pack. Example slug: albert-einstein. ($0.01)
limitqquerypreview_destructive_changePreview Destructive Change
Review a destructive change before it happens. Stores the exact rows delete_food, delete_place, delete_place_visit, delete_movie_watch, delete_tv_watch, archive_inventory_item, archive_asset, reset_tracker, unlink_people, remove_person_alias, convert_contact_entity, bulk_dismiss_clarifications, delete_memory, delete_moment, merge_moments, merge_memory, correct_memory_atom would delete, archive or overwrite (with their before-state and linked records) without changing anything, and returns preview_id, operations, expires_at (30 minutes) and restore_window_days (30). Show it to the user, then call the named tool with preview_id, restore_window_acknowledged: true and request_id. ($0.05; API key required)
toolargumentsrequest_ididempotency_keypreview_moment_duplicatesRead onlyPreview Moment Duplicates
Group exact Moment duplicates first, then possible near duplicates for human review. Never merges automatically. ($0.05; API key required)
fromtopropose_life_updatePropose Life Update
Propose assertion create/correct without committing (flagged; off by default). ($0.10; API key required)
people_idperson_idpredicatevaluesource_textoperationsclient_ididempotency_keyrequest_idread_gmail_attachmentRead onlyRead Gmail Attachment (read-only)
Download one Gmail attachment by message_id + attachment_id (from read_gmail_message.attachments). Returns utf-8 text for text/csv/vcf/vcard; binary types return filename/mime/size + a note (no base64 dump). Optional account. Read-only. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. Share tokens cannot call. ($0.10; API key required)
message_idattachment_idaccountemailread_gmail_messageRead onlyRead Gmail Message (read-only)
Read one Gmail message by id from search_gmail. Returns subject, from, canonical date, account-local date_local, time_zone, snippet, plain-text body (truncated), and attachments[] metadata (attachment_id, filename, mime_type, size). Use read_gmail_attachment for text/csv/vcf contents. Optional account when multiple mailboxes. On failure returns code gmail_read_failed with retryable: retry once only when retryable; if the newest message still cannot be read, say so and never present an older one as the latest. Read-only. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. Share tokens cannot call. ($0.10; API key required)
message_ididaccountemailrecord_health_trendRecord Health Trend
Append a private trend for explicit subject_type self, or a person through a matching condition_id/person_id. Corrections supersede a point and retain history. ($0.05; API key required)
subject_typeperson_idkindmetricobserved_atvalueunitconfidencesourcecondition_idsupersedes_idcorrection_reasonrequest_ididempotency_keyrecord_purchaseRecord Purchase
Atomic expense + optional inventory item creation. ($0.10; API key required)
nameamountcurrencydatemerchantcategorycreate_inventoryinventory_detailsrequest_ididempotency_keyrecord_saleRecord Sale
Mark inventory sold + record sale proceeds with gain/loss. ($0.10; API key required)
inventory_idamountcurrencysold_atdatemarketplacenotesrequest_ididempotency_keyremove_people_from_listRemove People From Contact List
Remove contacts from a contact list (list_id, or list_name as its name or slug). The contacts themselves are unchanged. Returns removed, not_member and not_found. Family follows relationships and is refused (code AUTO_SYNCED_LIST). undo_contact_change(change_id) puts them back. ($0.05; API key required)
list_idlist_nameperson_idsrequest_ididempotency_keyremove_person_accountRemove Person Account
Delete one person_accounts row by account id (owner-checked). Simple write-delete of a presence row (not a reviewed contact delete). ($0.05; API key required)
account_idrequest_ididempotency_keyremove_person_aliasChanges dataRemove Person Alias
Preview first, 30-day undo. Remove one alias from a CRM person. Reviewed and reversible: first call preview_destructive_change({ tool: "remove_person_alias", arguments: { person_id, alias } }), which stores the exact change without applying it. After the user confirms, call remove_person_alias with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Restore brings back the alias with its kind, source and confidence. ($0.05; API key required)
person_idaliaspreview_idrestore_window_acknowledgedrequest_ididempotency_keyreset_trackerChanges dataReset Streak Tracker
Preview first, 30-day undo. Resets a sobriety/streak tracker for the authenticated user (sets current value to 0 and restarts the clock). Prefer tracker_id from get_trackers, or tracker_title fuzzy match; optional reset_at (ISO) and note go in the preview arguments. Rebuilds life_state. Reviewed and reversible: first call preview_destructive_change({ tool: "reset_tracker", arguments: { tracker_id } }), which stores the exact change without applying it. After the user confirms, call reset_tracker with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Restore puts back the previous start date, streak and reset count. Requires API key or OAuth with context.delete. Share tokens cannot write. ($0.10; API key required)
tracker_idtracker_titletitlereset_atnotepreview_idrestore_window_acknowledgedrequest_ididempotency_keyresolve_clarificationResolve Clarification
Link a clarification surface to an existing person. ($0.10; API key required)
clarification_idperson_idperson_namerequest_ididempotency_keyresolve_pending_replyResolve Pending Reply
Pending Replies: mark a reply done: sent (default; the user replied, logged privately in the contact's history) or dismissed. Dayze sends nothing. By reply_id, or person_name / person_id when that person has exactly one unsent reply (otherwise the candidates come back and nothing changes). Marking sent writes one private interaction for the linked contact (not for an unlinked reply, and not twice); interaction in the result says what was written. Reopen with update_pending_reply status pending. Requires API key or OAuth with context.write. ($0.05; API key required)
reply_idperson_nameperson_idoutcomerequest_ididempotency_keyresolve_personRead onlyResolve Contact
Resolve a nickname or surface name to a Dayze Contacts row via person_aliases → exact name → slug → unique substring. Returns avatar_url, photo_count, has_photos, and photos[{url,is_primary}] preview; use get_person_photos for full gallery. With financial_details:read, net_worth_assessment has the same sourced fields as the Contacts card; context-only evidence carries no personal number. Notes omitted unless include_notes=true (redacted). person.lists names the contact lists they are on. Prefer this before money or relationship tools when the agent only has a nickname. Advertised name resolve_person is stable; tools/call also accepts resolve_contact. ($0.05; API key required)
namequeryinclude_notesresolve_placeRead onlyResolve Place
Canonicalize a venue name via place aliases and fuzzy match. ($0.10; API key required)
placequerynamerestore_changeRestore Change
Undo a reviewed destructive change by restore_id within 30 days: deleted rows come back with their links, archived or overwritten fields revert, and inserted history rows are removed. Refuses if the record was edited since; repeats are no-ops. Call-time aliases: restore_food, restore_place, restore_inventory_item, restore_asset, restore_tracker, restore_memory. Contact deletes/merges use undo_contact_change; event/expense/trip archives use restore_event/restore_expense/restore_trip. ($0.10; API key required)
restore_idrequest_ididempotency_keyrestore_cleanuprestore cleanup
Restore an archive or normalization receipt. Requires restore_id and request_id. Receipts stay restorable for at least 30 days (archived rows are retained, not purged). Refuses intervening edits; repeats are no-ops. ($0; API key required)
restore_idrequest_ididempotency_keyrestore_eventrestore event
Restore an archive or normalization receipt. Requires restore_id and request_id. Receipts stay restorable for at least 30 days (archived rows are retained, not purged). Refuses intervening edits; repeats are no-ops. ($0; API key required)
restore_idrequest_ididempotency_keyrestore_expenserestore expense
Restore an archive or normalization receipt. Requires restore_id and request_id. Receipts stay restorable for at least 30 days (archived rows are retained, not purged). Refuses intervening edits; repeats are no-ops. ($0; API key required)
restore_idrequest_ididempotency_keyrestore_triprestore trip
Restore an archive or normalization receipt. Requires restore_id and request_id. Receipts stay restorable for at least 30 days (archived rows are retained, not purged). Refuses intervening edits; repeats are no-ops. ($0; API key required)
restore_idrequest_ididempotency_keysave_day_noteSave Day Note
Add to the user's Day Note for a date (default today, account timezone). mode append (default) adds a line to what is there; replace overwrites the note. ($0.10; API key required)
datecontentmoderequest_ididempotency_keysave_day_scoreSave Day Score
Save the user's check-in for a date (default today). score 1-10 is required for a new day; mood, energy, focus, social 1-5; highlight, lowlight, gratitude, tags. Fields left out keep what that day already has. ($0.10; API key required)
datescoremoodenergyfocussocialhighlightlowlightgratitudetagsrequest_ididempotency_keysave_favorite_foodSave Favorite Food
Save a favorite food. The same name (any case) updates that favorite. name, kind (meal, snack, drink; default meal), merchant, notes. ($0.10; API key required)
namekindmerchantnotesrequest_ididempotency_keysave_focusSave Daily Focus
Set the user's focus items for a date (default today): the full list, up to three, which replaces that day's list. Each item: text, done. ($0.10; API key required)
dateitemsrequest_ididempotency_keysave_net_worth_entrySave Net Worth Entry
Add or update today's value of a manual net worth entry (a bank account, a property). source starts with manual. (manual.bank.dbs); asset_class equities, crypto, cash, real_estate, business, collectibles, debt or other; value_usd. Broker and wallet sources can't be written here. ($0.10; API key required)
sourcesource_labelasset_classvalue_usdcurrencyrequest_ididempotency_keyscore_people_duplicatesRead onlyScore People Duplicates
Score likely CRM duplicate pairs before merge_people. ($0.05; API key required)
person_idlimitmin_probabilitysearchRead onlySemantic Life Search
Search the authenticated user life graph. Optional from/to (aliases start/end) are inclusive account-local civil dates on every search route; either bound may be used alone. Dated semantic and keyword records use event date, expense date, goal start date, check-in date, or the account-local creation date of contacts and memories. Deterministic routing first: food or relative dates (e.g. "what did I eat yesterday?"); timeline/current-context; money+person; who-is → resolve_person. Otherwise semantic/keyword search. Event hits include event_date and food_id when mirrored from Food Diary. Browser-history titles are excluded. Credential/secret spans are redacted. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). Requires OAuth or a supported scoped credential. ($0.15; API key required)
limitentity_typefromtostartendqueryqsearch_gmailRead onlySearch Gmail (read-only)
Search one of the authenticated user's connected Gmail inboxes (read-only). Reuses Integrations hub Gmail (service_connections provider=gmail). Optional account/email selects a mailbox when multiple are connected — call list_gmail_accounts first. Prefer Gmail operators: from:, subject:, is:unread, newer_than:7d, has:attachment. For clock-time constraints, pass after/before as account-local civil datetimes; the tool converts them to precise UTC instants. Returns id, subject, from, canonical date, account-local date_local, time_zone, and snippet only (no body), newest first (newest_first: true). For the latest / most recent email from someone, query from:<sender> alone, without quoted topic phrases (the newest reply often lacks them); a from: + topic search with no match from the last 7 days also searches the sender alone and marks those messages sender_only (see note). Follow up with read_gmail_message. Cannot send, archive, or delete. Never invent email contents. If Gmail is not connec
queryqmax_resultsaccountemailafterbeforesearch_inventoryRead onlySearch Inventory
Search owned Inventory by name, brand, model, notes or reference number (query), with the same filters as get_inventory. Returns photo_count, has_photos, cover_url; when empty, photo_hint explains upload_asset linkage. ($0.10; API key required)
querycategorystatusinclude_archivedinclude_sensitivesort_bylimitoffsetsearch_momentsRead onlySearch Moments
Search only owned Moment stories and titles within an optional date range. Returns stable moment_ids. ($0.05; API key required)
queryfromtolimitoffsetsearch_photosRead onlySearch Photos
Search person photos and entity assets by query/metadata. Returns inline MCP image attachments. ($0.10; API key required)
queryfromtoperson_idsplace_idlimitsearch_transactionsRead onlySearch Transactions
Search individual transaction rows by merchant/description/category, or exact tag (project:/ext:/rail:). Requires context.read and financial_details:read. ($0.10; API key required)
cursorinclude_archivedlimitoffsetquerytagprojectsearch_voice_transcriptsRead onlySearch Voice Transcripts
Find words in the user's voice transcripts: query, person_name, limit up to 30. Returns snippets, not whole transcripts. Needs pii:read. ($0.05; API key required)
queryperson_namelimitset_person_accountSet Person Account
Upsert a platform account on a Dayze Contact (Instagram, Dayze, ChatGPT, …). Multiple accounts per platform are allowed (kind + optional label + is_primary). Pass account_id to update a specific row; otherwise upsert by person+platform+handle+kind. Agents may set status likely|self_reported|unknown (default likely); verified is reserved for server derivation. source is stored as agent. platform=other requires label (site name). ($0.05; API key required)
person_idaccount_idplatformkindhandleurllabelis_primarystatusnotesrequest_ididempotency_keyset_primary_person_nameSet Primary Person Name
Rename a CRM contact’s canonical name and refresh slug. By default preserves the old name as a former_name alias. Prefer this over create+merge for spelling fixes. Dayze is the context layer — bounded mutation only. ($0.10; API key required)
person_idnamepreserve_old_name_as_aliasrequest_ididempotency_keystart_people_cleanupStart People Cleanup
Server-side cleanup audit. Records the audit run and returns a review queue; it never changes, merges or deletes contacts, so there is nothing to undo. Apply candidates with merge_people_preview → merge_people or normalize_people_preview → normalize_people_apply (both reversible for 30 days). ($0.15; API key required)
checksauto_merge_thresholdrequest_ididempotency_keyundo_contact_changeChanges dataUndo Contact Change
Reverse a reversible contact change (rename, alias, identity, classify, link). For merges, deletes, unlink_people, remove_person_alias and convert_contact_entity, pass restore_id as change_id within 30 days. Restore rejects later edits rather than overwriting them. ($0.10; API key required)
change_idrequest_ididempotency_keyundo_event_fact_correctionUndo Event Fact Correction
Undo an owned event fact correction by ledger ID. Supply request_id for safe retries. ($0.10; API key required)
correction_idrequest_ididempotency_keyunlink_peopleChanges dataUnlink People
Preview first, 30-day undo. Remove a person↔person graph edge (by connection_id, or person_id + other_person_id). Reviewed and reversible: first call preview_destructive_change({ tool: "unlink_people", arguments: { connection_id } }), which stores the exact change without applying it. After the user confirms, call unlink_people with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
connection_idperson_idother_person_idpreview_idrestore_window_acknowledgedrequest_ididempotency_keyupdate_assetUpdate Asset
Patch role, metadata, description, or parent_asset_id (e.g. mark as processed). ($0.08; API key required)
asset_idroleasset_typedescriptionfilenameparent_asset_idmetadatarequest_ididempotency_keyupdate_conditionUpdate Condition
Patch a condition by condition_id with its explicit subject_type (and person_id for a contact). The subject must match. Patch status, confirmation_status, source or condition fields; omitted fields stay untouched and null clears nullable text. Never infer active/confirmed. ($0.10; API key required)
condition_idsubject_typeperson_idnamestatussymptomsbody_areastarted_ontracking_focustreatmentsnotessourceconfirmation_statusrequest_ididempotency_keyupdate_current_locationUpdate Current Location
MUTATES where the user is now: profiles.location + polaris current_city/country (same as in-app Dayze chat). Pass location ("The Madeira, Singapore") and/or city+country; optional place/venue + lat/lon records a fresh location_visits check-in so get_location_context returns is_current. set_home defaults true; check_in defaults true when place or coordinates are set. Does not invent GPS when omitted. ($0.10; API key required)
locationcitycountryplacevenueaddresslatitudelongitudeset_homecheck_inidempotency_keyrequest_idupdate_dreamUpdate Dream
Change a Dream Diary entry by dream_id: title, narrative, dreamed_at, mood, lucidity, people_names, places, tags or notes. Fields left out stay as they are; null clears mood, lucidity or notes. ($0.10; API key required)
dream_idnarrativetitledreamed_atmoodluciditypeople_namesplacestagsnotesrequest_ididempotency_keyupdate_eventUpdate Event (calendar patch)
MUTATES one existing calendar event the authenticated user owns. Required: event_id (UUID). Optional patch (same fields as log_event): title, date / event_date, time / event_time, end_date, end_time, location, description (alias notes), category, external_url, image_url, timezone, visibility, people / with / person_ids, scoreboard (merged; null clears), reminder_enabled (false turns the push reminder off; needs a timed event to turn on), reminder_minutes_before. Adds a bedtime to a wake-only sleep: event_time (and event_date / end_date when it was the night before). Unknown or other-user event_id returns an error and does not create a row. For food-diary meals, prefer update_food (it syncs the mirrored event). Rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
event_idtitleevent_datedatedate_precisionevent_timetimeend_dateend_timelocationdescriptionnotescategoryexternal_urlvisibilityimage_urltimezonepeoplewithpeople_namesperson_idsperson_namescoreboardreminder_enabledreminder_minutes_beforerequest_ididempotency_keyexpected_updated_atupdate_expenseUpdate Expense
PATCH an expense row. ($0.10; API key required)
expense_idamountcategorymerchantnotesdescriptiondatecurrencypayment_methodsourceprojecttagsexternal_idrequest_ididempotency_keyupdate_favorite_songUpdate Favorite Song
Change a saved song by track_id (from get_favorite_songs): title, artist, year_note or source_url. Fields left out stay. ($0.10; API key required)
track_idtitleartistyear_notesource_urlrequest_ididempotency_keyupdate_foodUpdate Food (diary patch)
MUTATES one existing Food Diary row the authenticated user owns. Required: food_id (UUID). Optional patch (same fields as log_food): what, kind, contains_alcohol, dish_items, place, merchant, notes, append_notes (concat), consumed_at (ISO instant) / meal_period (profile TZ), amount, currency, paid_by (self / a name / unknown), payment_method (how it was paid, saved on the linked Finance transaction), expense_id (link one existing owned Finance transaction; null unlinks), with / people_names / person_ids. dish_items replaces the complete ordered dish list. A dish or notes correction never creates another Finance transaction. Unknown or other-user food_id or expense_id returns an error and changes nothing. Returns changed fields and a fresh linked_expense read. Syncs the mirrored calendar event and rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
food_idwhatitemfooddescriptionkindcontains_alcoholcaloriescalories_sourcemeal_periodconsumed_atplacemerchantamountcurrencywithpeoplepeople_namesperson_nameperson_idsnotesappend_notespaid_bypayment_methodexpense_iddish_itemsdishesrequest_ididempotency_keyupdate_goalUpdate Goal
Patch one owned goal by goal_id from get_goals. Set current_value to absolute progress, not a delta. On a rate goal current_value is this month's number and replaces the last one. Omitted fields remain unchanged. Never select a goal by a guessed ID. request_id required. ($0.10; API key required)
goal_idtitledescriptioncategorytarget_typetarget_valuetarget_unitcurrent_valuehabit_frequencyhabit_target_counttarget_dateprioritycheckin_frequencymotivationobstaclesstatusnoterequest_ididempotency_keyupdate_inventory_itemUpdate Inventory Item
Patch one owned Inventory item, found by inventory_id or by nickname: what the user calls it ("MacBook", "work laptop"), matched to exactly one of their active items by nickname, name or model, so there is no need to look it up first; several matches are refused with the candidates and nothing changes. Fields you leave out are untouched. specs merge per key (null removes a key), so updating memory keeps storage. state records a new observation (observed_at, source, confidence) and never changes specs or notes; a key already observed more recently is kept. spec_template switches or clears (null) the template. A status like sold or donated moves it out of the active list; to archive, use archive_inventory_item. Never add device or account identifiers. ($0.10; API key required)
inventory_idnicknamenamecategorysubtypeitem_typesubtype_confidencebrandmodelreference_numberconditionstatuspurchase_dateacquired_datepurchase_priceestimated_valuecurrent_valuecurrencylocationnotestagsacquisition_typeacquired_fromspec_templatespecs_schema_versionspecsstatepast_reasonpast_datepast_detailssale_pricepast_person_idrequest_ididempotency_keyupdate_momentUpdate Moment (patch a story)
Patch one owned moment by moment_id (from log_moment); fields left out are untouched. It stays private. Requires moment_id. Patchable: title, description, moment_date, moment_date_precision, end_date, moment_type, location_name, people, event_id, images, tags. Unknown or other-user moment_id returns an error and creates nothing. person_ids / people_names, media_urls and tags replace the stored list ([] clears); event_id links an owned event (the event is not changed), empty or null unlinks. Visibility is not an argument. Returns changed_fields. Requires API key or OAuth with context.write. ($0.10; API key required)
moment_idtitledescriptionmoment_datedatemoment_date_precisionmoment_timeend_datemoment_typelocation_namelocationperson_idspeople_namesevent_idcover_image_urlmedia_urlstagsrequest_ididempotency_keyupdate_movie_watchUpdate Movie Watch
Change a Movie Diary watch by watch_id: rating (null clears), watched_at or notes. Nothing else changes. ($0.10; API key required)
watch_idratingwatched_atwatched_at_precisionnotesrequest_ididempotency_keyupdate_notableUpdate Notable (catalog write)
MUTATES public notable_people. Superuser only. Patch by slug (bio, about, occupation, birth_place, birth_date, net_worth, residence, before_fame, trivia, family_life, zodiac, flag). Rejects unknown fields. No create/delete. Stamps last_updated_via=mcp. ($0.10; API key required)
slugbioaboutoccupationbirth_placebirth_datenet_worthresidencebefore_fametriviafamily_lifezodiacflagrequest_ididempotency_keyupdate_pending_replyUpdate Pending Reply
Pending Replies: change one reply by reply_id: its draft (replaces; null clears), summary, channel, category, received_at, person (person_id, or person_name linked only on one match), source, or status pending (reopen / unsnooze) or snoozed with snooze_until. Unknown or other-user reply_id returns not_found. To mark it sent or dismissed use resolve_pending_reply. Never sends anything. Requires API key or OAuth with context.write. ($0.10; API key required)
reply_iddraftdraft_messagesummarychannelcategoryreceived_atperson_idperson_namesourcestatussnooze_untilrequest_ididempotency_keyupdate_people_linkUpdate People Link
Patch an existing person↔person graph edge (type/context/source/confidence). ($0.10; API key required)
connection_idperson_idother_person_idrelationship_typenotessourceconfidencerequest_ididempotency_keyupdate_personUpdate Contact (CRM write)
MUTATES one owned Dayze contact by person_id. A context_tags-only patch is supported; send the full desired tag array (a repeat is a no-op). last_interaction_at corrects when the user was last in touch (owner-set). For personal-write OAuth send request_id, a unique string for each new write; reuse it for an exact retry. Fields left out are untouched. undo_contact_change(change_id) reverts a change. Requires context.write; share tokens cannot write. ($0.10; API key required)
person_idrequest_idnamepreserve_old_name_as_aliasexpected_updated_atis_favoritetierrelationshiprelationshipscontext_tagsnotesbirthdaywalletslast_interaction_atfirst_metfirst_met_locationaddressgenderpronounssexual_orientationbirth_timecadence_daysis_deceaseddeath_dateoccupationcompanyemailphoneidempotency_keyupdate_person_aliasUpdate Person Alias
Update alias_kind/source/display for an existing alias. ($0.05; API key required)
person_idaliasalias_kindsourcealias_displayrequest_ididempotency_keyupdate_person_identityUpdate Person Identity
Patch identity fields (legal/preferred name, pronouns, social handles, user_relationships[]). Never infer sensitive identity from appearance. Confirmed user_relationships are preserved unless force=true. ($0.10; API key required)
person_idlegal_namepreferred_namepronounswebsitesocial_handlesaliasesuser_relationshipsforcerequest_ididempotency_keyupdate_placeUpdate Place Card
Patch a saved place card by place_id / business_contact_id. Unspecified fields stay unchanged (hours, affordability, address, notes, …). ($0.10; API key required)
place_idbusiness_contact_ididnameaddressopening_hourshoursaffordabilityprice_levelcategoryareacitycountrynotestagswebsitephonephone_numbersdescriptionhours_sourcelatitudelongituderequest_ididempotency_keyupdate_sleepUpdate Sleep
Sleep: patch an existing sleep record by sleep_id. ($0.10; API key required)
sleep_idstarted_atended_atsleep_typequalitynotestimezonerequest_ididempotency_keyupdate_subscriptionUpdate Subscription
Change a subscription by subscription_id: status on any row, the other fields only on one the user added. Marking cancel is the owner's note to self: Dayze never cancels anything with the vendor. Dayze Pro. ($0.10; API key required)
subscription_idstatusvendoramountcurrencycadencelast_charge_datenext_renewal_daterequest_ididempotency_keyupdate_time_blockUpdate Time Block
Change one time block by block_id: date, category, start_time, end_time or note (null clears). Fields left out stay. ($0.10; API key required)
block_iddatecategorystart_timeend_timenoterequest_ididempotency_keyupdate_tv_watchUpdate TV Watch
Change a TV Diary watch by watch_id: rating (null clears), watched_at or notes. Nothing else changes. ($0.10; API key required)
watch_idratingwatched_atwatched_at_precisionnotesrequest_ididempotency_keyupload_assetUpload Asset
Upload image bytes to Dayze storage (normally re-encoded as WebP; original_preserved and metadata_stripped describe the saved bytes). Accepts image_base64, url, or ChatGPT file object `image` ({download_url, file_id}). Returns asset_id, content_type, byte_size, view_url after bytes are confirmed. Temporary ChatGPT download URLs are never stored. For inventory item photos: pass entity_type=inventory, entity_id=inventory_id, role=photo. For receipt photos: entity_type=expense|event, role=receipt. Or upload then attach_asset. ($0.15; API key required)
image_base64urlimagefilenamemime_typecontent_typeasset_typeroleparent_asset_identity_typeentity_iddescriptionmetadatarequest_ididempotency_keyupload_photoUpload Photo
Upload a photo to a Life Graph entity you have (event, expense, place, person, inventory, …). Accepts image_base64, url, or ChatGPT file object `image` ({download_url, file_id}). Normally re-encodes as WebP; original_preserved and metadata_stripped describe the saved bytes. Partial results include an asset_id for repair: call upload_photo with asset_id and a new request_id, without image bytes. Answers attached: true only after readback confirms asset id, content_type, byte_size, and a viewable URL on the record — never from OCR text alone. Mobile file references without download_url fail clearly (attached: false). Person uploads also write the CRM gallery (person_photos) and avatar when set_as_avatar=true. ($0.15; API key required)
asset_identity_typeentity_idcontent_typetitledescriptionset_as_avatarimage_base64urlimagemime_typefilenamerolerequest_ididempotency_key
Is this yours?
Claim it to hear the moment it breaks, correct this page and add your own ways to use it.
A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.