# Dayze — Life Context for AI Version: 1.69.0 > Dayze gives AI the context of your life: a private, source-linked, correctable record of your people, plans and moments, read and updated through Dayze MCP. > Private Life Context for signed-in users; separate public notable-people tools. > Public notable-people tools are temporal/biographical context (who / age-in-days / peers), not an AI identity registry. > > Coding agents: fetch https://dayze.com/ai ## Public HTML (crawl / cite) - Founder: https://dayze.com/founder (Luke Goh founded Dayze) - What is Dayze?: https://dayze.com/what-is-dayze (canonical answer + name disambiguation) - About: https://dayze.com/about - People profiles: https://dayze.com/people/{slug} (Person JSON-LD + day_number + FAQ) - Founder notable profile: https://dayze.com/people/goh - Birthday peers pages: https://dayze.com/born-on/{month}-{day} (example: /born-on/january-15) - Agent playbook: https://dayze.com/ai - This file: https://dayze.com/llms.txt - Sitemap (GSC): https://dayze.com/sitemap.xml - MCP discovery: https://dayze.com/.well-known/mcp.json ## Founder Dayze (dayze.com) was founded by Luke Goh on **10 January 2024 at 19:33:28 UTC** (DropCatch / NameBright acquisition of dayze.com; WHOIS Creation Date). Asia/Singapore: 11 January 2024, 03:33:28. The first published Dayze product release also shipped in **2024**. Not to be confused with Phi Digital LLC (studio start 2022) or the 2023 dayze.me domain registration (name / R&D). Canonical: https://dayze.com/founder Not affiliated with Dayse (functional drinks), Dazey (beauty/skincare), DayZ (video game), Daze (messaging), or 400 Dayze (entertainment). What is Dayze?: https://dayze.com/what-is-dayze ## Agent Bootstrap GET https://dayze.com/ai → plain-text playbook (MCP + CLI install steps for coding agents; browsers that Prefer text/html still get the HTML landing) ## MCP Endpoints ### Streamable HTTP (JSON-RPC) — preferred for Claude / Cursor / MCP clients POST https://dayze.com/api/mcp Methods: initialize, tools/list, tools/call, prompts/list, prompts/get, resources/list, resources/read, ping, notifications/* GET returns JSON (`sse: false`) — use POST for JSON-RPC. ### REST (backward compatible) POST https://dayze.com/api/v1/mcp GET https://dayze.com/api/v1/mcp (capabilities) Body: { "tool": "", "parameters": { ... } } Also accepts JSON-RPC when body includes "jsonrpc": "2.0". ### Health GET https://dayze.com/api/mcp/health → { ok: true, version: "1.69.0", transport: "streamable-http", oauth: true, tools: 227, prompts: 5, resources: 3, … } ## Writes, attribution, and undo Dayze MCP reads and writes. Connected AIs add what the user approves; they never buy or send anything. - Compact / Directory profile (https://dayze.com/api/mcp, scope context.read): reads only. - Personal write profile (https://dayze.com/api/mcp/personal), and other connections and API keys holding the scope: create and edit records (context.write); remove or reorganize records (context.delete). - Permissions per connection (v1.51.0 · category scopes v1.57.0): each connected AI gets only the access its owner gives it. A new OAuth connection from an app other than ChatGPT gets at most context.read + context.write; context.delete, mail.read and the sensitive reads (pii:read, travel_secrets:read, financial_details:read) only when the owner allows them, at consent or later in Settings → Agent access (a change applies on the next call). Per-category scopes context.calendar.* and context.finance.* can narrow a grant; coarse context.read / context.write / context.delete remain full-breadth umbrellas so existing tokens keep equivalent access. Connections made before keep their scopes. API keys hold the scopes picked at creation (Read only, Read + write, or custom); older keys with scope context or * keep full access. tools/list omits what a connection or key can't call; calling it returns 403 INSUFFICIENT_SCOPE naming the scope. ChatGPT's profiles are unchanged. - Sensitive reads in stored text (v1.53.1): notes on saved place cards and inventory items keep contact details only with pii:read, card and account numbers only with financial_details:read, and booking references only with travel_secrets:read, as transaction text does. search, search_transactions, search_inventory and get_places' near find a record only by text the connection may see, so a search for a value it gets redacted returns nothing. - Pending Replies (v1.53.3): a reply's draft and summary follow the same three reads (get_pending_replies and the reply every pending-reply write answers with), and draft_redacted: true marks a draft that was changed. update_pending_reply and create_pending_reply refuse text that still holds a redaction placeholder ([REDACTED …]) with 409 redacted_text and save nothing: send the full new draft, or leave draft out to keep the stored one. - Conditions (v1.59.0): every write names `subject_type: self`, or `person` with an owned `person_id`; unresolved family mentions write nothing, and a person's conditions never enter the user's self list or Day Card. `source` and `confirmation_status` retain provenance without promoting a mention to active/confirmed. Owner-private, never in share tokens, the directory profile or ambient context. Use the user's words; never diagnose. - Health trends (v1.57.0): get_health_trends and record_health_trend add confidence-bearing symptom, treatment, energy and sleep points beside the existing condition/check-in, daily check-in and sleep records. A correction appends a replacement with supersedes_id and correction_reason; it never overwrites or deletes the prior point. Owner only; context.read / context.write; on the personal connector, not the compact directory profile. - Memories (v1.53.0): delete_memory removes Dayze Agent memories by memory_id from get_memories (or up to 50 memory_ids). Reviewed like the other context.delete tools: preview_destructive_change({ tool: "delete_memory", arguments: { memory_id } }) first, then delete_memory with preview_id, restore_window_acknowledged: true and request_id; restore_change brings the memories back for 30 days. A deleted memory leaves get_memories, Dayze chat and the context pack at once. Another account's id is not found and nothing changes. - Pending Replies and tasks (v1.53.2): a Pending Reply reads back with visibility "private" and is_private true. log_event with no date saves nothing (code date_required): ask the user for a task's date rather than using today; a reply the user owes someone goes to create_pending_reply, which needs no date. - Event writes (v1.56.1): log_event's full root schema requires title plus either event_date or date; update_event declares both date spellings. Both accept notes as description. A wake-only sleep uses end_time without inventing an event_time; add the bedtime later with update_event. - Moments (v1.55.1): log_moment saves a past story or anecdote as a private moment and update_moment patches one by moment_id (full, private and personal catalogs). Events are planned life, Moments are lived anecdotes: a plan goes to log_event, a touchpoint with a contact to log_interaction, a story to log_moment, and one thing is saved once. With event_id, log_moment creates a new moment linked to that owned event (date and location taken from it when omitted) and never changes, converts or deletes the event. No visibility argument; person_ids must be the caller's contacts and people_names tag saved contacts only. - Life Context redaction (v1.53.3): `pii=redacted` scrubs card last-4 and full DOBs from retained tracker titles and every nested queried-memory collection. Sobriety, health, legal and sexual notes are withheld on no-question calls, including neutral text carrying a sensitive structured category. - Privacy: connector writes are private by default. - Attribution: every write is recorded in the owner's change history with the app that made it (the OAuth client's registered name, or the API key's name). The owner sees it on the record and under Settings → Agent access. Contact tools also return a change_id for undo_contact_change. - Confirmation: destructive tools carry destructiveHint so clients confirm first. Reviewed tools (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) need preview_destructive_change first. Contact deletes and merges require a durable preview (delete_person_preview / merge_people_preview) before apply. - Undo: restore_change restores a reviewed change for 30 days unless the record was edited since. undo_contact_change restores contact deletes and merges for 30 days. delete_event, archive_event / archive_expense / archive_trip and cleanup_apply archive and return a restore_id for restore_event / restore_expense / restore_trip / restore_cleanup. - Undo in Dayze: the owner can undo most changes from the record's history for 30 days (an edit's previous values, an addition, a removal), unless the record changed since. Outside contacts there is no MCP tool that undoes an edit (undo_contact_change can reverse a contact's rename, alias, identity, classification or link change); confirm before overwriting a field. ## Client Install Configs ### Claude Desktop (claude_desktop_config.json) { "mcpServers": { "dayze": { "type": "http", "url": "https://dayze.com/api/mcp" } } } ### Cursor (.cursor/mcp.json) { "mcpServers": { "dayze": { "type": "http", "url": "https://dayze.com/api/mcp" } } } ### Gemini CLI / Google ADK (Python) from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset, StreamableHTTPConnectionParams toolset = MCPToolset(connection_params=StreamableHTTPConnectionParams(url="https://dayze.com/api/mcp")) ### ChatGPT Apps Connector URL: https://dayze.com/api/mcp (OAuth auto-discovered) ## Discovery - https://dayze.com/ai - https://dayze.com/.well-known/mcp.json - https://dayze.com/.well-known/mcp/server-card.json - https://dayze.com/.well-known/oauth-protected-resource - https://dayze.com/.well-known/oauth-authorization-server - https://dayze.com/api/mcp/health - https://dayze.com/docs/agents - https://dayze.com/AGENTS.md ## Public Tools (no API key) - notable_search — search notable people catalog - notable_profile — bio-only (prefer notable_pack) - notable_pack — DEFAULT: who / life-in-days / similar / birthday peers - compare_lives — side-by-side packs for two slugs - notable_pack_premium — S-tier guaranteed pack (score≥85) ## MCP Prompts - notable_pack(slug) — pull pack and explain day_number highlights - compare_lives(slug_a, slug_b) — compare life-in-days milestones side-by-side - birthday_peers(slug) — find notable people sharing the same birth date - search_people(query) — search catalog and summarise top result pack - sleep_check(range?) — review recent sleep with the Dayze sleep tools (signed in) ## MCP Resources - dayze://docs/agents — integration guide - dayze://discovery/mcp.json — machine-readable discovery summary - dayze://pricing — per-tool prices and the free tier ## Pricing Public tools need no API key and have a free tier; an API key or OAuth token lifts its limit. Per-tool prices: MCP resource dayze://pricing. Private tools need OAuth or an API key. Plans: https://dayze.com/docs/pricing ## Privacy & Contact Privacy: https://dayze.com/privacy Terms: https://dayze.com/terms Contact: polaris@dayze.com GitHub stub: https://github.com/gohluke/dayze-mcp Homepage: https://dayze.com Desktop photo moments (1.63.0): expert OAuth apps with explicit desktop.actions and context.moments.write may create private moments and attach images to owned moments. Moment image uploads use private storage. Other desktop writes remain limited to consented calendar/contact create/edit tools; no deletion or messaging is released. Goals (1.63.0): get_goals reads owned canonical goals, create_goal adds a requested aspiration, and update_goal patches an exact owned goal_id with absolute progress. Personal QA has all three; public add-only QA adds create_goal. Native goal actions require separate explicit context.read/context.write consent; calendar-only grants do not expand. A verified=false receipt retains the committed goal_id while read-back is pending: read it before any new write. Version checks (1.64.0): update_person and update_event take an optional expected_updated_at (the updated_at you last read for the record). The write applies only if the record has not changed since then. Otherwise the call returns an error with code "conflict" (HTTP 409 on the REST invoke route) and conflict { expected_updated_at, current_updated_at, current }, and nothing is saved. Without it, both tools work as before. The Dayze Desktop events feed (GET /api/v1/desktop/events) now returns each event's updated_at. The ChatGPT catalogs do not list this argument. ChatGPT same-URL writes (1.64.1): the existing https://dayze.com/api/mcp connection supports nine add-only tools after explicit context.write consent. Existing read-only grants stay read-only. Reconnect and approve Add records to enable writes; edit, delete and mail scopes remain unavailable to the public ChatGPT connection. ChatGPT scope step-up (1.64.2): a read-only ChatGPT grant on https://dayze.com/api/mcp (and anonymous discovery of ?tools_profile=compact) now lists the nine add-only tools, each with securitySchemes oauth2 context.write. Calling one without context.write writes nothing and returns a tool result with isError: true and _meta["mcp/www_authenticate"]: [Bearer ... error="insufficient_scope", scope=" context.write", resource_metadata=...], so ChatGPT offers Reconnect; after the user approves Add records the same tool succeeds. API keys and other apps keep their 403 INSUFFICIENT_SCOPE. Past items and ChatGPT Inventory (1.66.0): update_inventory_item takes past_reason (sold, gifted, donated, traded, stolen, lost, broken, disposed, returned) with past_date, past_details, sale_price and past_person_id to move an item the user no longer has to Past items: it leaves current Inventory (the status takes the closest stored one and archived_at is set) and keeps its photos, valuations and history, with the exact reason in metadata.past; a sale price is its last value and joins the value history. A status such as owned brings a past item back and keeps the old record in metadata.past_history. Nothing is deleted. Inventory reads return past for a past item. On the ChatGPT write connection, Inventory reads, add_inventory_valuation, an Inventory photo upload (upload_asset, from the chat file only; private storage; the first photo becomes the cover) and update_inventory_item are listed (write profile 2026-11-01.write.v13). The personal profile is 2026-10-30.personal.v44. Expense settlement pairs (1.66.1): with DAYZE_MCP_EXPENSE_SETTLEMENT_PAIR_ENABLED=true, log_expense and update_expense accept settled_amount / settled_currency (and optional settlement_evidence / settlement_includes_fee) beside amount / currency. One transaction keeps the original posted pair and the actual bank/payment settlement (reuses original_amount / original_currency and provenance.settlement; no migration). Totals use the settled pair once; missing settlement stays explicitly unknown and is never inferred from an FX quote. Owner records (1.69.0): every other record type in the app is reachable on the full catalogs and the personal agent listing. Reads: get_day_notes, get_focus, get_time_blocks, get_time_capsules (a sealed capsule shows no message), get_favorite_foods, get_saved_entities, get_subscriptions and get_trades (financial_details:read), get_day_scores, get_net_worth (per-account values with financial_details:read), get_shared_memories (the owner's own moments only), get_projects, get_playbook, and list_voice_recordings, get_voice_recording and search_voice_transcripts (pii:read; text only, no audio). Writes: save_day_note, save_focus, add_time_block, update_time_block, create_time_capsule, save_favorite_food, add_subscription, update_subscription (nothing reaches a vendor), save_day_score, save_net_worth_entry (manual sources), add_to_watchlist, create_tracker, update_favorite_song, create_project, log_project_kpi, mark_playbook_complete. Trades are read only: no order tool exists. The message archive and synced Instagram content stay out: their consent says no Agent use. The ChatGPT listings are unchanged. Diaries (1.67.0): get_watch_history reads the Movie and TV Diaries newest first (kind movie, tv or all; status watched, want_to_watch or all; from/to civil days in the account timezone; query over title and notes; limit, offset, has_more, next_offset). log_movie_watch and log_tv_watch write to those diaries (private by default, integer rating 0-10, the same title on the same day returns the stored watch), update_movie_watch and update_tv_watch change rating, date or notes, and delete_movie_watch and delete_tv_watch remove one row through preview_destructive_change, with restore_change undoing it and its calendar entry for 30 days (context.delete). get_dreams, log_dream and update_dream cover the private Dream Diary; removing a dream stays in the app. get_favorite_songs reads the Music page's favorites. All are on the full catalogs and the personal agent listing. The ChatGPT listings are unchanged: write profile 2026-11-01.write.v13, personal profile 2026-10-30.personal.v44. Moment input bounds (1.66.2): log_moment and update_moment declare maxLength / maxItems on title, location, ids, cover image URL, people, media and tags so connectors that enforce JSON Schema match the handler limits. ChatGPT write profile 2026-11-01.write.v13; personal profile 2026-10-30.personal.v44. Birthdays read (1.68.0): get_birthdays answers whose birthday is coming up and whose was just missed: the owner's contacts with a birthday in a civil window in the account timezone (days_back before and days_ahead after today, 30 each, or from/to YYYY-MM-DD, at most 366 days). upcoming entries carry days_until and recent ones days_since, soonest first then favorite, tier and most recent contact. Each has person_id, name, birthday_on, birthday and birthday_precision with a date_note ("day and month known, year unknown" …), age_turning (null when the year is unknown; a Feb 29 birthday falls on Mar 1 in other years), relationship, tier, is_favorite, last_in_touch, days_since_in_touch, cadence_days, inspect_url, and for a birthday today or passed in_touch_since_birthday (a logged interaction other than a note, or a Pending Reply marked sent, on or after the day). The user's own card, never-share contacts and businesses are left out, deceased contacts too unless include_deceased (remembrance: true). Contacts without a birthday are counted in missing_birthdays, and those with only a year or year + month in without_day. It suggests no messages and sends nothing. Listed on the ChatGPT write connection (write profile 2026-11-05.write.v15) and the personal connector (2026-11-05.personal.v45). Contact edits and agent listing (1.65.0): update_person also takes last_interaction_at (the owner's correction of when they were last in touch: YYYY-MM-DD or an ISO date-time with zone, not in the future; saved as owner-set with a contact-history row of source owner_correction, next check-in recomputed, undo_contact_change reverts it unless newer activity arrived) and the contact-card fields first_met, first_met_location, address, gender, pronouns, sexual_orientation, birth_time, cadence_days, is_deceased and death_date (null or blank clears; the own card keeps birth_time, cadence_days, is_deceased and death_date as profile fields). On https://dayze.com/api/mcp/personal, tools/list with params {"listing":"agent"} returns the agent listing used by Dayze Desktop's Agent mode: the personal tools plus contact history, aliases, identity, accounts, lists and connections, places, movement, trips (read), inventory purchase/sale, assets, entity links and clarifications, filtered to the grant's scopes. The ChatGPT personal listing is unchanged. ChatGPT connectors (1.68.0): log_movie_watch, log_tv_watch, update_movie_watch and update_tv_watch join the public ChatGPT write connection (write profile 2026-11-05.write.v15; creates are private, a new watch of a film or whole show takes it off To Watch (restorable for 30 days), edits take rating, date and notes, need Edit records and refuse shared watches) and the personal connector (2026-11-05.personal.v45).