A CRM that's just
JSON files in git.
Built for AI agents and the humans who review them. No accounts, no cloud, no lock-in — your pipeline is plain files you can read, diff, and roll back, and your agents get a first-class MCP toolset.
uvx --from "jsoncrm[web,mcp]" jsoncrm serve
No install — uv runs it from PyPI · or pip install "jsoncrm[web,mcp]" · Python 3.10+ · 60-second quick start
The state is the interface
Spreadsheets proved a CRM doesn't need an app. JSONCRM goes one step further: the structured state itself is the product, shared by humans and agents. Read the full philosophy →
Files are the database
Leads, prospects, customers — one JSON array per stage. Open them in any editor, script them with anything, grep them. No hidden database, no export step.
Git is the audit log
Every change is a diff you can review and a commit you can revert. Who touched a record, when, and why — solved by the tool you already trust.
Agents are first-class users
JSON is what LLMs read and write without friction. Instead of clicking a UI, the agent gets the actual state of the business — via CLI, MCP tools, or plain file I/O.
Everything a pipeline needs, nothing it doesn't
A single pip package. No containers, no database server, no signup.
Enforced pipeline
Stages and legal transitions live in .crm.json. promote and demote move records; invalid moves simply don't exist.
Local web UI
jsoncrm serve gives humans a spreadsheet-like UI: inline editing, search, sort, pagination, dark mode — bound to the same files.
First-party MCP server
jsoncrm mcp exposes every CLI command as an MCP tool with matching schemas, so Claude, Cursor, or Codex can drive the CRM natively.
Dry-run by default available
Every write command takes --dry-run / --apply. Let an agent preview a change, review the JSON, then commit it explicitly.
Search & stats CLI
search, list, top, recent, and stats answer "who's in the pipe and what needs attention" in one line.
Validation & hygiene
validate checks structural integrity. deduplicate, filter-competitors, and merge keep large intakes clean.
Out-of-git backups
Git history won't save you from damage to .git itself. jsoncrm backup writes atomic ZIP snapshots outside the repo.
GitHub PR workflow
Run serve with a token and the "Open PR" button commits your pipeline and opens a pull request — review CRM changes like code.
One substrate, two kinds of user
Humans and agents operating on the same files — that's the whole idea.
Humans
Browse and edit in the web UI (jsoncrm serve). Use the CLI for one-offs. Review changes as git diffs or GitHub PRs. No prompt engineering required.
AI agents
Read the JSON directly, or call the CLI / MCP tools. Score leads with external data, draft follow-ups, promote qualified records — every change auditable in git, every write previewable with --dry-run.
Try it in about a minute
No account, no cloud, no configuration service. A directory, three files, and a config.
Get it running
Or install: pip install "jsoncrm[web,mcp]" · core CLI only: uvx jsoncrm stats / pip install jsoncrm. Requires Python 3.10+ · on PyPI.
Create the CRM
Then save this as .crm.json — it defines the pipeline, identity field, and score scale:
Use it
Open http://127.0.0.1:7341 and you have a pipeline with inline editing, search, and promote buttons — backed entirely by the files next to you.
Connect your agent
The MCP server speaks the same language as the CLI — same commands, same schemas, plus dry_run support on writes.
Claude Code
Claude Desktop
No MCP? Install the agent skill
Workflow knowledge without a server — dry-run discipline, identity rules, intake flow. Codex/Cursor: append skills/AGENTS-snippet.md to your AGENTS.md.
Any stdio MCP client works (Cursor, Codex, …). Then ask your agent things like "score the unscored leads in my CRM" or "promote everyone at ⭐⭐⭐⭐ or above and show me a dry run first." Full walkthrough: the MCP setup guide · recipes: the agent cookbook.
How it compares
The AI-native CRM category is being built in the cloud, priced in seats and credits. Here, it's a git repo.
| JSONCRM | Hermit CRM | Twenty | Attio | Spreadsheet | |
|---|---|---|---|---|---|
| Price | Free, OSS | Free, OSS | $0 self-host · $9–19/user/mo cloud | 3 free seats · $35–79/seat/mo + AI credits | ~free |
| Your data lives in | JSON files in your git repo | Markdown in your git repo | A Postgres DB you run, or their cloud | Their cloud | An .xlsx attachment near you |
| History & audit | git log / git revert | git log | DB backups, audit logs (paid tier) | Vendor's internal log | "pipeline_FINAL_v3.xlsx" |
| AI agent access | CLI + MCP + dry-run, unmetered | MCP server | API (rate-limited) + MCP | Credits-metered AI | CSV-mangling roulette |
| Infrastructure | pip install | pip install | Docker + Postgres | None (it's their cloud) | None |
| Web UI | Local (serve) |
Local | Full hosted app | Full hosted app | The spreadsheet is the UI |
| License | AGPL-3.0 | Apache-2.0 | AGPL-3.0 (core) | Proprietary | — |
Competitor pricing as of Oct 2026 — verify before buying. We're aiming to be the "just works and it's yours" column, not the cheapest column.
JSONCRM vs Hermit CRM
Two projects making the same bet — files + git + agents. Markdown-as-prose vs JSON-as-state, and when each wins.
Read comparison → /vsJSONCRM vs Twenty
The open Salesforce alternative vs the anti-platform. When you want a full CRM stack, and when you want files.
Read comparison → /vsJSONCRM vs Attio
The funded AI-native SaaS — seats, credits, polish — vs the free, open, file-based counterfactual.
Read comparison → /vsJSONCRM vs a spreadsheet
Your actual incumbent. Where sheets break (schema, enforcement, history, agents) and where they still win.
Read comparison → /vsJSONCRM vs Notion
A superb workspace with a database bolted in vs a purpose-built pipeline. Where the template starts fighting you.
Read comparison → /vsJSONCRM vs Airtable
The closest SaaS cousin — real structure, real records — in their cloud vs files in your repo. Seats and meters vs git.
Read comparison → /vsJSONCRM vs HubSpot
The full revenue machine vs a pipeline you own. When seats and AI credits stop making sense.
Read comparison → /guideOpen source CRM in 2026
The field guide: git-native newcomers (JSONCRM, Hermit) vs the full stacks (Twenty, SuiteCRM, Odoo, EspoCRM).
Read the guide →FAQ
The questions everyone asks about a CRM made of files.
Why JSON instead of Markdown or a database?
JSON is the structure language models read and write natively — no parsing prose, no ORM, no connection string. And unlike a database, files stay human-inspectable, diffable, and portable. If you want a CRM that's mostly notes about conversations, a Markdown-native tool like Hermit CRM is a great fit; if you want structured records an agent can compute over (scores, stages, bulk updates), JSON is the better substrate.
Where does my data live, really?
In JSON files inside a git repository on your machine (or your GitHub org). There is no JSONCRM account, no cloud, no telemetry. Because git history doesn't protect against damage to .git itself, jsoncrm backup also writes atomic ZIP snapshots outside the repository.
I don't use AI agents. Is this still for me?
Yes — start with jsoncrm serve. You get a local spreadsheet-style UI with inline editing, search, sorting, and promote/demote buttons, plus a CLI for quick lookups. The agent story is additive: it becomes valuable the day you ask an assistant to help with your pipeline.
How do multiple people collaborate?
The same way developers collaborate on code: branches, commits, and pull requests. The web UI's "Open PR" button (run serve with --github-token and --repo) commits pipeline changes to a branch and opens a PR for review.
Is it production-ready?
It's 1.0 and dogfooded daily — Pauling.AI runs its own outbound pipeline on JSONCRM. Guardrails you'd want before trusting it with real data are in: structural validation, dry-run previews on every write, atomic file writes, and out-of-git backups. As with any young tool, keep the repo backed up.
What does it cost? Can I use it at my company?
It's free under AGPL-3.0. Companies that want to embed it without AGPL obligations can get a commercial license from info@pauling.ai.
Your CRM is a git repo.
Clone it, diff it, script it, let an agent run it. Star the repo while you're here.