Skip to main content
Glama
CRM MCP Server

CRM MCP Server

by Exlumina

CRM

A self-hosted CRM for people, companies, pipelines, and follow-ups, with a browser workspace and authenticated MCP tools.

Download

v0.1.0 · TAR.GZ source package Node.js 24+, npm, and a current browser.

v0.1.0 release notes · SHA-256 checksum

This is a standalone public edition, selectively adapted from an internal application. It has its own Node.js server, SQLite database and authentication. It contains no real customer records, private service endpoints or connection to another company's CRM. Installations start empty; demo data is optional and fictional.

Related MCP server: fast_mcp_template

Quick start

Extract the source archive and open a terminal in crm-0.1.0, or clone the repository with git clone https://github.com/Exlumina/crm.git and enter crm. Then run:

npm ci
npm run setup
npm run build
npm start

Open http://127.0.0.1:3000. Open the generated .env locally and use CRM_ADMIN_PASSWORD to sign in. Setup generates fresh random credentials without printing them and leaves existing configuration unchanged. Keep .env private. Stop the server with Ctrl-C.

Optional fictional demo, before starting the server:

npm run seed:demo

The demo never imports external data. Review its command output; it is a separate opt-in action.

Make it yours

Edit config/company.json created by setup. Set the display name, IANA timezone, initial boards and stages. A new database initializes from these boards; later board changes happen in the CRM's Configure board controls. Existing data is never reset by editing this file. Website icons are optional and off by default.

{
  "name": "Example Company CRM",
  "timezone": "UTC",
  "loadCompanyIcons": false,
  "boards": [
    {"id": "sales", "name": "Sales", "stages": ["To review", "Contacted", "Won", "Closed"]}
  ]
}

Your database is in data/ by default. Each installation uses only its own database and credentials. See configuration and security before remote hosting.

What is included

  • People and companies, searchable records, tags and ratings.

  • Independent pipeline memberships and stages, table and board views, keyboard/touch stage selectors and desktop dragging.

  • Notes, reply obligations, explicit due dates, next actions and change history.

  • Saved views and per-board browser display preferences.

  • Shared browser/MCP validation, current-revision checks and retry-safe operation IDs.

  • Record export and full database backup/restore commands.

  • Optional website icons with initials fallback. No enrichment or external network lookup is enabled by default.

This is one trusted workspace per installation. It is not a multi-tenant SaaS: no per-user permissions, billing, email sending, inbox synchronization or built-in OAuth/SSO. Using an MCP client does not grant permission to contact anyone. Read SECURITY.md.

Connect an MCP client

The server exposes Streamable HTTP at /mcp on your own installation. Configure a client that supports a remote MCP URL and bearer authentication:

  • URL for local use: http://127.0.0.1:3000/mcp

  • Authorization header: Bearer <your CRM_MCP_TOKEN from .env>

Use a secret field or the client's supported environment-variable mechanism. Do not paste the token into source files, URLs, prompts or issue reports. Each client has its own configuration format; follow that client's documentation. The browser administrator password and MCP bearer token are separate.

The MCP can search/read records, create/update records, manage boards/stages, append notes, set follow-ups, inspect history and export bounded pages. Write tools require the current revision and a stable operation identifier. See MCP usage. No hosted service or proprietary plugin is required. Authentication compatibility with a particular cloud client must be checked separately; clients that require OAuth need their own supported gateway.

Development

npm ci
npm run setup
# Terminal 1:
npm run dev:server
# Terminal 2:
npm run dev

Open the Vite URL at http://127.0.0.1:5173. The generated local-development origin permits that exact origin. Remove CRM_DEV_ORIGIN when hosting remotely. Vite proxies API requests to the local backend.

npm test
npm run typecheck
npm run build
npm run check:public

Tests use temporary synthetic databases. Never point them at your production data. Architecture explains the shared service and extension points.

Backup and restore

Keep protected backups outside the source checkout. Read recovery instructions for the exact CLI and offline restore procedure. A Git clone contains application code, not CRM data. A code rollback does not undo database writes.

License

MIT, copyright Exlumina contributors. Dependencies retain their own licenses. The public edition and an internal deployment are independently operated. Forks may customize the software under the license; do not imply endorsement or publish another company's branding, data or credentials.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Unofficial MCP server for Livespace CRM, exposing 11 intent-shaped tools for safe, bounded read and write operations on records, deals, activities, and notifications via Streamable HTTP.
      286 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP clients to call the app's REST endpoints as tools for listing, retrieving, and creating items, plus health checks, over Streamable HTTP. Destructive delete operations are excluded by default.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Exposes a closed set of policy-governed tools over a remote HTTP MCP endpoint, letting clients browse companies, issues, agents, projects and pending human decisions. Enables commenting on, creating, assigning and updating issues and resolving approvals, plan confirmations, question cards and suspended tool actions, with each tool governed by an allow/ask/deny policy.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP clients to connect through a single Streamable HTTP endpoint, discover allowed backend servers and tools, inspect schemas, and invoke allowlisted catalog operations with authentication and scope checks.
      621 npm
      MIT