MCP tool reference
Each tool has a title and store annotations. Destructive tools return a confirmation id on the first call. Rate limits: 90 calls per minute per token or OAuth grant, 450 per minute per account.
Call order
Never invent UUIDs. List or search first, then copy an id into the write tool.
- Notes:
list_memory_categoriesthenadd_memory - People:
search_contactsthen tools that needcontactId - Lanes: pass
laneName,stageName, andcontactNametoadd_contact_to_lane— no id lookup needed - Queue:
list_queuethencomplete_queue_item - Writing style:
get_writing_stylethenupdate_writing_style
- add_contact_to_lane
Add a person to a lane — Puts a person on a lane, in one call. Pass laneName (or laneId), contactName (or contactId), and stageName (or stageId), e.g. laneName Friendship + stageName Acquaintance. Without a stage a new member goes on the first stage. If the person is already on the lane, this moves them to the stage you pass.
- add_contacts_to_list
Add people to a contact list — Adds people to a Contact list or Gathering. Already-on-list people are skipped.
- add_memory
Add a memory — Saves a memory about a person. Memlane indexes it so search can find it. Always call list_memory_categories first, then pass a real categoryId from that list, or categoryName to match/create. Never invent UUIDs. categoryId or categoryName is required.
- archive_gathering
Archive a Gathering — Hides a Gathering from Gather and Contact lists. Memberships stay so you can restore. Contacts are not deleted.
- complete_queue_item
Complete a Queue item — Marks a Queue item done. Reach-out items also log a connection, and promise items close the promise.
- confirm_destructive_action
Confirm a destructive action — Runs a stored destructive action after the person confirms the summary.
- create_contact
Create a contact — Adds a person to Memlane and pushes the new card to iCloud or Google when connected. You can pass up to 10 phones, 10 emails, and 10 addresses.
- create_contact_list
Create a contact list — Adds a Contact list. Optional contactIds or contactNames put people on it. To also set a Gathering schedule, use create_gathering.
- create_gathering
Create a Gathering — Creates a Contact list (or uses one with that name) and marks it as a Gathering so Memlane reminds you before it happens. Pass contactNames or contactIds to add attendees.
- create_lane
Create a lane — Adds a lane. Use template dating for dating gates, friendship for Met / Acquaintance / Friend / Close Friend, or blank (default) for Met / Friend.
- create_promise
Create a promise — Records something you owe a person, or something they owe you.
- create_stage
Create a stage — Adds a stage on a lane. Pass parentStageId or parentStageName to nest under an existing stage (fork or extend a branch). Omit both for a new root stage.
- delete_contact
Delete a contact — Deletes the person from Memlane and iCloud. This cannot be undone.
- delete_contact_list
Delete a contact list — Deletes a Contact list. People stay in Memlane. If the list is a Gathering, use delete_gathering_and_list or unmark_list_as_gathering instead.
- delete_gathering
Delete a Gathering date — Deletes one Gathering date with its notes and attendees.
- delete_gathering_and_list
Delete a Gathering and list — Deletes the Gathering and its Contact list. Contacts are not deleted.
- delete_lane
Delete a lane — Deletes a lane with every stage and membership on it. The contacts stay in Memlane.
- delete_memory
Delete a memory — Deletes one memory. Memlane cannot get it back.
- delete_promise
Delete a promise — Deletes a promise. Close it instead when you kept it, so the history stays.
- delete_reconciliation_contact
Delete the contact in a reconciliation task — Closes the task and deletes the Memlane contact with its notes.
- delete_stage
Delete a stage — Deletes an empty stage with no child stages. Move people and child stages first.
- get_contact
Get a contact — Full profile for one person: fields, lists, related people, notes, open promises, and recent connections.
- get_contact_list
Get a contact list — One Contact list with the people on it. Works for Gatherings too.
- get_gathering
Get a Gathering — Schedule and members of one Gathering.
- get_map
Get the Relationship Map — The full graph of people and how they connect, with you at the middle.
- get_writing_style
Get writing style — Returns the account writing-style profile used for reach-out drafts and example messages. Call this before update_writing_style when you need the current text.
- link_related_people
Link two people — Adds a relationship between two contacts and pushes it to iCloud. Memlane writes the reverse link too.
- list_archived_gatherings
List archived Gatherings — Hidden Gatherings you can restore. Memberships stay. Call this before restore_gathering.
- list_contact_lists
List contact lists — Every Contact list (including lists marked as Gatherings), with id, name, member count, and isGathering. Call this before list tools and copy a real listId, or pass listName on those tools.
- list_contact_notes
List a person's notes — Every note saved about one person.
- list_gathering_occurrences
List Gathering dates — Past and planned dates for one Gathering, with notes.
- list_gatherings
List Gatherings — Contact lists marked as Gatherings, with the next date. Call this before schedule or occurrence tools and copy real ids, or pass listName.
- list_lane_contacts
List people on a lane — The people on one lane with the stageId and stageName each one sits in.
- list_lanes
List lanes — Every lane with its stages (id, name, parentStageId) and how many people are on each. Lane tools also accept laneName and stageName, so you only need this to show the lanes or to pick between similar names.
- list_memory_categories
List memory categories — Categories you can file a memory under, with the id each memory needs. Call this before add_memory and copy a real categoryId (or pass categoryName to match/create). Never invent category UUIDs.
- list_promises
List promises — Promises for one person. Defaults to the open ones.
- list_queue
List the Queue — Open Queue items: reach-out nudges, birthday reminders, promise reminders, and suggestions. Call this before complete_queue_item and copy a real queueItemId.
- list_reconciliation
List the reconciliation inbox — People whose iCloud card changed or disappeared and need a decision. Call this before resolve_reconciliation and copy a real taskId.
- list_routines
List routines — Routines with their schedule and the people on each one. Call this before set_routine_contacts for a real routineId.
- log_connection
Log a connection — Records that you and this person were in touch, which resets the reach-out clock.
- mark_list_as_gathering
Make a contact list a Gathering — Turns a contact list into a Gathering so Memlane reminds you before it happens. Prefer create_gathering when the list does not exist yet.
- mark_promise_done
Close a promise — Marks a promise done.
- move_lane_contact
Move a person to another stage — Moves a person to a stage on a lane. Pass toStageName (or toStageId) with laneName (or laneId) and contactName (or contactId). If the person is not on the lane yet, this adds them at that stage.
- remove_contact_from_lane
Remove a person from a lane — Takes a person off a lane and drops their stage history.
- remove_contacts_from_list
Remove people from a contact list — Removes people from a Contact list or Gathering. People not on the list are skipped.
- rename_contact_list
Rename a contact list — Changes the name of a Contact list or Gathering.
- rename_lane
Rename a lane — Changes the name of a lane.
- rename_stage
Rename a stage — Changes the name of a stage.
- reorder_stages
Reorder stages — Sets sibling order under one parent. Send every sibling stage id for that parent exactly once (not the whole lane).
- resolve_reconciliation
Resolve a reconciliation task — Confirms a match with another contact, or dismisses the task. Use delete_reconciliation_contact to remove the person.
- restore_gathering
Restore an archived Gathering — Brings an archived Gathering back to Gather and Contact lists. Get listId from list_archived_gatherings.
- search_contacts
Search contacts — Find people by name or company. Use this first to get a contactId for other tools. Never invent contact UUIDs.
- search_memories
Search memories — Meaning-based search across everything you saved about people. Use this to answer questions about someone.
- set_contact_lists
Set contact lists — Replaces the contact lists a person belongs to. Send every list they should be on. Get list ids from list_contact_lists or get_contact — do not invent listIds. To add or remove one list, prefer add_contacts_to_list or remove_contacts_from_list.
- set_reach_out_schedule
Set a reach-out schedule — Sets how often the Reach-out nudge routine reminds you about this person.
- set_routine_contacts
Set the people on a routine — Replaces the people a routine watches. Send every contactId that should stay on it.
- skip_next_gathering
Skip the next Gathering — Marks the upcoming Gathering date as skipped and advances the schedule to the following date.
- unlink_related_people
Unlink two people — Removes the relationship between two contacts and the reverse link in iCloud.
- unmark_list_as_gathering
Delete a Gathering, keep list — Deletes the Gathering schedule and history but keeps the Contact list. Contacts are not deleted.
- update_contact
Update a contact — Changes name, company, phones, emails, addresses, or birthday on a contact card and syncs to iCloud or Google when connected. phones, emails, and addresses are full list replacements (not append). To add one entry, call get_contact, then pass the existing list plus the new item. Omit an array to leave that list unchanged. Pass an empty array to clear that list. Each list allows up to 10 entries.
- update_gathering_occurrence
Edit a Gathering date — Sets the notes, who came, or marks one Gathering date as skipped. Off-list contactIds are added to the Gathering list.
- update_gathering_schedule
Change a Gathering schedule — Sets the recurrence, next date, reminder lead, or purpose.
- update_memory
Edit a memory — Changes the text or the date of a memory.
- update_promise
Edit a promise — Changes the text, direction, due date, or status.
- update_writing_style
Update writing style — Saves the account writing-style profile (same as Settings → Your writing style). Marks it as manually edited so contact sync will not overwrite it. Pass a short style guide (tone, length, greetings, words to avoid) — not only a sample message. Pass null to clear.