Skip to main content
Glama

SaaSCity

Calculate ARR from MRR

calculate_arr
Read-onlyIdempotent

Turn monthly recurring revenue into annual recurring revenue (ARR = MRR x 12), with ARPU when the customer count is given and the months to $100k, $1M and $10M ARR at a monthly growth rate. Count annual plans at their yearly price divided by 12 and leave one-time fees out of MRR. Full calculator: https://saascity.io/free-tools/arr-calculator

Input Schema

NameRequiredDescriptionDefault
mrrYesMonthly recurring revenue in any currency
customersNoPaying customers, for ARPU (optional)
monthly_growth_pctNoExpected MRR growth per month in percent, e.g. 8 (optional)

Output Schema

NameRequiredDescriptionDefault
arrYes
milestonesYes
arpu_annualYes
arpu_monthlyYes
calculator_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavioral rules: how annual plans are normalized into MRR and that one-time fees are excluded, which prevents wrong calls. Return values are covered by the existing output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core formula, followed by the input conventions an agent needs. The trailing link to an external calculator is mild promotional filler but occupies little space.

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?

Return shape is handled by the output schema and inputs are fully documented, so little is missing. However, the absence of any routing guidance relative to calculate_arr_bridge keeps it from being fully complete for selection.

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%, so the baseline is 3, but the description goes further by tying each optional parameter to its purpose: customers yields ARPU, and monthly_growth_pct yields months to $100k/$1M/$10M ARR. That is meaning beyond the bare schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific transformation with the exact formula (ARR = MRR x 12) plus the derived outputs, so the agent knows precisely what it computes. It does not distinguish itself from the sibling calculate_arr_bridge, which is the only remaining ambiguity.

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?

No explicit statement of when to prefer this over calculate_arr_bridge or calculate_churn, so tool selection is left to inference. It does give input-handling guidance (count annual plans at yearly price / 12, exclude one-time fees), which is useful but is not selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.