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:
list_lanesthen add or move - 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. Call list_lanes first for laneId (and stageId). Without a stageId they go on the first stage. Use search_contacts for contactId.
- 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.
- 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_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 to the end of a lane.
- delete_contact
Delete a contact — Deletes the person from Memlane and iCloud. This cannot be undone.
- delete_gathering
Delete a Gathering date — Deletes one Gathering date with its notes and attendees.
- 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. Move people off the stage before you delete it.
- get_contact
Get a contact — Full profile for one person: fields, lists, related people, notes, open promises, and recent connections.
- 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_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.
- list_lane_contacts
List people on a lane — The people on one lane and the stage each one sits in.
- list_lanes
List lanes — Every lane with its stages and how many people are on each. Call this before add_contact_to_lane or move_lane_contact and copy real laneId / stageId values.
- 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.
- mark_promise_done
Close a promise — Marks a promise done.
- move_lane_contact
Move a person to another stage — Moves a person to a different stage on the same lane. Call list_lanes first for toStageId.
- remove_contact_from_lane
Remove a person from a lane — Takes a person off a lane and drops their stage history.
- 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 the stage order on a lane. Send every stage id exactly once.
- resolve_reconciliation
Resolve a reconciliation task — Confirms a match with another contact, or dismisses the task. Use delete_reconciliation_contact to remove the person.
- 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 get_contact (lists on that person) or from Gathering tools — do not invent listIds.
- 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.