mcp-registry/io.github.kindrat86/churnlens · v2.0.0
As of 2026-10-26 19:00 UTC, the Kindrat86 Churnlens MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 3 outages in 90 days, with a median recovery of 7 minutes.
Buyer-side SaaS due-diligence maths: NRR, GRR, revenue concentration, zombie MRR, LTV:CAC.
Point your MCP client at this streamable-http endpoint: https://churnlens.site/api/mcp
6 of 6 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
Negotiates MCP 2024-11-05. Structured output, tool output schemas and elicitation arrived in 2025-06-18.
Upgrade the MCP SDK and negotiate 2025-06-18 or newer. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.kindrat86%2Fchurnlens/fixes
{
"name": "analyze_revenue_concentration",
"description": "Assess customer concentration risk across a book of revenue using the Herfindahl-Hirschman Index (HHI), top-N share and whale detection. Answers the question every acquirer asks first: how much revenue walks out with one logo?",
"inputSchema": {
"type": "object",
"required": [
"customer_mrrs"
],
"properties": {
"top_n": {
"type": "number",
"description": "How many top customers to aggregate for the top-N share. Default 5."
},
"customer_mrrs": {
"type": "array",
"items": {
"type": "number"
},
"description": "Per-customer MRR values. Order does not matter."
},
"whale_threshold_pct": {
"type": "number",
"description": "Revenue share above which a customer counts as a whale. Default 25."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "calculate_churn_rate",
"description": "Calculate net revenue retention (NRR), gross revenue retention (GRR), revenue churn and implied customer lifetime from one period's MRR movements. Also reports the NRR-minus-GRR spread, which reveals how much churn is being masked by expansion revenue.",
"inputSchema": {
"type": "object",
"required": [
"starting_mrr"
],
"properties": {
"churned_mrr": {
"type": "number",
"description": "MRR lost to full cancellations."
},
"starting_mrr": {
"type": "number",
"description": "MRR at the start of the period, in any single currency unit."
},
"expansion_mrr": {
"type": "number",
"description": "MRR gained from upgrades and expansion within the existing base. Excludes new customers."
},
"contraction_mrr": {
"type": "number",
"description": "MRR lost to downgrades (customer retained)."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "calculate_ltv",
"description": "Calculate gross-margin-adjusted customer lifetime value, the LTV:CAC ratio and CAC payback in months. Omitting gross margin yields lifetime revenue rather than lifetime value — usually a third of the number.",
"inputSchema": {
"type": "object",
"required": [
"arpa",
"monthly_churn_rate_pct"
],
"properties": {
"cac": {
"type": "number",
"description": "Customer acquisition cost. Optional — supply it to get the ratio and payback."
},
"arpa": {
"type": "number",
"description": "Average revenue per account, per month."
},
"gross_margin_pct": {
"type": "number",
"description": "Gross margin percentage. Defaults to 100, which gives lifetime revenue."
},
"monthly_churn_rate_pct": {
"type": "number",
"description": "Monthly churn, as a percentage."
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.kindrat86/churnlens"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.kindrat86/churnlens"}) over MCP.
score_saas_health ~265 tokenscalculate_churn_rate ~223 tokenscalculate_ltv ~210 tokensanalyze_revenue_concentration ~199 tokensdetect_zombie_mrr ~198 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.kindrat86%2Fchurnlens?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.kindrat86%2Fchurnlens?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.kindrat86%2Fchurnlens.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.kindrat86%2Fchurnlens.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.kindrat86%2Fchurnlens?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:0eda789549076f52…, first seen 2026-10-17, included at leaf 4784 of 74,906. Version history · verify what your client received.
Compare: most reliable data servers · most reliable finance servers · most reliable knowledge servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 19:00 UTC, the Kindrat86 Churnlens MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 3 outages in 90 days, with a median recovery of 7 minutes.
Kindrat86 Churnlens MCP server advertises 6 tools, including analyze_revenue_concentration, calculate_churn_rate, calculate_ltv, detect_zombie_mrr, get_scoring_bands.
Point your MCP client at this streamable-http endpoint: https://churnlens.site/api/mcp
Glimind scanned all 6 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.