com.dayze/life-context · v1.28.0 · sales-and-crm
Dayze — Life Context is healthy: it completed an MCP handshake in 4519 ms and exposes 173 tools.
Life context for agents: get_context_pack + public notable packs. x402 + OAuth.
Endpoint: https://dayze.com/api/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 173 |
| Latency | 4519 ms |
| Last checked (UTC) | 2026-10-14T18:55:47.304Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-14T18:55:47.304Z | Healthy | 4519 |
notable_search | 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) |
notable_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) |
notable_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) |
notable_pack_premium | 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) |
compare_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) |
get_life_context | 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 — ch |
get_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; curre |
get_life_graph | 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) |
get_berklee_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. Vol |
get_person_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) |
get_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 (inspec |
get_people | 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 searc |
update_person | 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). 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(c |
update_notable | 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) |
log_food | 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", m |
update_food | MUTATES one existing Food Diary row the authenticated user owns. Required: food_id (UUID). Optional patch (same fields as log_food): what, kind, dish_items, place, merchant, notes, append_notes (concat), consumed_at (ISO instant) / meal_period (profile TZ), amount, currency, paid_by (self / a name / |
delete_food | 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_d |
attach_food_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 un |
log_event | 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_pre |
update_event | 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 |
log_moment | 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 |
update_moment | 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 |
create_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 { k |
get_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, |
update_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 n |
resolve_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 s |
log_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 can |
delete_event | 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 req |
log_favorite_song | 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 Rema |
get_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) |
delete_memory | 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_ |
merge_memory | 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_m |
correct_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 chan |
get_expenses | Authenticated user cashflow summary: spend, income, net, and top spend categories. Requires OAuth or a supported scoped credential. ($0.10; API key required) |
resolve_person | 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 s |
get_person_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) |
list_contact_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) |
create_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) |
add_people_to_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 |
remove_people_from_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 requi |
get_person_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 p |
get_money_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) |
get_person_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_ur |
get_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 a |
explain_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) |
list_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) |
get_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, da |
reset_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 |
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 |
search_gmail | 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, n |
list_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. |
read_gmail_message | 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 accou |
read_gmail_attachment | 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 connectio |
get_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) |
list_event_fact_corrections | List the owner’s recent event classification and event-person correction ledger, including undone entries. ($0.10; API key required) |
apply_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) |
undo_event_fact_correction | Undo an owned event fact correction by ledger ID. Supply request_id for safe retries. ($0.10; API key required) |
log_sleep | Sleep: log overnight or nap. Cross-midnight OK (e.g. 14:00→03:00 = 13h / 780m). ($0.10; API key required) |
get_sleep | Sleep: list typed sleep/nap records with duration_minutes. ($0.05; API key required) |
get_sleep_summary | Sleep: day/week/month totals and averages. ($0.05; API key required) |
update_sleep | Sleep: patch an existing sleep record by sleep_id. ($0.10; API key required) |
get_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 |
create_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 |
update_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) |
log_condition_checkin | 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) |
get_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) |
record_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) |
resolve_place | Canonicalize a venue name via place aliases and fuzzy match. ($0.10; API key required) |
get_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) |
get_place | Fetch one saved place card (business_contacts) by place_id — address, opening hours, affordability, notes. ($0.05; API key required) |
create_place | 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) |
update_place | Patch a saved place card by place_id / business_contact_id. Unspecified fields stay unchanged (hours, affordability, address, notes, …). ($0.10; API key required) |
delete_place | 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 i |
enrich_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) |
backfill_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) |
get_place_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 |
get_movements | Read evidence-backed travel legs with their origin, destination, timing, mode, provider, distance, and linked expense. ($0.10; API key required) |
log_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) |
get_location_history | Normalized visit history (venue-level by default). Merges GPS location_visits + place_visits (MCP/Uber digs). ($0.10; API key required) |
log_place_visit | MUTATES place_visits for map/history digs (Uber dropoff, address evidence). Required: place (or place_id) + arrived_at/date. Optional: departed_at, source (uber|mcp|…), evidence_expense_id (idempotent), city/country/address. Prefer this over stuffing streets only into expenses. ($0.10; API key requi |
delete_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 wit |
get_location_context | Likely current or at-time place with confidence and provenance. ($0.10; API key required) |
get_current_states | Permitted assertion states for a person (flagged life-graph; off by default). ($0.10; API key required) |
propose_life_update | Propose assertion create/correct without committing (flagged; off by default). ($0.10; API key required) |
commit_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 |
update_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 defa |
get_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) |
get_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) |
get_trip | Single trip with linked places and people. ($0.10; API key required) |
get_travel_history | Completed/confirmed travel only. ($0.10; API key required) |
get_countries_visited | Canonical countries from completed trips (not other people travel). ($0.10; API key required) |
get_cities_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) |
log_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=possibl |
create_person | 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 min |
merge_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; A |
delete_person_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) |
delete_person | 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) |
preview_destructive_change | Review a destructive change before it happens. Stores the exact rows delete_food, delete_place, delete_place_visit, archive_inventory_item, archive_asset, reset_tracker, unlink_people, remove_person_alias, convert_contact_entity, bulk_dismiss_clarifications, delete_memory, delete_moment, merge_momen |
restore_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_ |
score_people_duplicates | Score likely CRM duplicate pairs before merge_people. ($0.05; API key required) |