Search arXiv papers, download full text, semantic search, citation graphs, and alerts via MCP.
Dayze — Life in Days + Notable People is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
People + life-in-days knowledge for AI agents. Public MCP; x402 on Base; OAuth for private tools.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http dayze-life-in-days-notable-people-mcp https://dayze.com/api/mcp
# 2 — ask your agent for something these tools do
# notable_search, notable_profile, notable_pack and 175 more
Dayze — Life in Days + Notable People costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http dayze-life-in-days-notable-people-mcp https://dayze.com/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
178 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Max results 1–20 |
| q | string | no | Primary search query. |
| query | string | no | Alias for q. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Person slug, e.g. albert-einstein |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Person slug, e.g. albert-einstein |
| similar | number | no | — |
| peers | number | no | — |
| date | string | no | YYYY-MM-DD target date |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Person slug, e.g. elon-musk |
| similar | number | no | — |
| peers | number | no | — |
| date | string | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug_a | string | yes | First person slug |
| slug_b | string | yes | Second person slug |
| similar | number | no | — |
| peers | number | no | — |
| date | string | no | YYYY-MM-DD target date for both packs |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Optional question. Drives the question-aware facts slice (family, names, dates, merchants) returned in facts/trace. |
| include_location | boolean | no | Include city/country label; never returns a precise address |
| include_relationships | boolean | no | Include inner-circle and relationship summaries (default true; set false to omit) |
| include_memories | boolean | no | Include recent memory summaries (default true; set false to omit) |
| include_money | boolean | no | Include money facts in the question-aware facts slice (opt-in; the grant must allow financial details). |
| q | string | no | Alias for query. |
| at | string | no | ISO date-time to answer as of (default now), e.g. 2026-09-26T09:00:00+08:00. |
| timezone | string | no | IANA time zone for today (default: where the user is now, else their home zone). |
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_u
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Question that guides facts and memories. |
| include_location | boolean | no | Include city/country label; never returns a precise address |
| include_relationships | boolean | no | Include people and relationship context. |
| include_money | boolean | no | Include the private cashflow summary |
| include_memories | boolean | no | Include recent memories. |
| include_quiz_results | boolean | no | Include latest quiz results. |
| include_places | boolean | no | Include recent canonical places. |
| include_place_visits | boolean | no | Include recent venue visits; never a GPS trail |
| include_trips | boolean | no | Include recent/upcoming trips from completed travel history |
| focus | string | no | Optional focus hint echoed in the pack (e.g. places, travel, people) |
| q | string | no | Alias for query. |
| at | string | no | ISO date-time to answer as of (default now), e.g. 2026-09-26T09:00:00+08:00. |
| timezone | string | no | IANA time zone for today (default: where the user is now, else their home zone). |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| include_event_links | boolean | no | — |
| event_links_limit | number | no | — |
| max_people | number | no | — |
| full | boolean | no | Include additional people by last interaction, up to max_people |
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 e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| course | string | no | Exact stored course facet. |
| term | string | no | Exact term facet, e.g. Fall 2014. |
| project | string | no | Exact stored project facet. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | UUID |
| include_notes | boolean | no | When true, include center.notes (server-redacted). Default false. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | — |
| cursor | string | no | — |
| include_archived | boolean | no | — |
| query | string | no | Literal substring in title, description or location. |
| from | string | no | Inclusive YYYY-MM-DD (preferred over range) |
| to | string | no | Inclusive YYYY-MM-DD |
| date_from | string | no | Alias for from. |
| date_to | string | no | Alias for to. |
| range | string | no | — |
| include_browsing | boolean | no | Include extension "Browsed domain · Xm" auto-events (default false) |
| include_calendar_blocks | boolean | no | Include Focus Time / calendar_block rows (default false) |
| kinds | array | no | Filter by event_kind: life_event, calendar_block, todo, goal, travel_segment, food_log, health_record, transaction, media_log, work, family, personal. Alias "food" (also meal/drink/snack) matches the |
| at | string | no | ISO date-time to answer as of (default now), e.g. 2026-09-26T09:00:00+08:00. |
| timezone | string | no | IANA time zone for today (default: where the user is now, else their home zone). |
| offset | number | no | Skip this many matching rows of a new snapshot (a cursor carries its own). |
| event_kinds | array | no | Alias for kinds. |
| redact_pii | boolean | no | true: redact contact details, card and account numbers and secrets in description, location and scoreboard, even where this connection may see them. Never unredacts: without travel_secrets:read they a |
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 own
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | — |
| query | string | no | Literal substring search over name, slug, email, occupation and context tags; with wealth_category=reviewed, name only. No fuzzy fallback. |
| context_tags | array | no | Require every exact context tag, case insensitive (for example ["model"]). Cannot combine with wealth_category. |
| occupation | string | no | Require this literal substring in the occupation field. Cannot combine with wealth_category. |
| wealth_category | string | no | Only explicitly owner-reviewed wealth-category contacts. Returns id and name only; cannot combine with occupation or context_tags. |
| limit | number | no | Page size (default 100, max 500) |
| offset | number | no | Skip N rows (default 0) |
| include_notes | boolean | no | When true, include notes (server-redacted). Default false. |
| lists | array | no | Only contacts on any of these contact lists (ids or slugs from list_contact_lists), by name; page with offset. Cannot combine with query, occupation, context_tags, wealth_category or cursor. |
| include_lists | boolean | no | When true, each contact includes lists: [{ id, name, slug }]. Default false. |
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(change_id) reverts a change. Requires context.write; share tokens cannot write. ($0.10; API key requi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | UUID of a person the authenticated user owns |
| request_id | string | no | Required on personal-write OAuth. Unique for a new write; reuse for an exact retry. |
| name | string | no | Rename contact (also refreshes URL slug). Prefer this over create+merge for spelling fixes |
| preserve_old_name_as_alias | boolean | no | When renaming, keep the previous name as a former_name alias (default true) |
| is_favorite | boolean | no | Favorite flag. Favorites (and VIP) appear in get_context_pack inner_circle |
| tier | string | no | Relationship priority. VIP stays in inner_circle even when not favorited |
| relationship | string | no | Relationship label (friend, sister, …). Empty or null clears |
| relationships | array | no | Who they are to the user, in primary-first order (for example Friend + Client) |
| context_tags | array | no | Contexts such as Work, Personal, Family, plus custom tags |
| notes | string | no | Replaces people.notes (does not append). Empty or null clears |
| birthday | string | no | YYYY, YYYY-MM, YYYY-MM-DD, or MM-DD / --MM-DD (year unknown; 02-29 ok). Null/empty clears |
| wallets | array | no | PHI-930: full list of ENS (.eth) / SNS (.sol) names and/or addresses for this contact. Merged into social_handles (legacy ens/ens_address kept); empty array clears wallet keys only. |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Notable person slug (e.g. taylor-swift) |
| bio | string | no | — |
| about | string | no | — |
| occupation | string | no | — |
| birth_place | string | no | — |
| birth_date | string | no | YYYY, YYYY-MM, or YYYY-MM-DD. Null/empty clears |
| net_worth | string | no | — |
| residence | string | no | — |
| before_fame | string | no | — |
| trivia | string | no | — |
| family_life | string | no | — |
| zodiac | string | no | — |
| flag | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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), pl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| what | string | yes | What they ate or drank (required). Example: Mee Pok |
| kind | string | no | — |
| meal_period | string | no | Spoken period when consumed_at is omitted, e.g. "late lunch" |
| consumed_at | string | no | ISO instant; wins over meal_period |
| place | string | no | Venue or location |
| merchant | string | no | Restaurant, stall, or shop |
| amount | number | no | Price if mentioned |
| currency | string | no | ISO currency, e.g. SGD |
| calories | number | no | Kilocalories explicitly stated by the user; overrides the automatic heuristic and is stored with user provenance |
| with | array | no | Companion names, aliases, ids, or group tokens. "my parents" / Mum / Dad resolve via aliases; "family" expands to CRM rows with family relationship labels |
| people_names | array | no | Alias for with |
| person_ids | array | no | Owned person UUIDs to tag (user-scoped) |
| notes | string | no | — |
| paid_by | string | no | Who paid. A person's name or alias for a third party; "self" / "me" = the user paid (recorded in Finance); "unknown" = payer not known. Not a payment method: use payment_method |
| payment_method | string | no | How it was paid (cash, card, PayLah, PayNow…). Saved on the Finance transaction; never the payer |
| expense_id | string | no | Link this entry to ONE existing Finance transaction you own (UUID from get_expenses / log_expense) instead of recording a new one |
| dish_items | array | no | Ordered dishes in this entry. Each requires name; price and rating are optional. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 / unknown), payment_method (how it was paid, saved on the linked Finance transaction), expense_id (li
| Parameter | Type | Required | Notes |
|---|---|---|---|
| food_id | string | yes | UUID of a food diary row the authenticated user owns |
| what | string | no | Full updated dish/drink text (replaces, does not append). Example: Salmon Bento + hot tea |
| item | string | no | Alias for what. |
| food | string | no | Alias for what. |
| description | string | no | Alias for what (the dish, not notes). |
| kind | string | no | — |
| calories | number | no | Correct the kcal value (0 is a real value). Stored as user-stated unless calories_source says agent_estimate. To clear it to unknown (not zero; totals skip it) send null, or calories_source "unknown" |
| calories_source | string | no | Provenance of calories: user (the user said it, default) or agent_estimate (your estimate). unknown (without calories) clears the kcal value |
| meal_period | string | no | Spoken period when consumed_at is omitted, e.g. "late lunch" |
| consumed_at | string | no | ISO instant; wins over meal_period |
| place | string | no | Venue or location. Empty or null clears |
| merchant | string | no | Restaurant, stall, or shop. Empty or null clears |
| amount | number | no | Price if mentioned |
| currency | string | no | ISO currency, e.g. SGD |
| with | array | no | Companion names, aliases, or ids to add (does not remove existing tags) |
| people | array | no | Alias for with |
| people_names | array | no | Alias for with |
| person_name | string | no | One companion to add, by name |
| person_ids | array | no | Owned person UUIDs to tag (user-scoped) |
| notes | string | no | Replaces notes. Empty or null clears |
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 wi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| food_id | string | yes | UUID of a Food Diary row the authenticated user owns |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| food_id | string | yes | UUID of a Food Diary row the authenticated user owns |
| image_base64 | string | no | Image bytes as base64 (optional data:image/...;base64, prefix). Use this or url. |
| url | string | no | Public https image URL to fetch and store. Use this or image_base64. |
| filename | string | no | Optional original filename |
| keep_consumed_at | boolean | no | true keeps the entry time even if the photo EXIF has a capture time |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | Event title (required). |
| event_date | string | no | Start date YYYY-MM-DD, YYYY-MM, or YYYY (required). Alias: date. For a task, its real due date; if the user gave none, ask. Don't use today. |
| date | string | no | Alias for event_date. |
| event_time | string | no | Optional start time: 8pm, 20:00, or 20:00:00. Alias: time. Leave it out when nobody said it. |
| time | string | no | Alias for event_time. |
| end_date | string | no | Optional end date YYYY-MM-DD (multi-day, or a night that ends the next day). |
| end_time | string | no | Optional end time (same formats as event_time). Works without event_time, e.g. a wake time alone. |
| location | string | no | Free-text place. Or pass city + country. |
| city | string | no | Structured city (composed into location if location omitted) |
| country | string | no | Structured country |
| description | string | no | Notes about the event. Alias: notes. |
| notes | string | no | Alias for description. |
| category | string | no | e.g. sleep, funeral, family, work, travel. Stored as events.category and event_type. |
| event_type | string | no | Optional event kind (e.g. todo, goal, work). Worked out from category when omitted. |
| external_url | string | no | — |
| visibility | string | no | Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private. |
| image_url | string | no | Optional cover image URL for Explore + /e share cards. |
| timezone | string | no | IANA timezone for wall-clock display (e.g. America/New_York). |
| reminder_enabled | boolean | no | Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off. |
| reminder_minutes_before | number | no | Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes). |
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). Adds a bedtime to a wake-only sleep: event_t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | UUID of a calendar event the authenticated user owns |
| title | string | no | Updated title (replaces). Cannot be empty. |
| event_date | string | no | Start date YYYY-MM-DD, YYYY-MM, or YYYY. Alias: date. |
| date | string | no | Alias for event_date. |
| date_precision | string | no | Soft date precision stored in metadata. |
| event_time | string | no | Start time: 8pm, 20:00, or 20:00:00. Empty or null clears. Alias: time. |
| time | string | no | Alias for event_time. |
| end_date | string | no | Optional end date YYYY-MM-DD (multi-day, or a night that ends the next day). |
| end_time | string | no | Optional end time (same formats as event_time). |
| location | string | no | Empty or null clears |
| description | string | no | Notes about the event (replaces). Empty or null clears. Alias: notes. |
| notes | string | no | Alias for description. |
| category | string | no | e.g. sleep, funeral, family, work, travel. Stored as events.category and event_type. |
| external_url | string | no | — |
| visibility | string | no | Updates both events.visibility and the enforced events.is_private flag. |
| image_url | string | no | Cover image URL. Empty or null clears. |
| timezone | string | no | IANA timezone for wall-clock display. Empty or null clears. |
| people | array | no | People names or person UUIDs to add (event_people role=with). Does not remove existing tags. |
| with | array | no | Alias for people. |
| people_names | array | no | Alias for people. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | The story in a few words (max 200), e.g. "Mia called the moon a banana". |
| description | string | no | The longer story, in the user's words where possible. |
| moment_date | string | no | When it happened: YYYY-MM-DD, YYYY-MM or YYYY (alias date). With event_id and no date, the event's date is used. Otherwise required. |
| date | string | no | Alias for moment_date. |
| moment_date_precision | string | no | How exact the date is. YYYY-MM and YYYY default to month and year; circa for "around then". |
| moment_time | string | no | Optional local time-of-day when it happened (HH:mm or HH:mm:ss). Null/empty = date-only. Not the row created_at. |
| end_date | string | no | Optional last day YYYY-MM-DD, for a moment that spans days. |
| moment_type | string | no | Default memory. |
| location_name | string | no | Where it happened, only as the user said it. With event_id and no place, the event's location is used. Alias: location. |
| location | string | no | Alias for location_name. |
| person_ids | array | no | Owned contact ids of people in the story (max 25). An id that isn't the user's saves nothing. |
| people_names | array | no | Names the user said; tagged only when they match a saved contact (never created). Unmatched names come back in unresolved_people. |
| event_id | string | no | A calendar event this story is about (owned). Links the new moment to it; the event is not changed. |
| cover_image_url | string | no | Optional https image link for the moment's cover. |
| media_urls | array | no | Optional https image links (max 10). |
| tags | array | no | Optional short tags (max 20, 40 characters each). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 lis
| Parameter | Type | Required | Notes |
|---|---|---|---|
| moment_id | string | yes | UUID of a moment the user owns (from log_moment). |
| title | string | no | New title (max 200). Cannot be empty. |
| description | string | no | Replaces the story text. Empty or null clears. |
| moment_date | string | no | YYYY-MM-DD, YYYY-MM or YYYY (alias date). |
| date | string | no | Alias for moment_date. |
| moment_date_precision | string | no | How exact the date is. YYYY-MM and YYYY default to month and year; circa for "around then". |
| moment_time | string | no | Optional local HH:mm or HH:mm:ss. Empty or null clears (date-only). |
| end_date | string | no | YYYY-MM-DD. Empty or null clears. |
| moment_type | string | no | Default memory. |
| location_name | string | no | Replaces the place. Empty or null clears. Alias: location. |
| location | string | no | Alias for location_name. |
| person_ids | array | no | Replaces the tagged people (with people_names). [] clears. Owned contact ids only. |
| people_names | array | no | Replaces the tagged people (with person_ids); names match saved contacts only. |
| event_id | string | no | Link the moment to an owned event (the event is not changed). Empty or null unlinks. |
| cover_image_url | string | no | https image link. Empty or null clears. |
| media_urls | array | no | Replaces the image links. [] clears. |
| tags | array | no | Replaces the tags. [] clears. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 on
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_name | string | yes | Who the reply is owed to, as the user said it (e.g. "Ilana"). |
| person_id | string | no | An owned contact id; links that contact directly. |
| draft | string | no | The reply text to send later, max 20,000 characters. Replaces the saved draft; empty or null clears. Alias: draft_message. |
| draft_message | string | no | Alias for draft. |
| summary | string | no | One line (max 280) in your own words: what the reply is about. Never paste the email body, subject line or sender address. |
| channel | string | no | Where to reply: whatsapp, email, sms, call, imessage, telegram, instagram, facebook, signal, linkedin, twitter, slack, reddit, teams, work_email, zoom, dayze, other; the platform the conversation is o |
| category | string | no | Default personal. |
| received_at | string | no | When they wrote (ISO date-time). Default now. |
| source | object | no | The email the reply answers, as ids only (e.g. a search_gmail id is a message_id). Never a subject, sender or text. On update, null clears it. |
| update_existing | boolean | no | When an unsent reply for this thread or person exists, write draft/summary onto it instead of returning it unchanged. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reply_id | string | no | Read one reply (ignores the filters). |
| status | string | no | — |
| person_name | string | no | — |
| person_id | string | no | — |
| limit | number | no | 1-200, default 50. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reply_id | string | yes | From create_pending_reply or get_pending_replies. |
| draft | string | no | The reply text to send later, max 20,000 characters. Replaces the saved draft; empty or null clears. Alias: draft_message. |
| draft_message | string | no | Alias for draft. |
| summary | string | no | One line (max 280) in your own words: what the reply is about. Never paste the email body, subject line or sender address. |
| channel | string | no | Where to reply: whatsapp, email, sms, call, imessage, telegram, instagram, facebook, signal, linkedin, twitter, slack, reddit, teams, work_email, zoom, dayze, other; the platform the conversation is o |
| category | string | no | — |
| received_at | string | no | — |
| person_id | string | no | — |
| person_name | string | no | — |
| source | object | no | The email the reply answers, as ids only (e.g. a search_gmail id is a message_id). Never a subject, sender or text. On update, null clears it. |
| status | string | no | — |
| snooze_until | string | no | ISO date-time, with status snoozed. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reply_id | string | no | — |
| person_name | string | no | — |
| person_id | string | no | — |
| outcome | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 rep
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | An owned contact id. |
| person_name | string | no | The contact as the user said it ("Vadim"); linked only on one match. |
| kind | string | no | Default message. |
| summary | string | no | One line (max 280) in your own words. Never the email body, subject or sender. |
| occurred_at | string | no | When it happened (ISO date-time). Default now. |
| reply_id | string | no | A Pending Reply (get_pending_replies) this closes as sent. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | UUID of a calendar event the authenticated user owns |
| request_id | string | yes | Required client idempotency key; a replay returns the first result. |
| idempotency_key | string | no | Alias for request_id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | no | Track title (required unless track blob parses) |
| artist | string | no | Artist name (required unless track blob parses) |
| track | string | no | Optional "Artist - Title (year remaster)" blob |
| year_note | string | no | Optional year or remaster note |
| remaster_note | string | no | Alias for year_note |
| source_url | string | no | Optional https link |
| url | string | no | Alias for source_url |
| person_id | string | no | Optional owned contact id from get_people; the track appears on that contact profile and shared history |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Semantic focus (optional) |
| limit | number | no | Max rows 1–50, default 20 |
| q | string | no | Alias for query. |
| focus | string | no | Ranks memories toward this focus. next_actions (or current, now) returns only up to 4 next-action memories. |
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_d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| memory_id | string | no | Optional: the memory the preview named (checked against it). A preview of several memory_ids names none. |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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 w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| canonical_memory_id | string | no | Surviving memory id, checked against the preview. |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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_w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| memory_id | string | no | Memory id, checked against the preview. |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
Authenticated user cashflow summary: spend, income, net, and top spend categories. Requires OAuth or a supported scoped credential. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| period | string | no | Summary window. Default month. |
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 omi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Nickname or display name to resolve |
| query | string | no | Alias for name |
| include_notes | boolean | no | Include redacted notes (default false) |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | CRM people.id |
| name | string | no | Surface name if person_id unknown |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| include_counts | boolean | no | Include member_count (default true). |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | List name, e.g. "Book club". |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| list_id | string | no | Contact list id from list_contact_lists. |
| list_name | string | no | Contact list name or slug, when list_id is not known. |
| person_ids | array | yes | Contact ids (at most 500). |
| create_if_missing | boolean | no | Create the list named list_name if it does not exist (default false). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| list_id | string | no | Contact list id from list_contact_lists. |
| list_name | string | no | Contact list name or slug, when list_id is not known. |
| person_ids | array | yes | Contact ids (at most 500). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 sa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | CRM people.id |
| name | string | no | Surface name if person_id unknown |
| from | string | no | Inclusive YYYY-MM-DD filter |
| to | string | no | Inclusive YYYY-MM-DD filter |
| limit | number | no | Max rows 1–200, default 50 |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | CRM people.id |
| name | string | no | Surface name if person_id unknown |
| from | string | no | Inclusive YYYY-MM-DD filter |
| to | string | no | Inclusive YYYY-MM-DD filter |
| limit | number | no | Max rows 1–200, default 50 |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | — |
| name | string | no | — |
| from | string | no | Inclusive YYYY-MM-DD filter |
| to | string | no | Inclusive YYYY-MM-DD filter |
| kind | string | no | Optional filter: meeting, visit, gift, stayed_over, met, … |
| limit | number | no | Max rows 1–100, default 40 |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | — |
| person_name | string | no | — |
| place_id | string | no | — |
| place_query | string | no | Venue/merchant substring |
| expense_id | string | no | — |
| event_id | string | no | — |
| from | string | no | Inclusive YYYY-MM-DD |
| to | string | no | Inclusive YYYY-MM-DD |
| limit | number | no | Max 1–50, default 25 |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Fact or phrase to explain |
| fact | string | no | Alias for query |
| limit | number | no | Max evidence rows 1–20, default 8 |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Max rows 1–50, default 15 |
| kind | string | no | Optional: entity_mention | duplicate_people |
| auto_cleanup | boolean | no | Auto-dismiss non-person / auto-link existing (default true) |
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 `
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Max trackers 1–200, default 50 |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tracker_id | string | no | Event UUID of the tracker |
| tracker_title | string | no | Title match when id unknown |
| title | string | no | Alias of tracker_title |
| reset_at | string | no | ISO datetime of the reset (default now) |
| note | string | no | Optional note stored in tracking history |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Max results 1–50 |
| entity_type | string | no | Route a Moment query to search_moments. |
| from | string | no | Inclusive account-local YYYY-MM-DD lower bound for all search routes. May be used alone. |
| to | string | no | Inclusive account-local YYYY-MM-DD upper bound for all search routes. May be used alone. |
| start | string | no | Alias for from. |
| end | string | no | Alias for to. |
| query | string | no | Primary search query. |
| q | string | no | Alias for query. |
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 d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Gmail search query, e.g. "is:unread newer_than:7d", "from:airline subject:itinerary", "receipt newer_than:30d" |
| q | string | no | Alias for query |
| max_results | number | no | Max messages to return (default 10, max 20) |
| account | string | no | Mailbox email, connection id, or Google subject (from list_gmail_accounts) |
| string | no | Alias for account | |
| after | string | no | Exclusive lower bound as account-local YYYY-MM-DDTHH:mm, or an offset-aware ISO instant |
| before | string | no | Exclusive upper bound as account-local YYYY-MM-DDTHH:mm, or an offset-aware ISO instant |
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
No parameter schema on file.
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 onl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message_id | string | yes | Gmail message id from search_gmail |
| id | string | no | Alias for message_id |
| account | string | no | Mailbox selector (email or connection id) |
| string | no | Alias for account |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message_id | string | yes | — |
| attachment_id | string | yes | — |
| account | string | no | — |
| string | no | — |
Inspect an event fact from a saved Dayze answer before correcting it. Requires calendar read and travel details access. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message_id | string | yes | Saved assistant answer message UUID. |
| source_ref | string | yes | events:<id> or event_people:<id> from that answer. |
List the owner’s recent event classification and event-person correction ledger, including undone entries. ($0.10; API key required)
No parameter schema on file.
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message_id | string | yes | — |
| source_ref | string | yes | — |
| action | string | yes | — |
| value | string | no | Required when action is correct. |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
Undo an owned event fact correction by ledger ID. Supply request_id for safe retries. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| correction_id | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
Sleep: log overnight or nap. Cross-midnight OK (e.g. 14:00→03:00 = 13h / 780m). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| started_at | string | yes | ISO start |
| ended_at | string | yes | ISO end |
| sleep_type | string | no | — |
| timezone | string | no | — |
| timezone_start | string | no | — |
| timezone_end | string | no | — |
| quality | number | no | — |
| notes | string | no | — |
| source | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Sleep: list typed sleep/nap records with duration_minutes. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
| limit | number | no | — |
Sleep: day/week/month totals and averages. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | — |
Sleep: patch an existing sleep record by sleep_id. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sleep_id | string | yes | — |
| started_at | string | no | — |
| ended_at | string | no | — |
| sleep_type | string | no | — |
| quality | number | no | — |
| notes | string | no | — |
| timezone | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject_type | string | no | self, or person with person_id. |
| person_id | string | no | Owned contact id; required for person. |
| status | string | no | open (default: every condition not resolved), one status, or all. |
| condition_id | string | no | One condition, with its recent check-ins and care items. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject_type | string | yes | self, or person with person_id. |
| person_id | string | no | Owned contact id; required for person. |
| name | string | yes | What the user calls it, in their words (e.g. "Blurry near vision"). Never a diagnosis they did not give. |
| status | string | no | suspected (default for a new one) | active | improving | resolved. |
| symptoms | string | no | What they notice, e.g. "Blurry at near distance, worse in the evening". |
| body_area | string | no | Where, e.g. "Left eye". |
| started_on | string | no | YYYY-MM-DD it started (onset). Default for a new one: today. |
| tracking_focus | string | no | What to watch on each check-in. |
| treatments | string | no | What they use or do for it. |
| notes | string | no | — |
| source | string | no | Provenance, e.g. user_reported. Default user_reported. |
| confirmation_status | string | no | unconfirmed | reported (default) | confirmed; never infer confirmed. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| condition_id | string | yes | From get_conditions or create_condition. |
| subject_type | string | yes | self, or person with person_id. |
| person_id | string | no | Owned contact id; required for person. |
| name | string | no | What the user calls it, in their words (e.g. "Blurry near vision"). Never a diagnosis they did not give. |
| status | string | no | suspected (default for a new one) | active | improving | resolved. |
| symptoms | string | no | What they notice, e.g. "Blurry at near distance, worse in the evening". |
| body_area | string | no | Where, e.g. "Left eye". |
| started_on | string | no | YYYY-MM-DD it started (onset). Default for a new one: today. |
| tracking_focus | string | no | What to watch on each check-in. |
| treatments | string | no | What they use or do for it. |
| notes | string | no | — |
| source | string | no | Provenance, e.g. user_reported. Default user_reported. |
| confirmation_status | string | no | unconfirmed | reported (default) | confirmed; never infer confirmed. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| condition_id | string | yes | From get_conditions or create_condition. |
| subject_type | string | yes | self, or person with person_id. |
| person_id | string | no | Owned contact id; required for person. |
| logged_on | string | no | YYYY-MM-DD; default today in the user's time zone. |
| severity | integer | no | 0 (none) to 10 (worst). |
| note | string | no | — |
| treatment_done | string | no | What they did for it that day. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject_type | string | no | self, or person with person_id. |
| person_id | string | no | Owned contact id; required for person. |
| kind | string | no | — |
| condition_id | string | no | From get_conditions or create_condition. |
| observed_from | string | no | Inclusive ISO timestamp. |
| observed_to | string | no | Inclusive ISO timestamp. |
| include_superseded | boolean | no | Default false. True includes correction history. |
| limit | integer | no | Default 100. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject_type | string | yes | self, or person with person_id. |
| person_id | string | no | Owned contact id; required for person. |
| kind | string | yes | — |
| metric | string | yes | What was measured, e.g. severity, completed, energy or duration_minutes. |
| observed_at | string | yes | When it applied, as an ISO timestamp. |
| value | number/string/boolean | yes | A scalar value. Put its scale or measurement in unit. |
| unit | string | no | Optional scale/unit, e.g. 0-10, boolean, 1-5, minutes. |
| confidence | number | yes | — |
| source | string | yes | Provenance, e.g. user_reported, condition_checkin, daily_checkin or sleep_record. |
| condition_id | string | no | From get_conditions or create_condition. |
| supersedes_id | string | no | The effective trend point this correction replaces. |
| correction_reason | string | no | Required with supersedes_id; what was wrong with the prior point. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Canonicalize a venue name via place aliases and fuzzy match. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | no | — |
| query | string | no | — |
| name | string | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Name contains, case-insensitive (e.g. "QA Map Probe Tokyo"). |
| city | string | no | — |
| country | string | no | — |
| area | string | no | — |
| near | string | no | Filter saved cards by area/tag/notes (e.g. Madeira). |
| tag | string | no | — |
| affordability | string | no | $ | $$ | $$$ |
| limit | number | no | — |
Fetch one saved place card (business_contacts) by place_id — address, opening hours, affordability, notes. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place_id | string | no | — |
| business_contact_id | string | no | — |
| id | string | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| address | string | no | — |
| opening_hours | string | no | — |
| hours | string | no | Alias for opening_hours |
| affordability | string | no | $ | $$ | $$$ (or 1–3) |
| price_level | string | no | Alias for affordability |
| category | string | no | restaurant|cafe|supermarket|shop|hawker|… (aliases mapped to business_contacts.category) |
| area | string | no | — |
| city | string | no | — |
| country | string | no | — |
| notes | string | no | — |
| tags | array | no | — |
| website | string | no | — |
| phone | string | no | — |
| phone_numbers | array | no | — |
| description | string | no | — |
| hours_source | string | no | agent | google_places | user |
| idempotency_key | string | no | — |
| latitude | number | no | — |
| longitude | number | no | — |
Patch a saved place card by place_id / business_contact_id. Unspecified fields stay unchanged (hours, affordability, address, notes, …). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place_id | string | no | — |
| business_contact_id | string | no | — |
| id | string | no | — |
| name | string | no | — |
| address | string | no | — |
| opening_hours | string | no | — |
| hours | string | no | — |
| affordability | string | no | — |
| price_level | string | no | — |
| category | string | no | — |
| area | string | no | — |
| city | string | no | — |
| country | string | no | — |
| notes | string | no | — |
| tags | array | no | — |
| website | string | no | — |
| phone | string | no | — |
| phone_numbers | array | no | — |
| description | string | no | — |
| hours_source | string | no | — |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place_id | string | no | — |
| business_contact_id | string | no | — |
| id | string | no | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place_id | string | no | — |
| business_contact_id | string | no | — |
| fill_empty_only | boolean | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Resume token from a previous next_cursor. |
| limit | number | no | Max targets this run (1–100, default 25). |
| dry_run | boolean | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | yes | — |
| place_id | string | no | — |
| from | string | no | — |
| to | string | no | — |
| person_ids | array | no | — |
Read evidence-backed travel legs with their origin, destination, timing, mode, provider, distance, and linked expense. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
| limit | number | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| origin | string | yes | — |
| origin_address | string | no | — |
| origin_city | string | no | — |
| origin_country | string | no | — |
| destination | string | yes | — |
| destination_address | string | no | — |
| destination_city | string | no | — |
| destination_country | string | no | — |
| departed_at | string | yes | — |
| arrived_at | string | yes | — |
| mode | string | yes | — |
| provider | string | no | — |
| distance_meters | number | no | — |
| duration_seconds | number | no | — |
| expense_id | string | no | — |
| source | string | yes | — |
| external_id | string | yes | — |
| source_reference | string | no | — |
| confidence | number | no | — |
| route_geometry | object | no | — |
Normalized visit history (venue-level by default). Merges GPS location_visits + place_visits (MCP/Uber digs). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
| place | string | no | — |
| city | string | no | — |
| country | string | no | — |
| precision | string | no | — |
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 required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | no | — |
| name | string | no | Alias for place |
| place_id | string | no | — |
| arrived_at | string | no | ISO or YYYY-MM-DD |
| date | string | no | Alias for arrived_at |
| departed_at | string | no | — |
| source | string | no | — |
| evidence_expense_id | string | no | — |
| evidence_event_id | string | no | — |
| address | string | no | — |
| city | string | no | — |
| country | string | no | — |
| confidence | number | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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_a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| visit_id | string | yes | UUID of a place_visits row: visit_id from get_place_visits or log_place_visit. |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
Likely current or at-time place with confidence and provenance. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| at | string | no | ISO timestamp |
Permitted assertion states for a person (flagged life-graph; off by default). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| people_id | string | no | CRM people.id UUID |
| person_id | string | no | Alias for people_id |
| predicates | array | no | — |
| valid_at | string | no | — |
| known_at | string | no | — |
Propose assertion create/correct without committing (flagged; off by default). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| people_id | string | no | — |
| person_id | string | no | — |
| predicate | string | no | — |
| value | object | no | — |
| source_text | string | no | — |
| operations | array | no | — |
| client_id | string | no | — |
| idempotency_key | string | no | — |
| request_id | string | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| proposal_id | string | yes | — |
| payload_hash | string | yes | — |
| owner_session_id | string | yes | — |
| idempotency_key | string | no | — |
| request_id | string | no | — |
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 omitte
| Parameter | Type | Required | Notes |
|---|---|---|---|
| location | string | no | Freeform “City, Country” or “Venue, City, Country” |
| city | string | no | — |
| country | string | no | — |
| place | string | no | Venue / residence name (e.g. The Madeira) |
| venue | string | no | Alias for place |
| address | string | no | — |
| latitude | number | no | — |
| longitude | number | no | — |
| set_home | boolean | no | Also write profiles.location / home_location (default true) |
| check_in | boolean | no | Write a location_visits row when place or coordinates are set (default true in that case) |
| idempotency_key | string | no | — |
| request_id | string | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Continue the same immutable one-hour snapshot; other filters remain frozen. |
| include_archived | boolean | no | — |
| from | string | no | — |
| to | string | no | — |
| status | string | no | — |
| limit | number | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
| limit | number | no | — |
| include_eras | boolean | no | Include life_eras rows (default true) |
Single trip with linked places and people. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| trip_id | string | yes | — |
Completed/confirmed travel only. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
Canonical countries from completed trips (not other people travel). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
| include_residence | boolean | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | — |
| to | string | no | — |
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 mon
| Parameter | Type | Required | Notes |
|---|---|---|---|
| city | string | yes | — |
| country | string | no | — |
| start_date | string | no | YYYY-MM-DD |
| date | string | no | Alias for start_date |
| end_date | string | no | — |
| kind | string | no | — |
| confidence | string | no | — |
| title | string | no | — |
| evidence | string | no | Source note (Gmail id, address, etc.) |
| mirror_event | boolean | no | Also insert category=travel calendar event (default true) |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 creat
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| relationship | string | no | — |
| relationships | array | no | — |
| context_tags | array | no | — |
| tier | string | no | — |
| is_favorite | boolean | no | — |
| birthday | string | no | YYYY-MM-DD, YYYY-MM, YYYY, or MM-DD / --MM-DD when the year is unknown (same as update_person) |
| notes | string | no | — |
| string | no | — | |
| phone | string | no | — |
| aliases | array | no | — |
| wallets | array | no | PHI-930: ENS (.eth) / SNS (.sol) names and/or addresses for this contact. Stored in social_handles (legacy ens/ens_address kept). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preview_id | string | yes | Durable preview_id returned by merge_people_preview; review the 30-day restore window before applying. |
| primary_person_id | string | yes | — |
| duplicate_person_ids | array | yes | — |
| restore_window_acknowledged | boolean | yes | Must be true — confirms the 30-day restore window was reviewed before apply. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | UUID of the owned contact to review. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | UUID of the owned contact to delete. |
| preview_id | string | yes | Durable preview_id returned by delete_person_preview. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original result. |
| idempotency_key | string | no | Alias for request_id. |
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_moments, merge_memory, correct_memory_atom would delete, archive or overwrite (with their before-state an
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tool | string | yes | — |
| arguments | object | yes | The arguments you would pass to that tool (e.g. { food_id }). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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_cont
| Parameter | Type | Required | Notes |
|---|---|---|---|
| restore_id | string | yes | restore_id returned by the destructive tool. |
| request_id | string | no | Optional idempotency key. |
| idempotency_key | string | no | Alias for request_id. |
Score likely CRM duplicate pairs before merge_people. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | Score against one person; omit for global scan. |
| limit | number | no | — |
| min_probability | number | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| other_person_id | string | yes | — |
| relationship_type | string | no | — |
| notes | string | no | — |
| source | string | no | — |
| confidence | number | no | — |
| direction | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
List graph edges for one CRM person. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | — |
| sector | string | no | — |
| stage | string | no | — |
| strength | number | no | — |
| status | string | no | — |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| connection_id | string | no | — |
| person_id | string | no | — |
| other_person_id | string | no | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| name | string | yes | — |
| preserve_old_name_as_alias | boolean | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| legal_name | string | no | — |
| preferred_name | string | no | — |
| pronouns | string | no | — |
| website | string | no | — |
| social_handles | object | no | — |
| aliases | array | no | — |
| user_relationships | array | no | — |
| force | boolean | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Add a nickname/payment handle/misspelling alias for one CRM person. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| alias | string | yes | — |
| alias_kind | string | no | — |
| source | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 exactl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| alias | string | yes | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
Update alias_kind/source/display for an existing alias. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| alias | string | yes | — |
| alias_kind | string | no | — |
| source | string | no | — |
| alias_display | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checks | array | no | — |
| min_confidence | number | no | — |
| limit | number | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| primary_person_id | string | yes | — |
| duplicate_person_ids | array | yes | — |
| field_choices | object | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| change_id | string | yes | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Patch an existing person↔person graph edge (type/context/source/confidence). ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| connection_id | string | no | — |
| person_id | string | no | — |
| other_person_id | string | no | — |
| relationship_type | string | no | — |
| notes | string | no | — |
| source | string | no | — |
| confidence | number | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Alias of get_person_connections — list graph edges for one CRM person. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
Set entity_type (person/company/merchant/…) on a CRM row without losing transactions or links. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity_id | string | no | — |
| person_id | string | no | — |
| entity_type | string | yes | — |
| identity_status | string | no | — |
| confidence | number | no | — |
| source | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity_id | string | no | — |
| person_id | string | no | — |
| target_type | string | no | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
Compact identity resolution candidates by person_id or query (alias/name/payment signals). Prefer over bulk get_people. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | no | — |
| query | string | no | — |
| limit | number | no | — |
Preview whitespace/phone/handle normalization changes (no title-case of stylized names). ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| rules | array | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Apply a normalize_people_preview by preview_id. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preview_id | string | yes | — |
| candidate_hash | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checks | array | no | — |
| auto_merge_threshold | number | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Fetch start_people_cleanup result by cleanup_id. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cleanup_id | string | yes | — |
Dismiss a pending entity clarification (not_person, etc.). ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clarification_id | string | yes | — |
| reason | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Link a clarification surface to an existing person. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clarification_id | string | yes | — |
| person_id | string | no | — |
| person_name | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 req
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reason | string | no | — |
| entity_type | string | no | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from_type | string | yes | — |
| from_id | string | yes | — |
| to_type | string | yes | — |
| to_id | string | yes | — |
| link_type | string | no | trip_stay | trip_flight | stay_place | event_place | event_person | transaction_trip | event_event | other. Aliases: participant/participants/attendee/attendees → event_person. |
| notes | string | no | — |
| source | string | no | Provenance tag, e.g. manual, inferred:name_match:title. |
| confidence | number | no | 0-1. Defaults to 1 for explicit links. 0 means rejected: every read leaves the edge out. |
| status | string | no | confirmed: confirm an existing edge (usually an inferred one: +confirmed, confidence 1), or create the edge if it does not exist yet, as a call without status does. rejected: tombstone an existing edg |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity_type | string | yes | — |
| entity_id | string | yes | — |
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. Ne
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | What the user calls the item, e.g. "MacBook Pro 14 (2023)". |
| category | string | no | electronics | instruments | clothing | shoes | bags | accessories | jewelry | watches | collectibles | sports | health | home | tools | vehicles | furniture | other. Computers, phones and cameras are |
| subtype | string | no | Specific kind: laptop, sweatshirt, guitar. Alias: item_type. |
| item_type | string | no | Alias for subtype (the stored column). |
| subtype_confidence | number | no | 0-1, when the subtype is a guess. |
| brand | string | no | — |
| model | string | no | — |
| reference_number | string | no | Manufacturer reference or model number (e.g. a watch reference). |
| condition | string | no | — |
| status | string | no | Default owned. To archive, use archive_inventory_item. |
| purchase_date | string | no | YYYY-MM-DD |
| acquired_date | string | no | YYYY-MM-DD it came into the user's life (gift, inheritance). add_inventory_item also stores it as purchase_date when none is given. |
| purchase_price | number | no | — |
| estimated_value | number | no | What it is worth now. Alias: current_value. |
| current_value | number | no | Alias for estimated_value (the stored column). |
| currency | string | no | ISO 4217, e.g. USD, SGD. Default USD. |
| location | string | no | Where it is kept. |
| notes | string | no | Free text from the user. |
| tags | array | no | Replaces the tag list. |
| acquisition_type | string | no | purchase | gift | inheritance | … |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | e.g. electronics, watches, clothing |
| status | string | no | — |
| include_archived | boolean | no | Include archived and no-longer-owned items. |
| include_sensitive | boolean | no | API keys only: include stored identifiers. Ignored for connectors without pii:read. |
| sort_by | string | no | — |
| limit | number | no | 1-200, default 50 |
| offset | number | no | — |
| search | string | no | Match name, brand, model, notes or reference number. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | yes | The item id from add_inventory_item, get_inventory or search_inventory. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | no | The item id from add_inventory_item, get_inventory or search_inventory. |
| nickname | string | no | In place of inventory_id: what the user calls the item ("MacBook", "work laptop"), matched to exactly one of their active items by nickname, name or model. Several matches are refused with the candida |
| name | string | no | What the user calls the item, e.g. "MacBook Pro 14 (2023)". |
| category | string | no | electronics | instruments | clothing | shoes | bags | accessories | jewelry | watches | collectibles | sports | health | home | tools | vehicles | furniture | other. Computers, phones and cameras are |
| subtype | string | no | Specific kind: laptop, sweatshirt, guitar. Alias: item_type. |
| item_type | string | no | Alias for subtype (the stored column). |
| subtype_confidence | number | no | 0-1, when the subtype is a guess. |
| brand | string | no | — |
| model | string | no | — |
| reference_number | string | no | Manufacturer reference or model number (e.g. a watch reference). |
| condition | string | no | — |
| status | string | no | Default owned. To archive, use archive_inventory_item. |
| purchase_date | string | no | YYYY-MM-DD |
| acquired_date | string | no | YYYY-MM-DD it came into the user's life (gift, inheritance). add_inventory_item also stores it as purchase_date when none is given. |
| purchase_price | number | no | — |
| estimated_value | number | no | What it is worth now. Alias: current_value. |
| current_value | number | no | Alias for estimated_value (the stored column). |
| currency | string | no | ISO 4217, e.g. USD, SGD. Default USD. |
| location | string | no | Where it is kept. |
| notes | string | no | Free text from the user. |
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 pre
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | yes | The item id from add_inventory_item, get_inventory or search_inventory. |
| reason | string | no | Why it is archived (kept on the receipt). |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Match name, brand, model, notes or reference number. |
| category | string | no | e.g. electronics, watches, clothing |
| status | string | no | — |
| include_archived | boolean | no | Include archived and no-longer-owned items. |
| include_sensitive | boolean | no | API keys only: include stored identifiers. Ignored for connectors without pii:read. |
| sort_by | string | no | — |
| limit | number | no | 1-200, default 50 |
| offset | number | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | yes | The item id from add_inventory_item, get_inventory or search_inventory. |
| value | number | yes | What it is worth. |
| currency | string | no | ISO 4217, default USD. |
| valued_at | string | no | ISO date or date-time; default now. |
| source | string | no | Where the value comes from: appraisal, listing, estimate, … |
| notes | string | no | — |
| confidence | number | no | 0-1 |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Chronological valuation history for one owned Inventory item. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | yes | The item id from add_inventory_item, get_inventory or search_inventory. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | yes | The item id from add_inventory_item, get_inventory or search_inventory. |
| person_id | string | yes | Contact id (from get_people or resolve_person). |
| relationship | string | yes | — |
| notes | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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=inventor
| Parameter | Type | Required | Notes |
|---|---|---|---|
| image_base64 | string | no | Base64 image bytes (optional data: URL prefix). |
| url | string | no | Remote image URL to fetch and store. |
| image | object | no | ChatGPT chat attachment. Prefer this for images from the conversation; API clients may still use image_base64 or url. |
| filename | string | no | — |
| mime_type | string | no | image/jpeg, image/png, image/webp, … Alias: content_type. |
| content_type | string | no | Alias for mime_type. |
| asset_type | string | no | photo | receipt | certificate | document | thumbnail | … |
| role | string | no | original | cover | thumbnail | … |
| parent_asset_id | string | no | — |
| entity_type | string | no | event | expense | place | person | inventory (inventory_item maps to inventory) | … |
| entity_id | string | no | — |
| description | string | no | — |
| metadata | object | no | Free-form metadata, merged into the stored metadata (metadata.source becomes the asset source). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Fetch one asset by asset_id with signed_url for download/processing. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | yes | — |
| include_signed_url | boolean | no | — |
Patch role, metadata, description, or parent_asset_id (e.g. mark as processed). ($0.08; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | yes | — |
| role | string | no | original | cover | thumbnail | … |
| asset_type | string | no | — |
| description | string | no | — |
| filename | string | no | — |
| parent_asset_id | string | no | — |
| metadata | object | no | Free-form metadata, merged into the stored metadata (metadata.source becomes the asset source). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 revie
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | yes | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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. An
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | no | Repair saved upload: new request_id, no image bytes. |
| entity_type | string | yes | — |
| entity_id | string | yes | — |
| content_type | string | no | — |
| title | string | no | — |
| description | string | no | — |
| set_as_avatar | boolean | no | — |
| image_base64 | string | no | Base64 image bytes (optional data: URL prefix). |
| url | string | no | Remote image URL to fetch and store. |
| image | object | no | ChatGPT chat attachment. Prefer this for images from the conversation; API clients may still use image_base64 or url. |
| mime_type | string | no | Alias for content_type. |
| filename | string | no | — |
| role | string | no | original | cover | thumbnail | receipt | … (photo is stored as original). set_as_avatar implies cover. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | no | — |
| entity_type | string | yes | — |
| entity_id | string | yes | — |
| role | string | no | original | cover | thumbnail | … |
| asset_type | string | no | — |
| url | string | no | A web link (https://…) to an image. Not a storage path: upload a file, then attach its asset_id. |
| metadata | object | no | Free-form metadata, merged into the stored metadata (metadata.source becomes the asset source). |
| description | string | no | Caption for the attached asset (kept on a linked copy too). |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
List assets linked to an entity (role, signed_url, versions). entity_type inventory_item → inventory. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity_type | string | yes | — |
| entity_id | string | yes | — |
| asset_type | string | no | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | number | yes | — |
| currency | string | no | — |
| date | string | no | — |
| merchant | string | no | Payee name (defaults when omitted) |
| person_id | string | no | The contact paid (needed for "IOU repayment" / "IOU lend"). |
| category | string | no | "IOU repayment" = paying a contact back; "IOU lend" = lending a contact cash (both need person_id). |
| cash_moved | boolean | no | With category "IOU lend": true (default) = cash changed hands as a loan (shows in Finance); false = an owed share, e.g. of a dinner logged as its own expense (IOU only). Ignored for iou_type invoice. |
| iou_type | string | no | loan (default) or invoice. Invoice = unpaid receivable: no Finance outflow on create; payment is income "Invoice payment". Use for invoice/receivable phrasings; "I lent…" → loan. |
| client_label | string | no | Optional free-text client label for an invoice IOU. |
| notes | string | no | Free text about the payment. Alias: description. |
| description | string | no | Alias for notes. |
| person_name | string | no | The contact by name, when there is no person_id (IOU categories need one or the other). |
| source | string | no | Payment rail or app: venmo, zelle, cashapp, card, cash, … Alias: payment_method. |
| payment_method | string | no | Alias for source. |
| external_id | string | no | The provider's id for this payment; dedupes imports. Without a request_id it is required. |
| project | string | no | Venture/project label → stored as project:{slug} tag (e.g. Max Soko poker venture) |
| tags | array | no | Optional tags. Prefer project: / ext: / rail: grammar. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account_id | string | no | Stable provider account identity for imported payments. |
| message_id | string | no | — |
| extractor_version | string | no | — |
| amount | number | yes | — |
| direction | string | yes | — |
| type | string | no | — |
| person_id | string | no | — |
| date | string | no | — |
| currency | string | no | — |
| merchant | string | no | — |
| notes | string | no | Free text about the payment. Alias: description. |
| source | string | no | — |
| external_id | string | no | — |
| payment_method | string | no | — |
| category | string | no | Ledger category (e.g. Salary, Gift, Refund, Transfer in, Food & Dining). "IOU repayment" = a contact paying back a loan IOU; "IOU lend" = a cash loan; "Invoice payment" = collecting an unpaid invoice |
| cash_moved | boolean | no | With category "IOU lend": true (default) = cash changed hands as a loan (shows in Finance); false = an owed share, e.g. of a dinner logged as its own expense (IOU only). Ignored for iou_type invoice. |
| iou_type | string | no | loan (default) or invoice. Invoice = unpaid receivable: no Finance outflow on create; payment is income "Invoice payment". Use for invoice/receivable phrasings; "I lent…" → loan. |
| client_label | string | no | Optional free-text client label for an invoice IOU. |
| not_iou_repayment | boolean | no | true only when income from a contact with an open IOU is unrelated to it. |
| mirror_event | boolean | no | Also insert optional Money · calendar event (default false) |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Override Gmail search (default from:venmo.com paid/payment) |
| max_results | number | no | — |
| dry_run | boolean | no | — |
| mirror_event | boolean | no | Also create Money · calendar annotations |
| account | string | no | Mailbox email or connection id |
| string | no | Alias for account | |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Override Gmail search (default from:uber.com receipt/trip) |
| max_results | number | no | — |
| dry_run | boolean | no | — |
| account | string | no | — |
| string | no | — | |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | — |
| max_results | number | no | — |
| dry_run | boolean | no | — |
| account | string | no | — |
| string | no | — | |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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 mon
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | number | yes | — |
| date | string | no | — |
| currency | string | no | — |
| merchant | string | no | — |
| notes | string | no | Free text about the payment. Alias: description. |
| source | string | no | — |
| external_id | string | no | — |
| payment_method | string | no | — |
| person_id | string | no | — |
| category | string | no | e.g. Salary, Gift, Refund. "IOU repayment" and "IOU lend" need person_id. |
| cash_moved | boolean | no | With category "IOU lend": true (default) = cash changed hands as a loan (shows in Finance); false = an owed share, e.g. of a dinner logged as its own expense (IOU only). Ignored for iou_type invoice. |
| iou_type | string | no | loan (default) or invoice. Invoice = unpaid receivable: no Finance outflow on create; payment is income "Invoice payment". Use for invoice/receivable phrasings; "I lent…" → loan. |
| client_label | string | no | Optional free-text client label for an invoice IOU. |
| not_iou_repayment | boolean | no | true only when income from a contact with an open IOU is unrelated to it. |
| person_name | string | no | The contact by name, when there is no person_id (IOU categories need one or the other). |
| description | string | no | Alias for notes. |
| project | string | no | Venture/project label → stored as project:{slug} tag (e.g. Max Soko poker venture) |
| tags | array | no | Optional tags. Prefer project: / ext: / rail: grammar. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
PATCH an expense row. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| expense_id | string | yes | — |
| amount | number | no | — |
| category | string | no | — |
| merchant | string | no | — |
| notes | string | no | — |
| description | string | no | — |
| date | string | no | YYYY-MM-DD expense_date |
| currency | string | no | — |
| payment_method | string | no | e.g. venmo, cash, card |
| source | string | no | Alias of payment_method |
| project | string | no | Venture label → project:{slug} tag |
| tags | array | no | — |
| external_id | string | no | Optional; merges ext:{source}:{id} into tags |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Atomic expense + optional inventory item creation. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | What was bought (also the Inventory item name). Alias: merchant. |
| amount | number | yes | — |
| currency | string | no | ISO 4217; default USD. |
| date | string | no | YYYY-MM-DD; default today. |
| merchant | string | no | Where it was bought; stands in for name when name is missing. |
| category | string | no | Expense category (default purchase); also the item category when inventory_details has none. |
| create_inventory | boolean | no | false = the expense only, no Inventory item (default true). |
| inventory_details | object | no | The Inventory item: category, brand, model, condition, notes. |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
Mark inventory sold + record sale proceeds with gain/loss. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inventory_id | string | yes | The item sold (get_inventory / search_inventory). |
| amount | number | yes | Sale proceeds. |
| currency | string | no | ISO 4217; default USD. |
| sold_at | string | no | YYYY-MM-DD; default today. Alias: date. |
| date | string | no | Alias for sold_at. |
| marketplace | string | no | Where it sold (the income row's merchant; default "sale"). |
| notes | string | no | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Continue the same immutable one-hour snapshot; other filters remain frozen. |
| include_archived | boolean | no | — |
| limit | number | no | Page size 1-500, default 100. |
| offset | number | no | Skip this many rows of a new snapshot (a cursor carries its own). |
| from | string | no | — |
| to | string | no | — |
| type | string | no | — |
| tag | string | no | Exact tag, e.g. project:max-soko-poker-venture or rail:zelle |
| project | string | no | Project label or slug → project:{slug} |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Continue the same immutable one-hour snapshot; other filters remain frozen. |
| include_archived | boolean | no | — |
| limit | number | no | Page size 1-500, default 100. |
| offset | number | no | Skip this many rows of a new snapshot (a cursor carries its own). |
| query | string | no | — |
| tag | string | no | — |
| project | string | no | — |
Search person photos and entity assets by query/metadata. Returns inline MCP image attachments. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | — |
| from | string | no | Inclusive YYYY-MM-DD: photos added on or after this day (UTC). |
| to | string | no | Inclusive YYYY-MM-DD: photos added on or before this day (UTC). |
| person_ids | array | no | — |
| place_id | string | no | — |
| limit | number | no | Max photos 1-50, default 20. |
Single photo metadata + secure URL. Returns inline MCP image attachment when available. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| photo_id | string | yes | — |
Assets linked to an event. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person_id | string | yes | — |
| offset | integer | no | — |
| limit | integer | no | — |
Assets linked to a canonical place. ($0.10; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place_id | string | yes | — |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| family | string | yes | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preview_id | string | yes | — |
| candidate_hash | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | — |
| reason | string | no | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| expense_id | string | yes | — |
| reason | string | no | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| trip_id | string | yes | — |
| reason | string | no | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| restore_id | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| restore_id | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| restore_id | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| restore_id | string | yes | — |
| request_id | string | yes | — |
| idempotency_key | string | no | Alias for request_id. |
List owned Moments by date, title, type, tag, person or place. Stable moment_id and inspect_url for each. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | YYYY-MM-DD inclusive |
| to | string | no | YYYY-MM-DD inclusive |
| limit | integer | no | — |
| offset | integer | no | — |
| title | string | no | — |
| moment_type | string | no | — |
| tag | string | no | — |
| person_id | string | no | — |
| place | string | no | — |
Search only owned Moment stories and titles within an optional date range. Returns stable moment_ids. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | — |
| from | string | no | YYYY-MM-DD inclusive |
| to | string | no | YYYY-MM-DD inclusive |
| limit | integer | no | — |
| offset | integer | no | — |
Group exact Moment duplicates first, then possible near duplicates for human review. Never merges automatically. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | yes | YYYY-MM-DD inclusive |
| to | string | yes | YYYY-MM-DD inclusive |
Read a Moment and linked impact and store a reviewed deletion preview; nothing is removed. ($0.05; API key required)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| moment_id | string | yes | — |
| request_id | string | no | Client idempotency key (retries return original result). |
| idempotency_key | string | no | Alias for request_id. |
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;
| Parameter | Type | Required | Notes |
|---|---|---|---|
| moment_id | string | no | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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 applyin
| Parameter | Type | Required | Notes |
|---|---|---|---|
| canonical_id | string | yes | — |
| retired_ids | array | yes | — |
| preview_id | string | yes | preview_id returned by preview_destructive_change for this tool. |
| restore_window_acknowledged | boolean | yes | Must be true after reviewing the preview and its 30-day restore window. |
| request_id | string | yes | Required idempotency key; retries return the original receipt. |
| idempotency_key | string | no | Alias for request_id. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | First civil day, YYYY-MM-DD, in the account timezone. Alone = that one day. Default: today. |
| to | string | no | Last civil day, YYYY-MM-DD, inclusive. |
| date | string | no | Alias for from (one day). |
| timezone | string | no | Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins. |
| at | string | no | Optional ISO instant to read "today" at (defaults to now). |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| timezone | string | no | Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins. |
| at | string | no | Optional ISO instant to read "today" at (defaults to now). |
| currency | string | no | Optional 3-letter display currency for the money totals (default: the account's most used). |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | First civil day, YYYY-MM-DD, in the account timezone. Alone = that one day. Default: today. |
| to | string | no | Last civil day, YYYY-MM-DD, inclusive. |
| date | string | no | Alias for from (one day). |
| place | string | no | Optional venue or merchant to match. |
| timezone | string | no | Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins. |
| at | string | no | Optional ISO instant to read "today" at (defaults to now). |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | First civil day, YYYY-MM-DD, in the account timezone. Alone = that one day. Default: today. |
| to | string | no | Last civil day, YYYY-MM-DD, inclusive. |
| date | string | no | Alias for from (one day). |
| category | string | no | Optional expense category to total, matched case-insensitively (e.g. food, transport). |
| currency | string | no | Optional 3-letter display currency (e.g. SGD). |
| timezone | string | no | Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins. |
| at | string | no | Optional ISO instant to read "today" at (defaults to now). |
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>"
| Parameter | Type | Required | Notes |
|---|---|---|---|
| type | string | yes | What kind of entry. |
| text | string | yes | What the user had, bought or did, in their words (max 500). For food the item ("kopi peng"); for an expense what it was for. |
| when | string | no | Optional ISO 8601 instant with offset when it happened. Leave out for now. |
| place | string | no | Optional place or merchant name. |
| amount | number | no | Price paid, a positive number. Required for type expense. |
| currency | string | no | 3-letter currency of amount (e.g. SGD). |
| category | string | no | Optional Finance category, type expense only. |
| timezone | string | no | Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins. |
| request_id | string | no | A new id (UUID) per write; send the same value again only to retry this exact call (the retry returns the first result). |
| idempotency_key | string | no | Alias for request_id. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Dayze — Life in Days + Notable People or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.6.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Dayze — Life in Days + Notable People can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.