ChurnLens
Server Details
Buyer-side SaaS due diligence: upload subscription CSV, detect hidden churn risk
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 6 of 6 tools scored.
Each tool targets a distinct concept (revenue concentration, churn rate, LTV, zombie MRR, scoring bands, composite health). No two tools overlap in purpose.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., analyze_revenue_concentration, calculate_churn_rate). No mixed conventions.
6 tools is well-scoped for a specialized churn analytics server. Each tool earns its place, covering key metrics without bloat.
The tool surface covers the core churn analytics workflow: concentration, churn rates, LTV, zombie detection, scoring bands, and composite health. No obvious dead ends.
Available Tools
6 toolsanalyze_revenue_concentrationAInspect
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?
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | How many top customers to aggregate for the top-N share. Default 5. | |
| customer_mrrs | Yes | Per-customer MRR values. Order does not matter. | |
| whale_threshold_pct | No | Revenue share above which a customer counts as a whale. Default 25. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description names the metrics it computes (HHI, top-N share, whale detection) but does not disclose assumptions, computational complexity, or any limitations. With no annotations provided, more behavioral detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each adding value. The first sentence defines the core metrics; the second gives a concrete use case. No redundancy or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains inputs and high-level computation but lacks details on output format or interpretation (e.g., HHI scale). Given no output schema, more return-value guidance would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for all three parameters (100% coverage), including defaults. The description adds only minor context (e.g., 'Order does not matter' for customer_mrrs), so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: assessing customer concentration risk using specific metrics (HHI, top-N share, whale detection). It directly answers a concrete question, distinguishing it from sibling tools like churn rate or LTV calculations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (acquisition due diligence) but does not explicitly mention when not to use it or suggest alternatives. Nonetheless, the context is sufficiently distinctive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_churn_rateBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| churned_mrr | No | MRR lost to full cancellations. | |
| starting_mrr | Yes | MRR at the start of the period, in any single currency unit. | |
| expansion_mrr | No | MRR gained from upgrades and expansion within the existing base. Excludes new customers. | |
| contraction_mrr | No | MRR lost to downgrades (customer retained). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses what the tool calculates but does not mention any behavioral traits such as side effects, edge cases (e.g., zero starting MRR), data requirements beyond parameters, or how missing parameters affect results. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no superfluous words. First sentence states the core purpose and outputs. Second sentence highlights the added value of the NRR-minus-GRR spread. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain return values. It lists outputs (NRR, GRR, etc.) but does not specify format (percentages, numbers) or units for implied lifetime. Given the tool produces multiple metrics, the description is incomplete and leaves ambiguity about what the agent will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds little beyond listing outputs; it does not explicitly map parameters to metrics or provide additional meaning beyond the schema descriptions. The schema descriptions are adequate for churned, expansion, and contraction MRR.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific metrics calculated (NRR, GRR, revenue churn, implied customer lifetime, and NRR-minus-GRR spread) using a precise verb ('Calculate') and resource ('one period's MRR movements'). It distinguishes itself from sibling tools which focus on concentration, LTV, zombie MRR, scoring bands, and health scoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that the tool is for calculating retention metrics from MRR movements, but it does not explicitly state when to use this tool over siblings like calculate_ltv or detect_zombie_mrr, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ltvAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cac | No | Customer acquisition cost. Optional — supply it to get the ratio and payback. | |
| arpa | Yes | Average revenue per account, per month. | |
| gross_margin_pct | No | Gross margin percentage. Defaults to 100, which gives lifetime revenue. | |
| monthly_churn_rate_pct | Yes | Monthly churn, as a percentage. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as whether the tool is read-only, has side effects, or requires specific permissions. As a calculator, it is likely non-destructive, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the main purpose and provide a critical usage hint. Every part earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity and full schema coverage, the description sufficiently explains inputs and outputs. It could mention the output format (e.g., numeric values) but is largely complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds value beyond the schema by explaining the effect of omitting gross margin (lifetime revenue vs. value) and the optional nature of CAC. This provides meaningful context for parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates gross-margin-adjusted lifetime value, LTV:CAC ratio, and CAC payback months. It distinguishes between lifetime value and lifetime revenue, and the verb 'calculate' plus the specific metrics make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on what the tool computes and when to use the optional CAC parameter. However, it does not explicitly state when not to use this tool or suggest alternatives among siblings, which would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_zombie_mrrAInspect
Identify dormant-but-paying accounts — revenue that still counts in MRR but whose customers have stopped showing up. Zombie revenue is one renewal notice from cancelling and is invisible to standard revenue dashboards.
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | Yes | One entry per paying account. | |
| threshold_days | No | Days of inactivity before an account counts as dormant. Default 90. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that zombie revenue is invisible to standard dashboards and one renewal notice from cancelling, providing useful context. However, it does not specify if the tool is read-only or has destructive side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. The key purpose is front-loaded, and every word adds value. Ideal length for quick agent comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description implicitly states it identifies zombie accounts. For a detection tool, expected return (list of accounts at risk) is somewhat clear. Slightly lacking on return format details, but acceptable given tool simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds value by explaining threshold_days default and the relevance of accounts fields (mrr, days_since_last_activity) to zombie detection, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool identifies dormant-but-paying accounts, specifying the verb 'detect' and resource 'zombie MRR'. It distinguishes from siblings like 'analyze_revenue_concentration' by focusing on revenue invisibility and renewal risk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you want to find revenue at risk of cancellation, but does not explicitly state when not to use it or compare with sibling tools. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scoring_bandsAInspect
Return the scoring thresholds ChurnLens applies to NRR, revenue concentration and the composite health score. These are bands, not measured benchmark data — the sourced benchmark figures are cited at https://churnlens.site/benchmarks.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | No | Which band set to return: 'nrr', 'concentration', 'health', or omit for all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns bands not measured data, but does not mention any other behavioral traits like idempotency or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the purpose, the second clarifies an important distinction. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is nearly sufficient. It could mention the expected output format, but overall it provides adequate context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter is already well-documented. The description adds no additional parameter-level meaning, but the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns scoring thresholds for NRR, revenue concentration, and composite health score, distinguishing it from benchmark data and sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies that the output is bands, not measured benchmark data, and provides a URL for benchmarks. However, it does not explicitly state when to use this tool versus alternatives like score_saas_health.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_saas_healthAInspect
Score a SaaS business 0-100 across five dimensions — retention, growth, concentration, efficiency and durability — and return the composite. Every mapping is published, so the score can be reconstructed by hand.
| Name | Required | Description | Default |
|---|---|---|---|
| nrr_pct | Yes | Net revenue retention, as a percentage. | |
| ltv_to_cac_ratio | Yes | Lifetime value divided by customer acquisition cost. | |
| annual_plan_share_pct | Yes | Share of revenue on annual contracts, as a percentage. | |
| monthly_churn_rate_pct | Yes | Monthly revenue churn, as a percentage (5 means 5%). | |
| top_customer_share_pct | Yes | Largest single customer's share of revenue, as a percentage. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It mentions that the scoring mapping is published and replicable, but it does not disclose side effects (likely none) or the output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy: the first explains the core functionality, the second adds transparency. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a scoring tool with 5 required parameters and no output schema, the description omits the return format (e.g., does it return just the composite or also breakdown?) and any examples.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the conceptual dimensions (retention, growth, etc.) but does not map them to parameters; the schema already provides adequate per-parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('score') and resource ('SaaS business') and lists the five dimensions. It clearly differentiates from sibling tools, which focus on individual metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for a holistic SaaS health score versus sibling tools for specific aspects (e.g., churn, LTV), but it does not explicitly state when to use this tool over alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityAmaintenanceTrack SaaS subscriptions, renewal dates, spending, and find duplicate services.6MIT
- AlicenseAqualityBmaintenanceAnswers "sales dropped since last week — where?" by comparing a target period against a weekday-adjusted baseline and localizing which attribute combinations (e.g. channel=web, or Tuesday nights) explain the shift. Runs fully offline on your own CSV — no API key, no ML training, read-only.2MIT
- Alicense-qualityFmaintenanceProvides real-time Stripe subscription analytics including MRR, churn, failed payments, and expiring trials. Enables AI assistants to answer business health questions like 'How's my business doing?'MIT
- AlicenseBqualityBmaintenanceStatistical analysis, forecasting, and ML for business data (Shopify, Stripe, WooCommerce, eBay, GA4, Search Console). Upload a CSV or connect live data sources — ask a question in Claude or Cursor, get an interactive HTML report19107MIT