MCP
The 18 tools
Everything an MCP-connected assistant can do in PersonalCRM, grouped by what it touches.
Once connected, your assistant has these tools. Names follow a
strict verb_noun pattern, descriptions are written as agent prompts, and
every destructive tool is annotated so well-behaved clients ask you before
deleting anything.
Contacts
| Tool | What it does |
|---|---|
list_contacts | Search and filter your people, including needsContact: true for everyone who's overdue. |
get_contact | Full profile for one person: fields, cadence, priority, when you were last in touch. |
create_contact | Add a person. Used for one-offs and bulk imports from pasted data. |
update_contact | Change fields, cadence, networks. |
delete_contact | Remove a person (destructive, confirmed first). |
Notes
| Tool | What it does |
|---|---|
list_note_types | The user's types, each with what it counts as. Call this first: the type decides whether a note resets a cadence. |
create_note | The core action: record what happened, with any number of people, a date and a type. |
list_notes | History, filtered by contact, type or date range. |
update_note | Change the text, date, type or the people on it. |
delete_note | Remove a note. Everyone on it is recalculated. |
Reminders
| Tool | What it does |
|---|---|
list_reminders | Open or completed reminders, per contact or overall. |
create_reminder | A dated to-do naming any number of people, or none ("ask how the interview went, Friday"). Can repeat. |
update_reminder | Reschedule, reword, retag, change the repeat, complete, or reopen. |
delete_reminder | Remove one (destructive, confirmed first). |
Networks
| Tool | What it does |
|---|---|
list_networks | Your circles, with their emoji and description. |
create_network | Add a circle (Work, Running Club, …). |
update_network | Rename, change the emoji or the description. |
delete_network | Remove a circle: contacts stay, only the label goes (destructive, confirmed first). |
What agents do with these
A few real prompts and the tools they trigger:
- "Who am I falling out of touch with?" →
list_contacts(needsContact: true) - "Log a coffee with Sarah, we talked about her Series A" →
list_note_types+create_note - "Prep me for tomorrow's dinner with James" →
get_contact+list_notes+list_reminders - "Import this CSV of my Notion contacts and guess sensible cadences" → repeated
create_contactwith reasonedcontactFrequency
Rate limits and auth are the same as the REST API: one key, 120 requests/minute, everything scoped to your account.