Servidor MCP

financial-calculators

com.smartmoney77/financial-calculators
Finanzas e inversión Público y accesible MCP 2025-11-25

Qué hace este MCP

Runs financial planning, investing, debt, inflation, retirement, fee, and historical-return calculations with shareable calculator links.

build_calculator_link
Build calculator link
Build 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
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['calculator'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'object', 'default': {}, 'description': 'Pre-filled query params for the calculator, e.g. { expenses: 4000, saving: 1500 }. Use the exact param names from list_calculators.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number']}}, 'currency': {'type': 'string', 'description': 'Optional currency override, e.g. USD, GBP, SAR, MXN, BRL. Ignored for history calculators (always USD).'}, 'calculator': {'type': 'string', 'description': "Calculator slug, e.g. 'fire-number' or 'bitcoin-history'."}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'source', 'calculator', 'lang', 'acceptedParams', 'notes'], 'properties': {'url': {'type': 'string', 'description': 'Ready-to-open deep link â\x80\x94 the URL to cite and share.'}, 'lang': {'type': 'string', 'description': 'Language used in the URL.'}, 'notes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Warnings, e.g. an ignored or unsupported currency.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'calculator': {'type': 'string', 'description': 'Resolved calculator slug.'}, 'acceptedParams': {'type': 'string', 'description': 'Comma-separated params this calculator accepts.'}}, 'additionalProperties': False}
build_share_pack
Build social share pack
Build 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 } }
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['calculator'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'string', 'description': 'Optional emoji to open the caption with. Defaults to a chart emoji.'}, 'params': {'type': 'object', 'default': {}, 'description': 'Calculation params to pre-fill, e.g. { amount: 1000, year: 2015 }. Same names as build_calculator_link.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number']}}, 'currency': {'type': 'string', 'description': 'Optional currency override, e.g. USD, ILS, BRL. Ignored for history calculators (always USD).'}, 'calculator': {'type': 'string', 'description': "Calculator slug, e.g. 'fire-number' or 'bitcoin-history'. Use list_calculators to discover slugs."}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shareUrl', 'ogImageUrl', 'downloadUrl', 'caption', 'sizes', 'calculator', 'lang', 'notes', 'source'], 'properties': {'lang': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'width', 'height', 'use', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Server-rendered PNG of this result at this exact size.'}, 'use': {'type': 'string'}, 'label': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Every image size, each with a direct server-rendered PNG URL.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'caption': {'type': 'string', 'description': 'Localized, ready-to-post social caption including the link and attribution.'}, 'shareUrl': {'type': 'string', 'description': 'Deep link to the calculated result â\x80\x94 the URL to cite.'}, 'calculator': {'type': 'string'}, 'ogImageUrl': {'type': 'string', 'description': 'Server-rendered 1200x628 PNG of this result. Safe to embed directly.'}, 'downloadUrl': {'type': 'string', 'description': 'Opens the result with the share modal already open, offering all three image sizes.'}}, 'additionalProperties': False}
compare_investments
Compare historical investments
Run 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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount', 'buy_year', 'assets'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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.'}, 'amount': {'type': 'number', 'minimum': 1, 'description': 'Amount invested in USD, identical for every asset.'}, 'assets': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8, 'minItems': 2, 'description': '2-8 asset slugs. Valid: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil.'}, 'buy_year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Year of purchase.'}, 'sell_year': {'anyOf': [{'type': 'integer', 'maximum': 2100, 'minimum': 1900}, {'type': 'string', 'const': 'today'}], 'default': 'today', 'description': 'Year to sell in, or "today" for the live market price. Default "today".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount', 'buyYear', 'sellDate', 'results', 'winner', 'methodology', 'source'], 'properties': {'amount': {'type': 'number'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'winner': {'type': ['string', 'null'], 'description': 'Slug of the best-performing asset, or null if none could be computed.'}, 'buyYear': {'type': 'number'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['asset'], 'properties': {'url': {'type': 'string', 'description': 'Deep link that reproduces this calculation on SmartMoney77.'}, 'cagr': {'type': ['number', 'null'], 'description': 'Compound annual growth rate in percent, or null for a same-year holding.'}, 'asset': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Set when this asset could not be computed; the others still return.'}, 'profit': {'type': 'number', 'description': 'currentValue minus initialInvestment.'}, 'buyYear': {'type': 'number'}, 'buyPrice': {'type': 'number', 'description': "Buy price used: the buy year's low/high average, USD."}, 'sellDate': {'type': 'string', 'description': 'The sell year, or "today" when the live price was used.'}, 'assetName': {'type': 'string'}, 'sellPrice': {'type': 'number', 'description': 'Sell price used, USD.'}, 'methodology': {'type': 'string', 'description': 'One-sentence explanation of the pricing method and source.'}, 'currentValue': {'type': 'number', 'description': 'Value of the position at the sell date, in USD.'}, 'dataUpdatedAt': {'type': 'string', 'description': 'When the sell price is from; states explicitly when a live-price fallback happened.'}, 'unitsPurchased': {'type': 'number', 'description': 'Units (coins/shares/ounces/barrels) bought with the initial amount.'}, 'initialInvestment': {'type': 'number', 'description': 'Amount invested, in USD.'}, 'totalReturnPercent': {'type': 'number', 'description': 'Total return over the whole period, in percent.'}}, 'additionalProperties': False}, 'description': 'Successful assets sorted by currentValue descending, then any failed assets.'}, 'sellDate': {'type': 'string'}, 'methodology': {'type': 'string'}}, 'additionalProperties': False}
compound_interest
Compound interest projection
Project 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).
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['initial', 'rate', 'years'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'description': 'Expected annual return in percent, e.g. 8.'}, 'years': {'type': 'number', 'maximum': 80, 'minimum': 1, 'description': 'Investment horizon in years (1-80).'}, 'initial': {'type': 'number', 'minimum': 0, 'description': "Initial lump sum, in the user's currency."}, 'monthly': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Monthly contribution (default 0).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['futureValue', 'contributed', 'growth', 'years', 'rate', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'rate': {'type': 'number'}, 'years': {'type': 'number'}, 'growth': {'type': 'number', 'description': 'futureValue minus contributed â\x80\x94 the compounding gain.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'contributed': {'type': 'number', 'description': 'Initial amount plus all monthly contributions.'}, 'futureValue': {'type': 'number', 'description': 'Projected balance at the end of the horizon, rounded.'}}, 'additionalProperties': False}
cost_of_waiting
Cost of waiting to invest
Compare 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['monthly', 'start', 'compare'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'default': 10, 'description': "Expected annual return in percent (default 10 â\x80\x94 same as the site's field default)."}, 'start': {'type': 'number', 'maximum': 90, 'minimum': 10, 'description': 'Early starting age.'}, 'retire': {'type': 'number', 'default': 67, 'maximum': 100, 'minimum': 20, 'description': 'Retirement age (default 67). Must exceed `compare`.'}, 'compare': {'type': 'number', 'maximum': 90, 'minimum': 10, 'description': 'Delayed starting age. Must be greater than `start`.'}, 'monthly': {'type': 'number', 'minimum': 1, 'description': 'Monthly amount invested in both scenarios.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['early', 'late', 'cost', 'extraContributed', 'earlyYears', 'lateYears', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'cost': {'type': 'number', 'description': 'early minus late â\x80\x94 the cost of waiting.'}, 'late': {'type': 'number', 'description': 'Balance at retirement when starting at `compare`.'}, 'early': {'type': 'number', 'description': 'Balance at retirement when starting at `start`.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'lateYears': {'type': 'number', 'description': 'Years invested in the delayed scenario.'}, 'earlyYears': {'type': 'number', 'description': 'Years invested in the early scenario.'}, 'extraContributed': {'type': 'number', 'description': 'Extra money actually paid in by starting early.'}}, 'additionalProperties': False}
credit_card_payoff
Credit card payoff
Calculate 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['balance', 'payment', 'rate'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'minimum': 0, 'description': 'Annual interest rate (APR) in percent, e.g. 18.'}, 'balance': {'type': 'number', 'minimum': 1, 'description': 'Outstanding card balance.'}, 'payment': {'type': 'number', 'minimum': 1, 'description': "Fixed monthly payment. Must exceed the first month's interest."}, 'purchases': {'type': 'number', 'default': 0, 'minimum': 0, 'description': "New spending added to the card every month (default 0) â\x80\x94 same as the site's `purchases` field."}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['months', 'years', 'totalInterest', 'totalPaid', 'neverPaysOff', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'years': {'type': 'number', 'description': 'Same duration in years, one decimal.'}, 'months': {'type': 'number', 'description': 'Months until the balance reaches zero.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'totalPaid': {'type': 'number', 'description': 'Total actually paid over the payoff period.'}, 'neverPaysOff': {'type': 'boolean', 'description': 'True when the balance is still open after the 360-month horizon.'}, 'totalInterest': {'type': 'number', 'description': 'Total interest paid over the payoff period.'}}, 'additionalProperties': False}
emergency_fund
Emergency fund coverage
Calculate 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expenses'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'default': 6, 'maximum': 36, 'minimum': 1, 'description': 'Target coverage in months (default 6).'}, 'savings': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Current emergency savings (default 0).'}, 'expenses': {'type': 'number', 'minimum': 1, 'description': 'Monthly living expenses.'}, 'contribution': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Monthly amount added to the fund (default 0).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['monthsCovered', 'targetAmount', 'gap', 'monthsToTarget', 'url', 'source'], 'properties': {'gap': {'type': 'number', 'description': 'Amount still missing (0 when the target is reached).'}, 'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'targetAmount': {'type': 'number', 'description': 'expenses Ã\x97 target months.'}, 'monthsCovered': {'type': 'number', 'description': 'savings / expenses, one decimal.'}, 'monthsToTarget': {'type': ['number', 'null'], 'description': 'Months to close the gap at the given contribution; 0 when reached, null when no contribution was given.'}}, 'additionalProperties': False}
fire_number
FIRE number & years to freedom
Calculate 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expenses', 'saving'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'default': 5, 'description': "Expected annual real return in percent (default 5 â\x80\x94 same as the site's field default)."}, 'saving': {'type': 'number', 'minimum': 0, 'description': 'Amount saved/invested per month.'}, 'current': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Current invested savings (default 0).'}, 'expenses': {'type': 'number', 'minimum': 1, 'description': 'Monthly living expenses in retirement.'}, 'withdrawalRate': {'type': 'number', 'default': 4, 'description': 'Safe withdrawal rate in percent (default 4 = the 4% rule).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fireNumber', 'yearsToFire', 'reachable', 'withdrawalRate', 'rate', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'rate': {'type': 'number'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'reachable': {'type': 'boolean', 'description': 'Whether the target is reachable within 100 years.'}, 'fireNumber': {'type': 'number', 'description': 'Portfolio needed: annual expenses / withdrawal rate.'}, 'yearsToFire': {'type': ['number', 'null'], 'description': 'Years to reach the target, or null when unreachable within 100 years.'}, 'withdrawalRate': {'type': 'number'}}, 'additionalProperties': False}
get_tool_guide
Tool guide (prompts & resources)
Discovery 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" }.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tool': {'type': 'string', 'description': '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.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['guides', 'count', 'source'], 'properties': {'count': {'type': 'number'}, 'guides': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'promptName', 'whenToUse', 'userPrompt', 'argumentTemplate', 'outputGuide', 'followUp', 'resources'], 'properties': {'tool': {'type': 'string'}, 'followUp': {'type': 'string'}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'uri', 'description'], 'properties': {'uri': {'type': 'string'}, 'name': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'whenToUse': {'type': 'string'}, 'promptName': {'type': 'string', 'description': 'Standard prompt template id, e.g. fire_number/target.'}, 'userPrompt': {'type': 'string', 'description': 'Fill-in-the-blanks prompt template.'}, 'outputGuide': {'type': 'string', 'description': 'How to read the structured result back to the user.'}, 'argumentTemplate': {'type': 'object', 'description': 'Argument shape with placeholders.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}, 'description': 'One guide per matching tool.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}}, 'additionalProperties': False}
historical_investment_return
Historical investment return
Compute 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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset', 'amount', 'buy_year'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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.'}, 'asset': {'type': 'string', 'description': 'Asset slug. One of: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil.'}, 'amount': {'type': 'number', 'minimum': 1, 'description': 'Amount invested in USD.'}, 'buy_year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': "Year of purchase. Must be within the asset's data range."}, 'sell_year': {'anyOf': [{'type': 'integer', 'maximum': 2100, 'minimum': 1900}, {'type': 'string', 'const': 'today'}], 'default': 'today', 'description': 'Year to sell in, or "today" for the live market price. Default "today".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset', 'assetName', 'initialInvestment', 'currentValue', 'profit', 'totalReturnPercent', 'cagr', 'unitsPurchased', 'buyPrice', 'sellPrice', 'buyYear', 'sellDate', 'dataUpdatedAt', 'methodology', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link that reproduces this calculation on SmartMoney77.'}, 'cagr': {'type': ['number', 'null'], 'description': 'Compound annual growth rate in percent, or null for a same-year holding.'}, 'asset': {'type': 'string'}, 'profit': {'type': 'number', 'description': 'currentValue minus initialInvestment.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'buyYear': {'type': 'number'}, 'buyPrice': {'type': 'number', 'description': "Buy price used: the buy year's low/high average, USD."}, 'sellDate': {'type': 'string', 'description': 'The sell year, or "today" when the live price was used.'}, 'assetName': {'type': 'string'}, 'sellPrice': {'type': 'number', 'description': 'Sell price used, USD.'}, 'methodology': {'type': 'string', 'description': 'One-sentence explanation of the pricing method and source.'}, 'currentValue': {'type': 'number', 'description': 'Value of the position at the sell date, in USD.'}, 'dataUpdatedAt': {'type': 'string', 'description': 'When the sell price is from; states explicitly when a live-price fallback happened.'}, 'unitsPurchased': {'type': 'number', 'description': 'Units (coins/shares/ounces/barrels) bought with the initial amount.'}, 'initialInvestment': {'type': 'number', 'description': 'Amount invested, in USD.'}, 'totalReturnPercent': {'type': 'number', 'description': 'Total return over the whole period, in percent.'}}, 'additionalProperties': False}
inflation_check
Inflation erosion check
Calculate 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount', 'years'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'default': 3, 'description': 'Annual inflation rate in percent (default 3).'}, 'years': {'type': 'number', 'maximum': 80, 'minimum': 1, 'description': 'Number of years (1-80).'}, 'amount': {'type': 'number', 'minimum': 1, 'description': 'Amount of money held today.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['realValue', 'lost', 'lostPercent', 'equivalentNeeded', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'lost': {'type': 'number', 'description': 'amount minus realValue.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'realValue': {'type': 'number', 'description': "Today's-money purchasing power of the amount after the period."}, 'lostPercent': {'type': 'number', 'description': 'Purchasing power lost, in percent (one decimal).'}, 'equivalentNeeded': {'type': 'number', 'description': 'Nominal amount needed later to buy what `amount` buys today.'}}, 'additionalProperties': False}
killer_fees
Investment fee impact
Compare 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['portfolio', 'highFee', 'lowFee', 'years'], 'properties': {'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'default': 8, 'description': 'Gross annual return in percent before fees (default 8 â\x80\x94 same as the site).'}, 'years': {'type': 'number', 'maximum': 60, 'minimum': 1, 'description': 'Investment horizon in years (1-60).'}, 'lowFee': {'type': 'number', 'minimum': 0, 'description': 'Lower annual fee in percent, e.g. 0.3.'}, 'highFee': {'type': 'number', 'minimum': 0, 'description': 'Higher annual fee in percent, e.g. 1.5.'}, 'monthly': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Monthly contribution (default 0).'}, 'portfolio': {'type': 'number', 'minimum': 0, 'description': 'Current portfolio value.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['withHighFee', 'withLowFee', 'difference', 'differencePercent', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'difference': {'type': 'number', 'description': 'withLowFee minus withHighFee â\x80\x94 the cost of the higher fee.'}, 'withLowFee': {'type': 'number', 'description': 'Ending balance net of the lower fee.'}, 'withHighFee': {'type': 'number', 'description': 'Ending balance net of the higher fee.'}, 'differencePercent': {'type': 'number', 'description': 'Difference as a percent of the high-fee balance (one decimal).'}}, 'additionalProperties': False}
latte_factor
Latte factor (small daily habit cost)
Calculate 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cost'], 'properties': {'cost': {'type': 'number', 'minimum': 0.1, 'description': 'Cost of the habit per day.'}, 'lang': {'enum': ['he', 'en', 'ar', 'es', 'pt', 'in'], 'type': 'string', 'default': 'en', 'description': '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': {'type': 'number', 'default': 8, 'description': 'Expected annual investment return in percent (default 8).'}, 'type': {'type': 'string', 'description': "Optional habit key for the link, e.g. 'coffee'."}, 'years': {'type': 'number', 'default': 30, 'maximum': 80, 'minimum': 1, 'description': 'Number of years (default 30).'}, 'perWeek': {'type': 'number', 'default': 7, 'maximum': 7, 'minimum': 1, 'description': 'How many days per week the expense happens (default 7).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['monthlyCost', 'totalSpent', 'futureValue', 'years', 'rate', 'url', 'source'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the same calculation on SmartMoney77.'}, 'rate': {'type': 'number'}, 'years': {'type': 'number'}, 'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'totalSpent': {'type': 'number', 'description': 'Total spent on the habit over the whole period.'}, 'futureValue': {'type': 'number', 'description': 'Balance if the same monthly amount were invested at `rate` instead.'}, 'monthlyCost': {'type': 'number', 'description': 'Average monthly cost: cost Ã\x97 perWeek Ã\x97 52 / 12, rounded.'}}, 'additionalProperties': False}
list_calculators
List calculators
List 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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'group': {'enum': ['planning', 'history', 'all'], 'type': 'string', 'description': "Filter: 'planning' for financial planning tools, 'history' for what-if investment history tools, 'all' (default) for everything."}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['calculators', 'languages', 'currencies', 'source'], 'properties': {'source': {'type': 'object', 'required': ['site', 'url', 'attribution'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to cite and share â\x80\x94 opens the same calculation on SmartMoney77.'}, 'site': {'type': 'string'}, 'attribution': {'type': 'string', 'description': 'Attribution sentence to include when presenting this result.'}}, 'description': 'Citation info: always credit SmartMoney77 with the provided link when presenting results.', 'additionalProperties': False}, 'languages': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Supported language codes.'}, 'currencies': {'type': 'object', 'description': 'Supported currency codes per language.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'calculators': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'group', 'params'], 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'slug': {'type': 'string'}, 'group': {'enum': ['planning', 'history'], 'type': 'string'}, 'params': {'type': 'string', 'description': 'Comma-separated query parameters accepted by the calculator URL.'}}, 'additionalProperties': False}, 'description': 'Matching calculators.'}}, 'additionalProperties': False}
Añadido
compare_investments
17 de September de 2026 a las 12:37
Añadido
historical_investment_return
17 de September de 2026 a las 12:37
Añadido
cost_of_waiting
17 de September de 2026 a las 12:37
Añadido
killer_fees
17 de September de 2026 a las 12:37
Añadido
latte_factor
17 de September de 2026 a las 12:37
Añadido
inflation_check
17 de September de 2026 a las 12:37
Añadido
emergency_fund
17 de September de 2026 a las 12:37
Añadido
credit_card_payoff
17 de September de 2026 a las 12:37
Añadido
fire_number
17 de September de 2026 a las 12:37
Añadido
compound_interest
17 de September de 2026 a las 12:37
Añadido
build_share_pack
17 de September de 2026 a las 12:37
Añadido
build_calculator_link
17 de September de 2026 a las 12:37
Añadido
list_calculators
17 de September de 2026 a las 12:37
Añadido
get_tool_guide
17 de September de 2026 a las 12:37