com.smartmoney77/financial-calculators
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Financial calculators over MCP: compound interest, FIRE, historical returns, deep links, 6 languages
| Author | com.smartmoney77 |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3586 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"financial-calculators": {
"url": "https://smartmoney77.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (14)
get_tool_guideread-onlyDiscovery helper: returns the standard prompt template, argument template, output-interpretation guide and related resources for one or all SmartMoney77 tools, so you can call them correctly without guessing. Example: { "tool": "fire_number" }.
Parameters:
tool— string — Tool name to describe. Omit for all. One of: list_calculators, build_calculator_link, build_share_pack, compound_interest, fire_number, credit_card_payoff, emergency_fund, inflation_check, latte_factor, killer_fees, cost_of_waiting, historical_investment_return, compare_investments.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_calculatorsread-onlyList every SmartMoney77 calculator with its slug, accepted URL parameters and supported languages/currencies. Call this before build_calculator_link. Example: { "group": "history" } returns only the 'what if I had invested' tools.
Parameters:
group— string — Filter: 'planning' for financial planning tools, 'history' for what-if investment history tools, 'all' (default) for everything.
Hints: read-only yes · destructive no · idempotent yes · open-world no
build_calculator_linkread-onlyBuild a deep link to a SmartMoney77 calculator with pre-filled values that auto-calculate on open. Use list_calculators first to find the slug and its parameters. Example: { "calculator": "bitcoin-history", "lang": "en", "params": { "amount": 1000, "year": 2015 } } → https://smartmoney77.com/en/bitcoin-history?amount=1000&year=2015
Parameters:
calculator(required) — string — Calculator slug, e.g. 'fire-number' or 'bitcoin-history'.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.params— object — Pre-filled query params for the calculator, e.g. { expenses: 4000, saving: 1500 }. Use the exact param names from list_calculators.currency— string — Optional currency override, e.g. USD, GBP, SAR, MXN, BRL. Ignored for history calculators (always USD).
Hints: read-only yes · destructive no · idempotent yes · open-world no
build_share_packread-onlyBuild everything needed to share a SmartMoney77 calculation on social media in one call: the deep link to the result, a ready-to-embed 1200x628 image URL rendered on our servers, a link that opens the on-site share modal (1200x628, 1080x1080, 1080x1920 downloads), and a localized caption with attribution. Works for all 31 calculators. Example: { "calculator": "fire-number", "lang": "en", "params": { "expenses": 4000, "saving": 1500 } }
Parameters:
calculator(required) — string — Calculator slug, e.g. 'fire-number' or 'bitcoin-history'. Use list_calculators to discover slugs.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.emoji— string — Optional emoji to open the caption with. Defaults to a chart emoji.params— object — Calculation params to pre-fill, e.g. { amount: 1000, year: 2015 }. Same names as build_calculator_link.currency— string — Optional currency override, e.g. USD, ILS, BRL. Ignored for history calculators (always USD).
Hints: read-only yes · destructive no · idempotent yes · open-world no
compound_interestread-onlyProject the future value of an initial amount plus monthly contributions at a given annual return (monthly compounding), and return a link to the same calculation on SmartMoney77. Example: { "initial": 10000, "monthly": 500, "rate": 8, "years": 20 } → futureValue = 343,778. Monthly contributions are made at the end of each month (ordinary annuity).
Parameters:
initial(required) — number — Initial lump sum, in the user's currency.rate(required) — number — Expected annual return in percent, e.g. 8.years(required) — number — Investment horizon in years (1-80).lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.monthly— number — Monthly contribution (default 0).
Hints: read-only yes · destructive no · idempotent yes · open-world no
fire_numberread-onlyCalculate the financial-independence (FIRE) target from monthly expenses using the 4% rule, plus how many years of saving are needed. Example: { "expenses": 4000, "saving": 1500, "current": 50000 } → fireNumber 1,200,000.
Parameters:
expenses(required) — number — Monthly living expenses in retirement.saving(required) — number — Amount saved/invested per month.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.rate— number — Expected annual real return in percent (default 5 — same as the site's field default).current— number — Current invested savings (default 0).withdrawalRate— number — Safe withdrawal rate in percent (default 4 = the 4% rule).
Hints: read-only yes · destructive no · idempotent yes · open-world no
credit_card_payoffread-onlyCalculate how long it takes to clear a credit card balance at a fixed monthly payment and APR, plus the total interest paid. Example: { "balance": 10000, "payment": 400, "rate": 18 } → about 32 months and ~2,600 in interest. Errors when the payment is smaller than the first month's interest.
Parameters:
balance(required) — number — Outstanding card balance.payment(required) — number — Fixed monthly payment. Must exceed the first month's interest.rate(required) — number — Annual interest rate (APR) in percent, e.g. 18.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.purchases— number — New spending added to the card every month (default 0) — same as the site's `purchases` field.
Hints: read-only yes · destructive no · idempotent yes · open-world no
emergency_fundread-onlyCalculate how many months of expenses current savings cover, the target emergency fund size, the gap, and how long it takes to close it. Example: { "expenses": 3000, "savings": 6000, "contribution": 500, "target": 6 } → 2 months covered, target 18,000, gap 12,000, 24 months to go.
Parameters:
expenses(required) — number — Monthly living expenses.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.target— number — Target coverage in months (default 6).savings— number — Current emergency savings (default 0).contribution— number — Monthly amount added to the fund (default 0).
Hints: read-only yes · destructive no · idempotent yes · open-world no
inflation_checkread-onlyCalculate how much purchasing power cash loses to inflation over time, and what nominal amount keeps the same buying power. Example: { "amount": 100000, "rate": 3, "years": 10 } → realValue ≈ 74,409 and equivalentNeeded ≈ 134,392.
Parameters:
amount(required) — number — Amount of money held today.years(required) — number — Number of years (1-80).lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.rate— number — Annual inflation rate in percent (default 3).
Hints: read-only yes · destructive no · idempotent yes · open-world no
latte_factorread-onlyCalculate what a small recurring daily expense (coffee, cigarettes, takeaway) costs over time and what it would grow to if invested instead. Monthly cost = cost × perWeek × 52 / 12, and monthly contributions are made at the end of each month (ordinary annuity). Example: { "cost": 5, "years": 30, "rate": 8, "perWeek": 5 } → ~108/month spent and a six-figure invested balance.
Parameters:
cost(required) — number — Cost of the habit per day.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.rate— number — Expected annual investment return in percent (default 8).type— string — Optional habit key for the link, e.g. 'coffee'.years— number — Number of years (default 30).perWeek— number — How many days per week the expense happens (default 7).
Hints: read-only yes · destructive no · idempotent yes · open-world no
killer_feesread-onlyCompare how much a high management fee costs versus a low fee over time on a portfolio with monthly contributions. Example: { "portfolio": 100000, "monthly": 1000, "highFee": 1.5, "lowFee": 0.3, "years": 25 } → the low-fee portfolio ends materially higher.
Parameters:
portfolio(required) — number — Current portfolio value.highFee(required) — number — Higher annual fee in percent, e.g. 1.5.lowFee(required) — number — Lower annual fee in percent, e.g. 0.3.years(required) — number — Investment horizon in years (1-60).lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.rate— number — Gross annual return in percent before fees (default 8 — same as the site).monthly— number — Monthly contribution (default 0).
Hints: read-only yes · destructive no · idempotent yes · open-world no
cost_of_waitingread-onlyCompare investing the same monthly amount starting at an early age versus a later age, and show what the delay costs by retirement. Example: { "monthly": 1000, "start": 25, "compare": 35, "retire": 67, "rate": 8 } → a large gap created mostly by compounding, not by the extra contributions.
Parameters:
monthly(required) — number — Monthly amount invested in both scenarios.start(required) — number — Early starting age.compare(required) — number — Delayed starting age. Must be greater than `start`.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.rate— number — Expected annual return in percent (default 10 — same as the site's field default).retire— number — Retirement age (default 67). Must exceed `compare`.
Hints: read-only yes · destructive no · idempotent yes · open-world no
historical_investment_returnread-onlyCompute what a past investment would be worth today (or in a later year), using the same yearly low/high average prices as the SmartMoney77 history calculators. All amounts and prices are in USD only. Assets: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil. Example: { "asset": "bitcoin", "amount": 1000, "buy_year": 2015 } → units bought, current value, profit, total return and CAGR, plus a link that reproduces it on the site.
Parameters:
asset(required) — string — Asset slug. One of: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil.amount(required) — number — Amount invested in USD.buy_year(required) — integer — Year of purchase. Must be within the asset's data range.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.sell_year— Year to sell in, or "today" for the live market price. Default "today".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
compare_investmentsread-onlyRun the same "what if I had invested" calculation across 2-8 assets and rank them by final value. USD only, same yearly low/high average pricing as the SmartMoney77 history calculators. Assets: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil. Example: { "amount": 1000, "buy_year": 2015, "assets": ["bitcoin", "sp500", "gold"] } → each asset's value today, sorted best first, each with its own reproduction link.
Parameters:
amount(required) — number — Amount invested in USD, identical for every asset.buy_year(required) — integer — Year of purchase.assets(required) — array — 2-8 asset slugs. Valid: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil.lang— string — Language of the reply: he, en, ar, es, pt or in. Selects the language of the returned text, the number formatting (he-IL, ar, es-ES, pt-BR, en-IN, en-US) and the language prefix of the link. Default en. Structured fields always stay raw and unformatted.sell_year— Year to sell in, or "today" for the live market price. Default "today".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.