CRM

Provides a production-ready MCP server for CRM data, enabling contact, organization, history, todo management, and data exports via MCP with SQLite backend.
  • typescript

4

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "nxt3d-mcp-crm": {
      "command": "node",
      "args": [
        "./build/crm-server.js"
      ]
    }
  }
}

You have a production-ready MCP server for Customer Relationship Management that is built with TypeScript and SQLite. It exposes a set of CRM-focused tools via the MCP protocol so you can manage contacts, organizations, contact history, todos, data exports, and more with reliable, isolated database operations. This guide shows you how to install, configure, and start using the CRM MCP server in practical steps.

How to use

Start by running the CRM MCP server locally or in your deployment environment. You will connect an MCP client to the server to perform actions such as adding contacts, recording contact history, creating todos, filtering by organization, exporting data to CSV, and viewing recent activities. Use the client to issue named operations (for example, add_contact, search_contacts, add_contact_entry, add_todo, and export_* commands) and pass the required parameters through the client’s arguments. Your workflows may include creating a contact, associating it with an organization, logging interactions, planning next steps with todos, and periodically exporting CRM data for reporting.

Key usage patterns to consider:

  • Create and update contacts with essential fields like name, organization, email, and notes.
  • Attach interactions to a contact as entries to build a complete history.
  • Manage action items for follow-ups via todos and filter them by contact or completion status.
  • Export data to CSV for reporting or offline analysis, including both contacts and their history.

How to install

Prerequisites: you need Node.js 18 or newer and npm or yarn installed on your system.

# 1) Clone the CRM MCP project (replace with your actual repository URL)
git clone <repository-url>
cd mcp-crm

# 2) Install dependencies
npm install

# 3) Build the project
npm run build

# 4) Start the CRM MCP server
npm run start:crm

Configuration and usage notes

MCP integration is configured by adding a server entry to your MCP client configuration. You specify how to run the CRM MCP server from your environment so clients can connect and operate against the CRM data.

Here is the example MCP client configuration shown for the CRM server. Use the exact values in your environment if you are setting up the same server locally.

{
  "mcpServers": {
    "mcp_crm": {
      "command": "node",
      "args": ["./build/crm-server.js"],
      "cwd": "/path/to/mcp-crm"
    }
  }
}

Database and maintenance

The CRM uses a SQLite database stored at data/crm.sqlite. The system creates the database and tables automatically on first run. Archives and backups live under data/archives and are kept separate from your version control.

Key maintenance tasks include resetting the database (which archives the current state and creates a fresh one), archiving the current database, listing archives, showing statistics, and managing contact entries.

# Reset database (archive current, create fresh)
npm run db:reset

# Archive current database (backup without reset)
npm run db:archive

# List all archived databases
npm run db:list

# Show current database statistics
npm run db:stats

# Basic entry management commands
npm run db:list-entries        # List all contact entries
npm run db:view-entry 1        # View detailed entry
npm run db:delete-entry 1      # Delete entry by ID

Security and reliability

You get input validation, parameterized queries to prevent SQL injection, and sanitization to guard against XSS. All operations archive data before making changes, and restore operations back up the current state first. This design provides a zero-data-loss guarantee for backups and restores and ensures you can recover from any change.

Testing and quality

The project includes a comprehensive 3-phase testing strategy with database isolation. Run the full suite to verify infrastructure, core CRM features, and quality assurance checks before deploying to production.

# Comprehensive test suite (recommended) - uses database isolation
npm run test:comprehensive

# Individual test phases
npm run test:db
cd tests && npx tsx run-phase-b-tests.ts
cd tests && npx tsx run-phase-c-tests.ts

Available tools

add_contact

Create a new contact with fields such as name, organization, job_title, email, phone, and notes.

update_contact

Update an existing contact using id and optional fields like name, organization, job_title, email, phone, notes.

get_contact_details

Retrieve detailed information for a specific contact by id.

list_contacts

List all contacts with an optional flag to include archived contacts.

search_contacts

Search contacts by name, email, or organization using a query string.

list_contacts_by_organization

Filter and list contacts belonging to a specific organization.

archive_contact

Archive a contact to perform a soft delete.

add_contact_entry

Add an interaction history entry for a specific contact with type, subject, and content.

update_contact_entry

Update an existing contact entry identified by entry_id.

get_contact_history

Get all history entries for a specific contact, with an optional limit.

get_recent_activities

Retrieve recent CRM activities with an optional limit.

add_todo

Create a todo item for a contact with todo_text and optional target_date.

update_todo

Update an existing todo by todo_id with optional todo_text, target_date, and is_completed.

get_todos

Fetch todos with optional filtering by contact_id, completion status, and date ranges.

export_contacts_csv

Export contacts to a CSV file, including optional archived contacts and summaries.

export_contact_history_csv

Export contact history to CSV with optional per-contact filtering.

export_full_crm_csv

Export the complete CRM data to a CSV including todos.

export_todos_csv

Export all todos to a CSV file.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
CRM MCP Server - nxt3d/mcp-crm | VeilStrat