ChurnLens
Buyer-side SaaS due-diligence maths: NRR, GRR, revenue concentration, zombie MRR, LTV:CAC.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http churnlens 'https://churnlens.site/api/mcp'
{
"mcpServers": {
"churnlens": {
"type": "http",
"url": "https://churnlens.site/api/mcp"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
ChurnLens MCP server
Buyer-side SaaS due-diligence maths for AI agents. Net and gross revenue retention, revenue concentration risk, dormant ("zombie") MRR, LTV:CAC and a composite health score — computed from figures you supply.
Live endpoint: https://churnlens.site/api/mcp — streamable HTTP, MCP
protocol 2024-11-05. No authentication, no account, no rate limit, and
nothing you send is stored.
Install
Claude Desktop, Claude Code, or any client that speaks stdio:
npx mcp-remote https://churnlens.site/api/mcp
By config:
{
"mcpServers": {
"churnlens": {
"command": "npx",
"args": ["mcp-remote", "https://churnlens.site/api/mcp"]
}
}
}
A GET on the endpoint returns the manifest. The machine-readable descriptor
is at /.well-known/mcp.json.
Tools
| Tool | What it returns |
|---|---|
calculate_churn_rate | NRR, GRR, revenue churn, correctly compounded annualised churn, and the NRR−GRR spread that exposes churn masked by expansion |
analyze_revenue_concentration | Herfindahl-Hirschman Index, top-N revenue share, and which customers are large enough that losing one is a balance-sheet event |
detect_zombie_mrr | Accounts still paying but dormant past a threshold, and the ARR at risk behind them |
score_saas_health | Composite 0–100 across retention, growth, concentration, efficiency and durability, plus the weakest dimension |
calculate_ltv | Gross-margin-adjusted lifetime value, LTV:CAC and CAC payback in months |
get_scoring_bands | Every threshold the tools apply, with its provenance |
Every tool returns structuredContent alongside the text block, so an agent
gets typed numbers rather than prose it has to parse back out.
Example
calculate_churn_rate({
starting_mrr: 100000,
expansion_mrr: 37000,
contraction_mrr: 5000,
churned_mrr: 17000
})
// nrr_pct: 115, grr_pct: 78, expansion_masking_spread_pts: 37
// "A wide NRR-GRR spread: expansion revenue is masking substantial
// churn underneath. Diligence should look at the retained base
// separately from upsell."
A business reporting 115% net revenue retention sounds excellent. The same business at 78% gross revenue retention is losing nearly a quarter of its revenue base a year and covering the hole with upsell. Most dashboards show the first number and not the second.
On the scoring bands
get_scoring_bands returns thresholds, not measured data. They are
informed by published industry benchmarks — SaaS Capital, Benchmarkit, Recurly
and FE International — cited with sources at
churnlens.site/benchmarks. Segment matters
enormously: median retention for enterprise infrastructure and for SMB
self-serve are not the same number. Do not present a band as though it were a
survey result.
What it does not do
These tools compute from summary figures you supply. They cannot see what only emerges from customer-level data — cohort decay curves, renewal-cliff timing, concentration in specific logos. Treat them as a first-pass screen.
Verify the maths yourself
The same calculations are open source under MIT at **kindrat86/saas-metrics** — zero dependencies, every scoring band documented, 27 tests. A result from this server can be reproduced independently.
Interactive versions for humans, no signup: churnlens.site/free.
About
ChurnLens is a buyer-side SaaS due-diligence tool for acquirers, private-equity firms and M&A analysts.
Unaffiliated with the similarly named churnlens.io (retention automation) or churnlens.tech (churn prediction).
MIT licensed. Free.
Frequently asked questions
What is ChurnLens?
Buyer-side SaaS due-diligence maths: NRR, GRR, revenue concentration, zombie MRR, LTV:CAC.
How do I install ChurnLens?
It runs as a remote server. In Claude Code: claude mcp add --transport http churnlens 'https://churnlens.site/api/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does ChurnLens need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is ChurnLens open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains ChurnLens?
It is published by kindrat86. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.