add_contactLABSCO SUMMARY
Archiving instead of deleting, throughout.
archive_contact is a soft delete and the database scripts archive before they reset, so the failure mode of letting an assistant tidy your contacts is a hidden record rather than a lost one. The trade is that this is single-machine by design: no sync, no sharing, one SQLite file. That is a good fit for a personal pipeline and a bad one for a team.
What it is
A small CRM that stores everything in a local SQLite database. Contacts, the history of calls, emails, meetings and notes against each one, follow-up todos, and CSV exports — all managed through tool calls rather than a web app.
What you get
- Contacts —
add_contact,update_contact,get_contact_details,list_contacts,search_contacts,list_contacts_by_organization,archive_contact(a soft delete) - History —
add_contact_entryrecords an interaction typed as call, email, meeting, note or task;update_contact_entry,get_contact_historyandget_recent_activitiesread and correct it - Follow-ups —
add_todo,update_todo, andget_todoswith filtering by contact, completion,days_aheadanddays_old - Exports —
export_contacts_csv,export_contact_history_csv,export_full_crm_csv,export_todos_csv - The database lives at
data/crm.sqliteand is created automatically on first run - Command-line helpers archive, list and restore database snapshots, so a reset keeps the old data
Requirements
Node.js 18+ and npm. Published as mcp-crm version 1.0.0; the documented path is clone, npm install, npm run build, then register node against ./build/crm-server.js with cwd set to the checkout. No account, no key, no network — the database is a file in the project directory, and it is git-ignored by default.
Setup effort
Build from source — git clone https://github.com/nxt3d/mcp-crm.git
USE CASES
Logging a call right after it ends
Record the interaction against the contact with a subject and what was discussed, in one sentence to the assistant.
Remembering what you last said to someone
Pull the full history for a contact before you get back in touch.
Finding everyone at a company
Filter contacts by organization instead of scrolling a flat list.
Chasing what is overdue
Ask for todos filtered by how far ahead or how long overdue they are.
Getting the data out
Export contacts, history or the whole CRM to CSV for a spreadsheet or another system.
18 tools
Listed in project docs. Your client may show a different list.
update_contactget_contact_detailslist_contactssearch_contactslist_contacts_by_organizationarchive_contactadd_contact_entryupdate_contact_entryget_contact_historyget_recent_activitiesadd_todoupdate_todoget_todosexport_contacts_csvexport_contact_history_csvexport_full_crm_csvexport_todos_csvBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
- node on PATH
- Node.js 18+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/nxt3d/mcp-crm.git
cd mcp-crm
npm install
npm run buildMCP Clients
Cursor
{
"mcpServers": {
"mcp-crm": {
"command": "node",
"args": [
"./build/crm-server.js"
],
"cwd": "<YOUR_PATH_TO_MCP_CRM>"
}
}
}