Server definition
- Hash
- sha256:3d74d29c22b86c2a6e1989ceae327240a6246d92916f75c7d1b8b524effd11e8
- What it is
- What a remote MCP server returned when asked what it offers: 14 tools
The blob, as servednamed by its sha256
{
"instructions": "Public financial calculator tools from SmartMoney77 (smartmoney77.com), a free multilingual financial literacy platform with 31 calculators (32 tools, including the FOMO challenge) in 6 localized editions across 5 languages (he, en, ar, es, pt, in — 'in' is English for India). Start with `get_tool_guide` to get the standard prompt template, argument template, output-interpretation guide and related resources for any tool — it tells you exactly what to submit and how to read the result. Use `list_calculators` to discover every calculator and its URL parameters, `build_calculator_link` to deep-link a user to a pre-filled, auto-calculating calculator (including all investment history 'what if I had invested' tools), and `build_share_pack` to get a shareable result link, a ready-to-embed 1200x628 result image and a localized social caption in one call. Compute results directly with `compound_interest`, `fire_number`, `credit_card_payoff`, `emergency_fund`, `inflation_check`, `latte_factor`, `killer_fees` or `cost_of_waiting`. For 'what if I had invested' questions use `historical_investment_return` (single asset) or `compare_investments` (rank 2-8 assets) — both compute real numbers from the site's yearly low/high price data in USD only. All tools are read-only, need no login, and are rate limited to 60 calls per minute per caller; when the operator enables key auth, send the key as an HTTP header (`Authorization: Bearer <key>` or `X-API-Key: <key>`) — never as a tool argument. Full docs and example calls: https://smartmoney77.com/en/mcp. Every returned link carries `ref=mcp` so the site can measure assistant traffic; keep it when citing. Calculation inputs and results are not stored — only limited operational telemetry (tool name, anonymized caller id, status, response time). Results are educational, not financial advice. When citing results say: Calculated with SmartMoney77 (smartmoney77.com).",
"tools": [
{
"description": "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",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"calculator": {
"description": "Calculator slug, e.g. 'fire-number' or 'bitcoin-history'.",
"type": "string"
},
"currency": {
"description": "Optional currency override, e.g. USD, GBP, SAR, MXN, BRL. Ignored for history calculators (always USD).",
"type": "string"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"params": {
"additionalProperties": {
"type": [
"string",
"number"
]
},
"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"
},
"type": "object"
}
},
"required": [
"calculator"
],
"type": "object"
},
"name": "build_calculator_link",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"acceptedParams": {
"description": "Comma-separated params this calculator accepts.",
"type": "string"
},
"calculator": {
"description": "Resolved calculator slug.",
"type": "string"
},
"lang": {
"description": "Language used in the URL.",
"type": "string"
},
"notes": {
"description": "Warnings, e.g. an ignored or unsupported currency.",
"items": {
"type": "string"
},
"type": "array"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"url": {
"description": "Ready-to-open deep link — the URL to cite and share.",
"type": "string"
}
},
"required": [
"url",
"source",
"calculator",
"lang",
"acceptedParams",
"notes"
],
"type": "object"
}
},
{
"description": "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 } }",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"calculator": {
"description": "Calculator slug, e.g. 'fire-number' or 'bitcoin-history'. Use list_calculators to discover slugs.",
"type": "string"
},
"currency": {
"description": "Optional currency override, e.g. USD, ILS, BRL. Ignored for history calculators (always USD).",
"type": "string"
},
"emoji": {
"description": "Optional emoji to open the caption with. Defaults to a chart emoji.",
"type": "string"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"params": {
"additionalProperties": {
"type": [
"string",
"number"
]
},
"default": {},
"description": "Calculation params to pre-fill, e.g. { amount: 1000, year: 2015 }. Same names as build_calculator_link.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"calculator"
],
"type": "object"
},
"name": "build_share_pack",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"calculator": {
"type": "string"
},
"caption": {
"description": "Localized, ready-to-post social caption including the link and attribution.",
"type": "string"
},
"downloadUrl": {
"description": "Opens the result with the share modal already open, offering all three image sizes.",
"type": "string"
},
"lang": {
"type": "string"
},
"notes": {
"items": {
"type": "string"
},
"type": "array"
},
"ogImageUrl": {
"description": "Server-rendered 1200x628 PNG of this result. Safe to embed directly.",
"type": "string"
},
"shareUrl": {
"description": "Deep link to the calculated result — the URL to cite.",
"type": "string"
},
"sizes": {
"description": "Every image size, each with a direct server-rendered PNG URL.",
"items": {
"additionalProperties": false,
"properties": {
"height": {
"type": "number"
},
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"url": {
"description": "Server-rendered PNG of this result at this exact size.",
"type": "string"
},
"use": {
"type": "string"
},
"width": {
"type": "number"
}
},
"required": [
"id",
"label",
"width",
"height",
"use",
"url"
],
"type": "object"
},
"type": "array"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
}
},
"required": [
"shareUrl",
"ogImageUrl",
"downloadUrl",
"caption",
"sizes",
"calculator",
"lang",
"notes",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"description": "Amount invested in USD, identical for every asset.",
"minimum": 1,
"type": "number"
},
"assets": {
"description": "2-8 asset slugs. Valid: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil.",
"items": {
"type": "string"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"buy_year": {
"description": "Year of purchase.",
"maximum": 2100,
"minimum": 1900,
"type": "integer"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"sell_year": {
"anyOf": [
{
"maximum": 2100,
"minimum": 1900,
"type": "integer"
},
{
"const": "today",
"type": "string"
}
],
"default": "today",
"description": "Year to sell in, or \"today\" for the live market price. Default \"today\"."
}
},
"required": [
"amount",
"buy_year",
"assets"
],
"type": "object"
},
"name": "compare_investments",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"buyYear": {
"type": "number"
},
"methodology": {
"type": "string"
},
"results": {
"description": "Successful assets sorted by currentValue descending, then any failed assets.",
"items": {
"additionalProperties": false,
"properties": {
"asset": {
"type": "string"
},
"assetName": {
"type": "string"
},
"buyPrice": {
"description": "Buy price used: the buy year's low/high average, USD.",
"type": "number"
},
"buyYear": {
"type": "number"
},
"cagr": {
"description": "Compound annual growth rate in percent, or null for a same-year holding.",
"type": [
"number",
"null"
]
},
"currentValue": {
"description": "Value of the position at the sell date, in USD.",
"type": "number"
},
"dataUpdatedAt": {
"description": "When the sell price is from; states explicitly when a live-price fallback happened.",
"type": "string"
},
"error": {
"description": "Set when this asset could not be computed; the others still return.",
"type": "string"
},
"initialInvestment": {
"description": "Amount invested, in USD.",
"type": "number"
},
"methodology": {
"description": "One-sentence explanation of the pricing method and source.",
"type": "string"
},
"profit": {
"description": "currentValue minus initialInvestment.",
"type": "number"
},
"sellDate": {
"description": "The sell year, or \"today\" when the live price was used.",
"type": "string"
},
"sellPrice": {
"description": "Sell price used, USD.",
"type": "number"
},
"totalReturnPercent": {
"description": "Total return over the whole period, in percent.",
"type": "number"
},
"unitsPurchased": {
"description": "Units (coins/shares/ounces/barrels) bought with the initial amount.",
"type": "number"
},
"url": {
"description": "Deep link that reproduces this calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"asset"
],
"type": "object"
},
"type": "array"
},
"sellDate": {
"type": "string"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"winner": {
"description": "Slug of the best-performing asset, or null if none could be computed.",
"type": [
"string",
"null"
]
}
},
"required": [
"amount",
"buyYear",
"sellDate",
"results",
"winner",
"methodology",
"source"
],
"type": "object"
}
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"initial": {
"description": "Initial lump sum, in the user's currency.",
"minimum": 0,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"monthly": {
"default": 0,
"description": "Monthly contribution (default 0).",
"minimum": 0,
"type": "number"
},
"rate": {
"description": "Expected annual return in percent, e.g. 8.",
"type": "number"
},
"years": {
"description": "Investment horizon in years (1-80).",
"maximum": 80,
"minimum": 1,
"type": "number"
}
},
"required": [
"initial",
"rate",
"years"
],
"type": "object"
},
"name": "compound_interest",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"contributed": {
"description": "Initial amount plus all monthly contributions.",
"type": "number"
},
"futureValue": {
"description": "Projected balance at the end of the horizon, rounded.",
"type": "number"
},
"growth": {
"description": "futureValue minus contributed — the compounding gain.",
"type": "number"
},
"rate": {
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
},
"years": {
"type": "number"
}
},
"required": [
"futureValue",
"contributed",
"growth",
"years",
"rate",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"compare": {
"description": "Delayed starting age. Must be greater than `start`.",
"maximum": 90,
"minimum": 10,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"monthly": {
"description": "Monthly amount invested in both scenarios.",
"minimum": 1,
"type": "number"
},
"rate": {
"default": 10,
"description": "Expected annual return in percent (default 10 — same as the site's field default).",
"type": "number"
},
"retire": {
"default": 67,
"description": "Retirement age (default 67). Must exceed `compare`.",
"maximum": 100,
"minimum": 20,
"type": "number"
},
"start": {
"description": "Early starting age.",
"maximum": 90,
"minimum": 10,
"type": "number"
}
},
"required": [
"monthly",
"start",
"compare"
],
"type": "object"
},
"name": "cost_of_waiting",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cost": {
"description": "early minus late — the cost of waiting.",
"type": "number"
},
"early": {
"description": "Balance at retirement when starting at `start`.",
"type": "number"
},
"earlyYears": {
"description": "Years invested in the early scenario.",
"type": "number"
},
"extraContributed": {
"description": "Extra money actually paid in by starting early.",
"type": "number"
},
"late": {
"description": "Balance at retirement when starting at `compare`.",
"type": "number"
},
"lateYears": {
"description": "Years invested in the delayed scenario.",
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"early",
"late",
"cost",
"extraContributed",
"earlyYears",
"lateYears",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"balance": {
"description": "Outstanding card balance.",
"minimum": 1,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"payment": {
"description": "Fixed monthly payment. Must exceed the first month's interest.",
"minimum": 1,
"type": "number"
},
"purchases": {
"default": 0,
"description": "New spending added to the card every month (default 0) — same as the site's `purchases` field.",
"minimum": 0,
"type": "number"
},
"rate": {
"description": "Annual interest rate (APR) in percent, e.g. 18.",
"minimum": 0,
"type": "number"
}
},
"required": [
"balance",
"payment",
"rate"
],
"type": "object"
},
"name": "credit_card_payoff",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"months": {
"description": "Months until the balance reaches zero.",
"type": "number"
},
"neverPaysOff": {
"description": "True when the balance is still open after the 360-month horizon.",
"type": "boolean"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"totalInterest": {
"description": "Total interest paid over the payoff period.",
"type": "number"
},
"totalPaid": {
"description": "Total actually paid over the payoff period.",
"type": "number"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
},
"years": {
"description": "Same duration in years, one decimal.",
"type": "number"
}
},
"required": [
"months",
"years",
"totalInterest",
"totalPaid",
"neverPaysOff",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contribution": {
"default": 0,
"description": "Monthly amount added to the fund (default 0).",
"minimum": 0,
"type": "number"
},
"expenses": {
"description": "Monthly living expenses.",
"minimum": 1,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"savings": {
"default": 0,
"description": "Current emergency savings (default 0).",
"minimum": 0,
"type": "number"
},
"target": {
"default": 6,
"description": "Target coverage in months (default 6).",
"maximum": 36,
"minimum": 1,
"type": "number"
}
},
"required": [
"expenses"
],
"type": "object"
},
"name": "emergency_fund",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"gap": {
"description": "Amount still missing (0 when the target is reached).",
"type": "number"
},
"monthsCovered": {
"description": "savings / expenses, one decimal.",
"type": "number"
},
"monthsToTarget": {
"description": "Months to close the gap at the given contribution; 0 when reached, null when no contribution was given.",
"type": [
"number",
"null"
]
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"targetAmount": {
"description": "expenses × target months.",
"type": "number"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"monthsCovered",
"targetAmount",
"gap",
"monthsToTarget",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"current": {
"default": 0,
"description": "Current invested savings (default 0).",
"minimum": 0,
"type": "number"
},
"expenses": {
"description": "Monthly living expenses in retirement.",
"minimum": 1,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"rate": {
"default": 5,
"description": "Expected annual real return in percent (default 5 — same as the site's field default).",
"type": "number"
},
"saving": {
"description": "Amount saved/invested per month.",
"minimum": 0,
"type": "number"
},
"withdrawalRate": {
"default": 4,
"description": "Safe withdrawal rate in percent (default 4 = the 4% rule).",
"type": "number"
}
},
"required": [
"expenses",
"saving"
],
"type": "object"
},
"name": "fire_number",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fireNumber": {
"description": "Portfolio needed: annual expenses / withdrawal rate.",
"type": "number"
},
"rate": {
"type": "number"
},
"reachable": {
"description": "Whether the target is reachable within 100 years.",
"type": "boolean"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
},
"withdrawalRate": {
"type": "number"
},
"yearsToFire": {
"description": "Years to reach the target, or null when unreachable within 100 years.",
"type": [
"number",
"null"
]
}
},
"required": [
"fireNumber",
"yearsToFire",
"reachable",
"withdrawalRate",
"rate",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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\" }.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tool": {
"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.",
"type": "string"
}
},
"type": "object"
},
"name": "get_tool_guide",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"count": {
"type": "number"
},
"guides": {
"description": "One guide per matching tool.",
"items": {
"additionalProperties": false,
"properties": {
"argumentTemplate": {
"additionalProperties": {},
"description": "Argument shape with placeholders.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"followUp": {
"type": "string"
},
"outputGuide": {
"description": "How to read the structured result back to the user.",
"type": "string"
},
"promptName": {
"description": "Standard prompt template id, e.g. fire_number/target.",
"type": "string"
},
"resources": {
"items": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"uri": {
"type": "string"
}
},
"required": [
"name",
"uri",
"description"
],
"type": "object"
},
"type": "array"
},
"tool": {
"type": "string"
},
"userPrompt": {
"description": "Fill-in-the-blanks prompt template.",
"type": "string"
},
"whenToUse": {
"type": "string"
}
},
"required": [
"tool",
"promptName",
"whenToUse",
"userPrompt",
"argumentTemplate",
"outputGuide",
"followUp",
"resources"
],
"type": "object"
},
"type": "array"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
}
},
"required": [
"guides",
"count",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"description": "Amount invested in USD.",
"minimum": 1,
"type": "number"
},
"asset": {
"description": "Asset slug. One of: bitcoin, ethereum, solana, sp500, nasdaq100, nvidia, microsoft, meta, apple, tesla, amazon, google, netflix, amd, gold, silver, oil.",
"type": "string"
},
"buy_year": {
"description": "Year of purchase. Must be within the asset's data range.",
"maximum": 2100,
"minimum": 1900,
"type": "integer"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"sell_year": {
"anyOf": [
{
"maximum": 2100,
"minimum": 1900,
"type": "integer"
},
{
"const": "today",
"type": "string"
}
],
"default": "today",
"description": "Year to sell in, or \"today\" for the live market price. Default \"today\"."
}
},
"required": [
"asset",
"amount",
"buy_year"
],
"type": "object"
},
"name": "historical_investment_return",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"asset": {
"type": "string"
},
"assetName": {
"type": "string"
},
"buyPrice": {
"description": "Buy price used: the buy year's low/high average, USD.",
"type": "number"
},
"buyYear": {
"type": "number"
},
"cagr": {
"description": "Compound annual growth rate in percent, or null for a same-year holding.",
"type": [
"number",
"null"
]
},
"currentValue": {
"description": "Value of the position at the sell date, in USD.",
"type": "number"
},
"dataUpdatedAt": {
"description": "When the sell price is from; states explicitly when a live-price fallback happened.",
"type": "string"
},
"initialInvestment": {
"description": "Amount invested, in USD.",
"type": "number"
},
"methodology": {
"description": "One-sentence explanation of the pricing method and source.",
"type": "string"
},
"profit": {
"description": "currentValue minus initialInvestment.",
"type": "number"
},
"sellDate": {
"description": "The sell year, or \"today\" when the live price was used.",
"type": "string"
},
"sellPrice": {
"description": "Sell price used, USD.",
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"totalReturnPercent": {
"description": "Total return over the whole period, in percent.",
"type": "number"
},
"unitsPurchased": {
"description": "Units (coins/shares/ounces/barrels) bought with the initial amount.",
"type": "number"
},
"url": {
"description": "Deep link that reproduces this calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"asset",
"assetName",
"initialInvestment",
"currentValue",
"profit",
"totalReturnPercent",
"cagr",
"unitsPurchased",
"buyPrice",
"sellPrice",
"buyYear",
"sellDate",
"dataUpdatedAt",
"methodology",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"description": "Amount of money held today.",
"minimum": 1,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"rate": {
"default": 3,
"description": "Annual inflation rate in percent (default 3).",
"type": "number"
},
"years": {
"description": "Number of years (1-80).",
"maximum": 80,
"minimum": 1,
"type": "number"
}
},
"required": [
"amount",
"years"
],
"type": "object"
},
"name": "inflation_check",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"equivalentNeeded": {
"description": "Nominal amount needed later to buy what `amount` buys today.",
"type": "number"
},
"lost": {
"description": "amount minus realValue.",
"type": "number"
},
"lostPercent": {
"description": "Purchasing power lost, in percent (one decimal).",
"type": "number"
},
"realValue": {
"description": "Today's-money purchasing power of the amount after the period.",
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"realValue",
"lost",
"lostPercent",
"equivalentNeeded",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"highFee": {
"description": "Higher annual fee in percent, e.g. 1.5.",
"minimum": 0,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"lowFee": {
"description": "Lower annual fee in percent, e.g. 0.3.",
"minimum": 0,
"type": "number"
},
"monthly": {
"default": 0,
"description": "Monthly contribution (default 0).",
"minimum": 0,
"type": "number"
},
"portfolio": {
"description": "Current portfolio value.",
"minimum": 0,
"type": "number"
},
"rate": {
"default": 8,
"description": "Gross annual return in percent before fees (default 8 — same as the site).",
"type": "number"
},
"years": {
"description": "Investment horizon in years (1-60).",
"maximum": 60,
"minimum": 1,
"type": "number"
}
},
"required": [
"portfolio",
"highFee",
"lowFee",
"years"
],
"type": "object"
},
"name": "killer_fees",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"difference": {
"description": "withLowFee minus withHighFee — the cost of the higher fee.",
"type": "number"
},
"differencePercent": {
"description": "Difference as a percent of the high-fee balance (one decimal).",
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
},
"withHighFee": {
"description": "Ending balance net of the higher fee.",
"type": "number"
},
"withLowFee": {
"description": "Ending balance net of the lower fee.",
"type": "number"
}
},
"required": [
"withHighFee",
"withLowFee",
"difference",
"differencePercent",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cost": {
"description": "Cost of the habit per day.",
"minimum": 0.1,
"type": "number"
},
"lang": {
"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.",
"enum": [
"he",
"en",
"ar",
"es",
"pt",
"in"
],
"type": "string"
},
"perWeek": {
"default": 7,
"description": "How many days per week the expense happens (default 7).",
"maximum": 7,
"minimum": 1,
"type": "number"
},
"rate": {
"default": 8,
"description": "Expected annual investment return in percent (default 8).",
"type": "number"
},
"type": {
"description": "Optional habit key for the link, e.g. 'coffee'.",
"type": "string"
},
"years": {
"default": 30,
"description": "Number of years (default 30).",
"maximum": 80,
"minimum": 1,
"type": "number"
}
},
"required": [
"cost"
],
"type": "object"
},
"name": "latte_factor",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"futureValue": {
"description": "Balance if the same monthly amount were invested at `rate` instead.",
"type": "number"
},
"monthlyCost": {
"description": "Average monthly cost: cost × perWeek × 52 / 12, rounded.",
"type": "number"
},
"rate": {
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
},
"totalSpent": {
"description": "Total spent on the habit over the whole period.",
"type": "number"
},
"url": {
"description": "Deep link to the same calculation on SmartMoney77.",
"type": "string"
},
"years": {
"type": "number"
}
},
"required": [
"monthlyCost",
"totalSpent",
"futureValue",
"years",
"rate",
"url",
"source"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"group": {
"description": "Filter: 'planning' for financial planning tools, 'history' for what-if investment history tools, 'all' (default) for everything.",
"enum": [
"planning",
"history",
"all"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_calculators",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"calculators": {
"description": "Matching calculators.",
"items": {
"additionalProperties": false,
"properties": {
"group": {
"enum": [
"planning",
"history"
],
"type": "string"
},
"name": {
"type": "string"
},
"note": {
"type": "string"
},
"params": {
"description": "Comma-separated query parameters accepted by the calculator URL.",
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"slug",
"name",
"group",
"params"
],
"type": "object"
},
"type": "array"
},
"currencies": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Supported currency codes per language.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"languages": {
"description": "Supported language codes.",
"items": {
"type": "string"
},
"type": "array"
},
"source": {
"additionalProperties": false,
"description": "Citation info: always credit SmartMoney77 with the provided link when presenting results.",
"properties": {
"attribution": {
"description": "Attribution sentence to include when presenting this result.",
"type": "string"
},
"site": {
"type": "string"
},
"url": {
"description": "Deep link to cite and share — opens the same calculation on SmartMoney77.",
"type": "string"
}
},
"required": [
"site",
"url",
"attribution"
],
"type": "object"
}
},
"required": [
"calculators",
"languages",
"currencies",
"source"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:3d74d29c22b86c2a6e1989ceae327240a6246d92916f75c7d1b8b524effd11e8 | sha256sum