npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@datasynx/agentic-crm

v1.49.1

Published

The CRM your AI agents actually run — local-first, MCP-native, one autonomous agent per customer. 82 MCP tools for Claude Code, Codex & Cursor.

Readme

Datasynx Agentic CRM · dxcrm

The CRM your AI agents actually run.

Local-first. MCP-native. One autonomous agent per customer. Your pipeline lives as plain Markdown on your machine — and your AI agents read, reason about, and update it natively inside Claude Code, Codex, and Cursor.

npm version downloads/week CI Docs stars license node

You don't open a CRM to find your customer. Your customer's agent finds you — briefed, current, and ready to act.

Your AI agents are brilliant — and forgetful. Datasynx Agentic CRM is the long-term memory and the hands they use to run your customer relationships. Every customer is a folder of human-readable Markdown on your own disk; 82 purpose-built Model Context Protocol tools let any agent load full context, score deals, forecast revenue, draft the follow-up, and log what happened — without you copy-pasting a thing.

No database. No cloud lock-in. No per-seat pricing. Zero telemetry.

See it in action

You    ▸  What's going on with Acme Corp?

Agent  ▸  ⟢ get_customer_context · get_deal_health · get_relationship_health

          Acme Corp — Negotiation · €75,000 · deal health B (78/100)
          • Last touch 2 days ago — pricing pushback from the CFO
          • Champion: VP Engineering (warm)   ⚠ Economic buyer quiet for 11 days
          • Next best action: send the ROI one-pager, loop the VP Eng into the thread

You    ▸  Draft that follow-up and log it.

Agent  ▸  ⟢ draft_email · log_interaction
          ✓ Draft ready (personalized from your "ROI follow-up" template)
          ✓ Logged to customers/acme-corp/interactions.md

Every answer is grounded in Markdown files you own and can open in any editor. Nothing is hidden in a vendor database.

How it works

flowchart LR
    You["🧑 You"] --> Agent
    Agent["🤖 Claude Code · Codex · Cursor"] <-->|Model Context Protocol| MCP

    subgraph local["🔒 Your machine"]
        MCP["⚙️ dxcrm MCP server<br/>82 typed tools · RBAC · audit"]
        Files["📁 customers/&lt;name&gt;/<br/>main_facts · interactions · pipeline"]
        MCP <--> Files
    end

    MCP -. you configure .-> Ext["✉️ Gmail · Outlook · Drive · Meet"]

| | Step | What happens | | ------ | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 01 | dxcrm init | Detects & wires up Claude Code, Codex, Cursor, Claude Desktop — one command. Seeds starter email templates & a sequence so outreach works on day one. Reconciles an older vault's shape version (re-stamps .agentic/config.json / schema.json / sources.json to the current version; never downgrades a newer one). All harness/skill markdown (CLAUDE.md, AGENTS.md, GEMINI.md, SOUL.md, SKILL.md, TOOLS.md, Cursor .mdc) is written inside a delimited managed block, refreshed in place on re-init and never clobbering your own content. | | 02 | Bring your data | dxcrm create, import from HubSpot/Salesforce/Pipedrive/CSV, or sync Gmail. | | 03 | Just ask | Your agent briefs you, drafts emails, forecasts, and logs — grounded in your files. |

Works with  ·  🟣 Claude Code  ·  🟢 Codex  ·  🔵 Cursor  ·  🟠 Claude Desktop  ·  🔌 any MCP client If it speaks the Model Context Protocol, it's connected.

Datasynx Agentic CRM is right for you if

  • ✅ You live in Claude Code / Codex / Cursor and want your CRM there too — not in another browser tab.
  • ✅ You want customer data as plain files you own, versionable in Git, readable forever.
  • ✅ You're done pasting context into prompts — your agent should already know the account.
  • ✅ You want deal scoring, forecasting, and next-best-actions on demand, not a quarterly export.
  • ✅ You care about privacy & GDPR — local-first, built-in erasure, and zero telemetry.
  • ✅ You want a CRM you can fork and extend in TypeScript, not file a feature request and wait.

Features

Without vs. with Datasynx Agentic CRM

| Without | With | | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | ❌ You paste account context into every prompt — and still miss things. | ✅ One MCP call loads the full, current briefing. The agent already knows the account. | | ❌ Per-seat SaaS; your customer data lives in someone else's cloud. | ✅ Free & open source (MIT). Data is plain Markdown on your machine. | | ❌ Switch to a separate CRM UI to update a deal. | ✅ Your agent updates the pipeline in place, from inside Claude Code / Codex / Cursor. | | ❌ "What exactly did we promise Acme in March?" | ✅ Hybrid search over every synced email and transcript answers in seconds. | | ❌ Forecasting means wrangling a spreadsheet. | ✅ Weighted + Monte Carlo forecast on demand, with at-risk revenue flagged. | | ❌ A security/GDPR review triggers a fire drill. | ✅ dxcrm security-report, built-in GDPR erasure, RBAC, and audit logging out of the box. |

Why it's different

| | | | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Local-first by default. | Customers are Markdown folders on your disk. No database to run, no cloud to trust. | | MCP-native, not bolted-on. | Agents call typed tools — not a scraped UI — with RBAC and an audit trail on every write. | | Grounded answers. | Every response traces back to files you can open and verify. No hallucinated pipeline. | | Hybrid recall. | Vector + full-text search over your synced inbox and call transcripts, fully on-device. | | Zero telemetry. | The CLI and MCP server phone home to nothing. The only outbound calls are integrations you explicitly enable. | | Crash- and concurrency-safe writes. | Every durable write goes through an in-process queue → a cross-process advisory lock → an atomic temp-file rename, so concurrent processes (daemon, CLI, and agents) never lose an interaction (see docs/deployment.md). | | Yours to extend. | MIT-licensed TypeScript. Fork it, add a tool, ship it. |

What's under the hood

dxcrm is a CLI and an MCP server. One install gives your agents a complete revenue toolkit:

┌──────────────────────────────────────────────────────────────────┐
│                   dxcrm MCP server  ·  82 tools                    │
│                                                                    │
│  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────────┐  │
│  │  Customer  │ │  Pipeline  │ │Relationship│ │   Forecasting   │  │
│  │  Context   │ │  & Deals   │ │   Graph    │ │ (Monte Carlo)   │  │
│  └────────────┘ └────────────┘ └────────────┘ └────────────────┘  │
│  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────────┐  │
│  │ Email · Seq│ │  Quotes ·  │ │ Tickets ·  │ │ Knowledge Base  │  │
│  │  · Drafts  │ │  Booking   │ │  Surveys   │ │  & Playbooks    │  │
│  └────────────┘ └────────────┘ └────────────┘ └────────────────┘  │
│  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────────┐  │
│  │   RBAC ·   │ │   GDPR ·   │ │ Encrypted  │ │  Goals · Agents │  │
│  │   Audit    │ │  Erasure   │ │   Vault    │ │  · Approvals    │  │
│  └────────────┘ └────────────┘ └────────────┘ └────────────────┘  │
└──────────────────────────────────────────────────────────────────┘
        ▲                ▲                ▲                ▲
  ┌─────┴─────┐   ┌──────┴─────┐   ┌──────┴─────┐   ┌──────┴──────┐
  │  Claude   │   │   Codex    │   │   Cursor   │   │ HTTP / team │
  │   Code    │   │            │   │            │   │   server    │
  └───────────┘   └────────────┘   └────────────┘   └─────────────┘

  Sync in:  Gmail · Outlook · Google Drive · Teams · Google Meet
  Import:   HubSpot · Salesforce · Pipedrive · CSV

→ Full reference: 71 CLI commands · 82 MCP tools

Every dxcrm command returns 1 on a missing prerequisite (no credentials) or missing target (unknown account/secret), so scripts can branch on $? — see Exit codes.

🚀 Quickstart

Requirements: Node.js ≥ 20. Free and self-hosted — no account required.

npm install -g @datasynx/agentic-crm

dxcrm init                                   # detect & configure Claude Code, Codex, Cursor, ...
dxcrm create "Acme Corp" --domain acme.com   # create your first customer
dxcrm contact add [email protected] --name "Jane Roe" --slug acme-corp --primary  # set the primary contact

Team mode: point every detected harness at a shared HTTP MCP server instead of a local stdio process:

dxcrm init --team http://vm-ip:3847/mcp      # writes an http transport to each harness config

The URL is validated up front and each harness gets its native HTTP transport shape (Claude Code / Cursor / Windsurf / Cline / Claude Desktop: { "type": "http", "url": ... }; Codex: transport = "streamable_http"; Hermes: type: http; OpenClaw: transport: "streamable-http"; Antigravity: serverUrl; Grok: transport: { type: "http", url }). See docs/team-setup.md.

Run with Docker (self-hosted): the official image bakes in the CPU-only, slim setup and pre-warms the embedding model — zero footprint knowledge required:

docker run -d -p 3847:3847 -v "$PWD/crm-data:/data" \
  -e ANTHROPIC_API_KEY=sk-ant-... \
  ghcr.io/datasynx/datasynx-crm:latest   # MCP HTTP server on http://localhost:3847/mcp

See docs/deployment.md.

Now open your AI agent and ask: "What's the status on Acme Corp?" — you'll get a grounded, current brief in seconds.

Migrating? Bring your existing data with you:

dxcrm import ./hubspot-export/ --from hubspot   # also: salesforce · pipedrive · csv
dxcrm sync acme-corp                            # pull Gmail threads + transcripts

Syncing Gmail also downloads every attachment, converts it to Markdown (PDF, DOCX, XLSX, PPTX, CSV, HTML, and images via on-device OCR), stores it under customers/<slug>/attachments/, links it from interactions.md, and indexes the text into LanceDB so it's semantically searchable. Export a complete, sendable bundle of all conversations and documents for a customer with the export_customer MCP tool (includeAttachmentContent: true).

Beyond Gmail, dxcrm mailbox sync connects any IMAP mailbox — Outlook/Office365, Fastmail, Yahoo, or a custom company inbox — and auto-routes every message to the right customer by sender/recipient domain (or to one customer with a slug). One mailbox connection, all customers populated, same attachment + search pipeline.

# One-time OAuth (Gmail & Microsoft 365 require it for IMAP in 2026):
dxcrm mailbox login gmail --user [email protected]
dxcrm mailbox login microsoft --user [email protected]

# Then auto-route the whole mailbox to customers by domain:
dxcrm mailbox sync --account gmail:[email protected]

Tokens are stored locally and auto-refreshed. A password-based IMAP server works too (DXCRM_IMAP_HOST / DXCRM_IMAP_USER / DXCRM_IMAP_PASS).

Secrets — entered in your browser, never in the chat

API keys, portal passwords and access tokens should never be pasted into a prompt, where they'd flow through the LLM. Instead, your agent hands you a link to a local, browser-based credential vault:

You    ▸  I need to connect our Stripe account.
Agent  ▸  ⟢ get_vault_link
          → http://localhost:3847/vault?t=…  (expires in 15 min)
          Open it and paste your key there — it's encrypted locally; I never see it.

You enter the value in the browser; it's encrypted with AES-256-GCM straight into .agentic/vault.enc on your machine and is retrievable from there — the secret never passes through the AI. The link is served by the HTTP MCP server, gated by a short-lived token, and the master key (DXCRM_VAULT_KEY) lives only in the server's environment.

Secure by default: even though the team MCP server binds 0.0.0.0, the /vault routes are reachable from localhost only — a leaked link can't be used from another machine. Put it behind a trusted reverse proxy with DXCRM_VAULT_GUI_ALLOW_REMOTE=1.

dxcrm server start                 # serves the vault GUI at /vault
export DXCRM_VAULT_KEY=…            # master key (server env only)
dxcrm vault link                   # mint a browser link from the terminal
# or, headless / scriptable:
dxcrm vault set stripe_api_key sk_live_…   ·   dxcrm vault list   ·   dxcrm vault get stripe_api_key

Agents reach this via the get_vault_link MCP tool. They get a link to hand you — never the secret itself.

Pipeline time-travel & analytics

The daemon takes a daily snapshot of your whole pipeline, so dxcrm can answer the questions no spreadsheet-CRM gets right — and exposes each as both a CLI command and an MCP tool, so a human at the terminal and an AI agent get identical insight.

dxcrm pipeline changes      # what moved since last week? (won/lost/new/stage-moves/value)
dxcrm pipeline velocity     # where do deals get stuck? (stage dwell time, sales cycle, stalled deals)
dxcrm pipeline funnel       # where do deals leak? (stage conversion %, win rate, biggest leak)
  • changes diffs the live pipeline against any past date — won, lost, new and removed deals, stage moves, value changes, and net open-value delta.
  • velocity reconstructs each deal's journey to report average time-in-stage, the average sales cycle (first-seen → won), and which open deals are rotting.
  • funnel builds a cumulative conversion funnel: how many deals reach each stage, stage-to-stage conversion, overall win rate, and the biggest leak.

Agents reach the same data via the get_pipeline_changes, get_pipeline_velocity, and get_pipeline_funnel MCP tools. No setup — it gets sharper every day the daemon runs.

What it's not

| | | | -------------------------- | --------------------------------------------------------------------------------------------- | | Not another SaaS tab. | It lives inside your AI agent and your filesystem — not a browser dashboard you have to open. | | Not a database. | Customers are Markdown folders. Back them up with cp, version them with git. | | Not a chatbot wrapper. | 82 typed MCP tools with RBAC and audit — not a single prompt pretending to be a product. | | Not a data grab. | Zero telemetry. Your data never leaves your machine unless you wire up an integration. | | Not lock-in. | MIT-licensed, plain files, export anytime. Leaving is a cp -r away. |

Built for teams

Run dxcrm solo, or stand up a shared MCP server for the whole revenue org:

  • Shared HTTP MCP serverdxcrm server exposes the same tools to every teammate's agent.
  • Transport trust model — RBAC and bearer auth apply to the shared HTTP server. The default local stdio server has no bearer auth and is single-user: the actor is your DXCRM_ACTOR env var (and with no rbac.json or a system actor, RBAC is open access). Use the HTTP transport for any multi-user or networked deployment — see Deployment → Security Notes.
  • RBACadmin / manager / rep roles scope what each actor (and their agent) can read and write. A field_acl map in rbac.json additionally redacts restricted customer metadata fields per role on every context path (tool, resource, daemon notification). A static guard (__tests__/core/rbac-invariant.test.ts) asserts every gated tool's permission string exists in the allow-list, so a tool can never be silently locked out for all actors. RBAC is enforced at MCP dispatch, before input validation, so a denied caller always receives Access denied (never a schema-validation error that could leak a tool's enum values or required fields).
  • SSO — authenticate via WorkOS.
  • Audit & compliance — append-only audit trail, one-command GDPR erasure, and dxcrm security-report for vendor reviews.

→ See the Deployment and Team Setup guides.

FAQ

Where does my data live? In a folder you choose, as Markdown files. No database, no cloud. Back it up and version it like code.

Which AI tools work with it? Anything that speaks MCP — Claude Code, Codex, Cursor, Claude Desktop, and more. dxcrm init auto-configures the ones it detects.

Is it really free? Yes. MIT-licensed and self-hosted. No seats, no metering.

Can a whole team use it? Yes — run the shared HTTP MCP server with RBAC and SSO. See Team Setup.

Can I migrate from HubSpot / Salesforce / Pipedrive? Yes — dxcrm import brings in contacts and activity history. CSV is supported too.

Does it send my data anywhere? No telemetry, ever. The only outbound calls are the integrations you explicitly configure (e.g. Gmail) and the LLM your agent already uses.

Documentation

📖 Full docs site: datasynx.github.io/datasynx-crm

Development

git clone https://github.com/datasynx/datasynx-crm
cd datasynx-crm
npm ci

npm test               # Vitest (TDD) — 3,700+ tests
npm run build          # tsdown → dist/
npm run typecheck      # strict TypeScript
npm run lint           # ESLint (zero warnings)
npm run docs:generate  # regenerate the CLI/MCP reference from code
npm run docs:check     # verify all relative doc links & anchors resolve

New contributors: start with CONTRIBUTING.md (TDD workflow, Conventional Commits, docs generation). The published reference is generated from code and guarded by a drift test, so the docs can never fall behind what ships.

Roadmap

→ Full roadmap with milestones and exit criteria: ROADMAP.md

Shipped

  • ✅ 82 MCP tools · 71 CLI commands · local-first Markdown store

  • ✅ Hybrid (vector + full-text) search over emails & transcripts

  • ✅ Sync: Gmail, Outlook, Google Drive, Teams, Google Meet

  • ✅ Import: HubSpot, Salesforce, Pipedrive, CSV

  • ✅ Deal health, relationship graph/health, Monte Carlo forecasting

  • ✅ Email templates & sequences, quotes, tickets (SLA), NPS/CSAT, knowledge base

  • ✅ RBAC, append-only audit, AES-256-GCM vault, GDPR erasure (restore is GDPR-aware — it won't resurrect an erased customer; --allow-erased overrides, audited)

  • ✅ Shared HTTP MCP server, SSO (WorkOS), outbound webhooks

  • ✅ Wake-triggered per-customer agents (Telegram)

  • ✅ Customer self-service portal, native meeting scheduler

  • ✅ Omnichannel inbox: embeddable two-way web chat + WhatsApp Cloud API (rate-limited, honeypot-protected endpoints)

  • ✅ Teams/Meet transcript auto-discovery & routing

  • ✅ Live transcript subscriptions (dxcrm transcripts subscribe teams|meet)

  • ✅ Per-provider readiness checks: dxcrm doctor --integrations [--live]

Hardening (current focus)

  • 🔧 First external user: 7 days fully HubSpot-free

Exploring

  • ⚪ More notification channels (Slack)
  • ⚪ Optional read-only web dashboard
  • ⚪ Additional LLM providers for on-device summarization
  • ⚪ Community plugin marketplace

Community & Links

Star History

Star History Chart

License

MIT © 2026 Datasynx