Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 3.9/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct concept (revenue concentration, churn rate, LTV, zombie MRR, scoring bands, composite health). No two tools overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., analyze_revenue_concentration, calculate_churn_rate). No mixed conventions.

Tool Count5/5

6 tools is well-scoped for a specialized churn analytics server. Each tool earns its place, covering key metrics without bloat.

Completeness5/5

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 tools
analyze_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?

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNoHow many top customers to aggregate for the top-N share. Default 5.
customer_mrrsYesPer-customer MRR values. Order does not matter.
whale_threshold_pctNoRevenue share above which a customer counts as a whale. Default 25.
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
churned_mrrNoMRR lost to full cancellations.
starting_mrrYesMRR at the start of the period, in any single currency unit.
expansion_mrrNoMRR gained from upgrades and expansion within the existing base. Excludes new customers.
contraction_mrrNoMRR lost to downgrades (customer retained).
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cacNoCustomer acquisition cost. Optional — supply it to get the ratio and payback.
arpaYesAverage revenue per account, per month.
gross_margin_pctNoGross margin percentage. Defaults to 100, which gives lifetime revenue.
monthly_churn_rate_pctYesMonthly churn, as a percentage.
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountsYesOne entry per paying account.
threshold_daysNoDays of inactivity before an account counts as dormant. Default 90.
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricNoWhich band set to return: 'nrr', 'concentration', 'health', or omit for all.
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nrr_pctYesNet revenue retention, as a percentage.
ltv_to_cac_ratioYesLifetime value divided by customer acquisition cost.
annual_plan_share_pctYesShare of revenue on annual contracts, as a percentage.
monthly_churn_rate_pctYesMonthly revenue churn, as a percentage (5 means 5%).
top_customer_share_pctYesLargest single customer's share of revenue, as a percentage.
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Answers "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.
    2
    MIT
  • A
    license
    -
    quality
    F
    maintenance
    Provides 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
  • A
    license
    B
    quality
    B
    maintenance
    Statistical 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 report
    19
    10
    7
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources