{
  "markdown": "# ChurnLens MCP server\n\nBuyer-side SaaS due-diligence maths for AI agents. Net and gross revenue\nretention, revenue concentration risk, dormant (\"zombie\") MRR, LTV:CAC and a\ncomposite health score — computed from figures you supply.\n\n**Live endpoint:** `https://churnlens.site/api/mcp` — streamable HTTP, MCP\nprotocol `2024-11-05`. No authentication, no account, no rate limit, and\nnothing you send is stored.\n\n## Install\n\nClaude Desktop, Claude Code, or any client that speaks stdio:\n\n```bash\nnpx mcp-remote https://churnlens.site/api/mcp\n```\n\nBy config:\n\n```json\n{\n  \"mcpServers\": {\n    \"churnlens\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://churnlens.site/api/mcp\"]\n    }\n  }\n}\n```\n\nA `GET` on the endpoint returns the manifest. The machine-readable descriptor\nis at [`/.well-known/mcp.json`](https://churnlens.site/.well-known/mcp.json).\n\n## Tools\n\n| Tool | What it returns |\n|---|---|\n| `calculate_churn_rate` | NRR, GRR, revenue churn, correctly compounded annualised churn, and the NRR−GRR spread that exposes churn masked by expansion |\n| `analyze_revenue_concentration` | Herfindahl-Hirschman Index, top-N revenue share, and which customers are large enough that losing one is a balance-sheet event |\n| `detect_zombie_mrr` | Accounts still paying but dormant past a threshold, and the ARR at risk behind them |\n| `score_saas_health` | Composite 0–100 across retention, growth, concentration, efficiency and durability, plus the weakest dimension |\n| `calculate_ltv` | Gross-margin-adjusted lifetime value, LTV:CAC and CAC payback in months |\n| `get_scoring_bands` | Every threshold the tools apply, with its provenance |\n\nEvery tool returns `structuredContent` alongside the text block, so an agent\ngets typed numbers rather than prose it has to parse back out.\n\n## Example\n\n```js\ncalculate_churn_rate({\n  starting_mrr:    100000,\n  expansion_mrr:    37000,\n  contraction_mrr:   5000,\n  churned_mrr:      17000\n})\n\n// nrr_pct: 115, grr_pct: 78, expansion_masking_spread_pts: 37\n// \"A wide NRR-GRR spread: expansion revenue is masking substantial\n//  churn underneath. Diligence should look at the retained base\n//  separately from upsell.\"\n```\n\nA business reporting 115% net revenue retention sounds excellent. The same\nbusiness at 78% gross revenue retention is losing nearly a quarter of its\nrevenue base a year and covering the hole with upsell. Most dashboards show the\nfirst number and not the second.\n\n## On the scoring bands\n\n`get_scoring_bands` returns **thresholds, not measured data**. They are\ninformed by published industry benchmarks — SaaS Capital, Benchmarkit, Recurly\nand FE International — cited with sources at\n[churnlens.site/benchmarks](https://churnlens.site/benchmarks). Segment matters\nenormously: median retention for enterprise infrastructure and for SMB\nself-serve are not the same number. Do not present a band as though it were a\nsurvey result.\n\n## What it does not do\n\nThese tools compute from summary figures you supply. They cannot see what only\nemerges from customer-level data — cohort decay curves, renewal-cliff timing,\nconcentration in specific logos. Treat them as a first-pass screen.\n\n## Verify the maths yourself\n\nThe same calculations are open source under MIT at\n[**kindrat86/saas-metrics**](https://github.com/kindrat86/saas-metrics) — zero\ndependencies, every scoring band documented, 27 tests. A result from this\nserver can be reproduced independently.\n\nInteractive versions for humans, no signup:\n[churnlens.site/free](https://churnlens.site/free).\n\n## About\n\n[ChurnLens](https://churnlens.site) is a buyer-side SaaS due-diligence tool for\nacquirers, private-equity firms and M&A analysts.\n\n> Unaffiliated with the similarly named churnlens.io (retention automation) or\n> churnlens.tech (churn prediction).\n\nMIT licensed. Free.\n",
  "bytes": 3805,
  "sha": "b5309c1bf1a4c2bc5a6492c2d9ec7dbf86ab9a430a3555d234e389539e40d567",
  "repo_slug": "kindrat86/churnlens-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kindrat86_churnlens_984c3b14/readme"
}