Server definition
- Hash
- sha256:05d6500ed764dd6799eb561060cb1c94e90e021d41aab883c92bd54cbde37cb6
- What it is
- What a remote MCP server returned when asked what it offers: 9 tools
The blob, as servednamed by its sha256
{
"instructions": "SmartFin's free investment tools. Three tools use real daily prices for S&P 500 companies and major index ETFs (smartfin_compare_investment_strategies, smartfin_calculate_investment_return, smartfin_compare_time_periods); the calculators work at the rates the user gives; smartfin_get_embed_code gives free embed code for a calculator on the user's own site. Every result has a summary to quote, structured data, suggested next calls, a link that opens the result on smartfin.fyi, a source line to cite and steps to redo it there. Results are estimates, not financial advice.",
"tools": [
{
"description": "Works the way SmartFin's FIRE calculator does. The FIRE number today is yearly expenses divided by a safe withdrawal rate. Each year savings grow at an assumed return with the yearly savings added, while expenses (and so the FIRE number) rise with inflation; FIRE is the first year savings reach that year's FIRE number, searched up to 60 years. Also gives the savings rate and, with a traditional retirement age, the Coast FIRE number. Use for early retirement / FIRE questions: \"how much do I need to retire\", \"when can I retire\", \"what's my coast FIRE number\". Do not use to test how long an existing balance lasts (use smartfin_calculate_retirement_withdrawal). Returns and inflation are assumptions; excludes taxes.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"annual_expenses": {
"description": "Yearly spending today, in dollars",
"maximum": 100000000,
"minimum": 0,
"type": "number"
},
"annual_savings": {
"description": "Added each year, in dollars (12 x a monthly amount). Default 0",
"maximum": 100000000,
"minimum": 0,
"type": "number"
},
"current_age": {
"description": "For the age at FIRE and Coast FIRE. Default 30",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"current_savings": {
"description": "Invested today, in dollars. Default 0",
"maximum": 10000000000,
"minimum": 0,
"type": "number"
},
"expected_return_pct": {
"description": "Assumed yearly return in %. Default 7",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"inflation_pct": {
"description": "Yearly inflation in %, applied to expenses. Default 3",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"retirement_age": {
"description": "Optional: a traditional retirement age, for the Coast FIRE number",
"maximum": 120,
"minimum": 0,
"type": "number"
},
"withdrawal_rate_pct": {
"description": "Safe withdrawal rate in %. Default 4",
"enum": [
3,
4,
5
],
"type": "number"
}
},
"required": [
"annual_expenses"
],
"type": "object"
},
"name": "smartfin_calculate_fire_number",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"coast_fire_number": {
"type": [
"number",
"null"
]
},
"expenses_at_fire": {
"type": [
"number",
"null"
]
},
"fire_age": {
"type": [
"number",
"null"
]
},
"fire_number_at_fire": {
"type": [
"number",
"null"
]
},
"fire_number_today": {
"type": "number"
},
"reached_within_60_years": {
"type": "boolean"
},
"savings_rate_pct": {
"type": "number"
},
"still_needed": {
"type": "number"
},
"years_to_fire": {
"type": [
"number",
"null"
]
}
},
"required": [
"fire_number_today",
"years_to_fire",
"reached_within_60_years",
"savings_rate_pct"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "What an amount will be worth in today's money after years of inflation at a fixed yearly rate, and what something costing that amount today will cost then. Use for questions about buying power or future prices at an assumed inflation rate. Do not use for historical CPI lookups: this uses one fixed rate, not official index data.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "Amount in dollars",
"maximum": 1000000000000,
"minimum": 0,
"type": "number"
},
"annual_inflation_pct": {
"description": "Yearly inflation rate in %, e.g. 3",
"maximum": 1000,
"minimum": -99,
"type": "number"
},
"years": {
"description": "Number of years",
"maximum": 200,
"minimum": 1,
"type": "number"
}
},
"required": [
"amount",
"annual_inflation_pct",
"years"
],
"type": "object"
},
"name": "smartfin_calculate_inflation_impact",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"buying_power_lost": {
"type": "number"
},
"future_cost": {
"type": "number"
},
"todays_money": {
"type": "number"
}
},
"required": [
"todays_money",
"buying_power_lost",
"future_cost"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "What an amount invested in a US stock or index ETF became over a past period under one strategy: lump_sum (all on the first trading day), monthly (spread on the trading day nearest the 1st of each month) or buy_the_dip (bought after falls of a set % from the latest high), on real daily closing prices (adjusted for splits and reinvested dividends). Returns final value, total and yearly return, worst fall and Sharpe ratio. Use when the user asks about one specific approach, e.g. \"what would $5,000 in Microsoft since 2015 be worth\" (lump_sum) or \"if I'd put money into SPY every month since 2010\" (monthly). Do not use to compare strategies (use smartfin_compare_investment_strategies) or for future projections (use smartfin_project_savings_growth). Limits: US-listed S&P 500 companies and major index ETFs only, US dollars, month-level periods.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "Total dollars invested over the period",
"maximum": 1000000000,
"minimum": 1,
"type": "number"
},
"dip_percent_per_buy": {
"description": "For buy_the_dip: % of the amount per buy. Default 10",
"enum": [
5,
10,
15,
20,
25,
30,
35,
40,
45,
50,
55,
60,
65,
70
],
"type": "number"
},
"dip_threshold_pct": {
"description": "For buy_the_dip: trigger fall in %. Default 10",
"enum": [
5,
10,
15,
20
],
"type": "number"
},
"end_month": {
"description": "Last month to include, YYYY-MM. Omit for the latest available month",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"start_month": {
"description": "First month, YYYY-MM",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"strategy": {
"description": "Which way of investing",
"enum": [
"lump_sum",
"monthly",
"buy_the_dip"
],
"type": "string"
},
"ticker": {
"description": "Stock or ETF symbol, not a company name: AAPL not Apple. Covers 508 symbols: the S&P 500 companies plus the index ETFs SPY, VOO, IVV, QQQ, DIA, IWM, VTI.",
"pattern": "^[A-Za-z][A-Za-z.\\-]{0,9}$",
"type": "string"
}
},
"required": [
"ticker",
"strategy",
"amount",
"start_month"
],
"type": "object"
},
"name": "smartfin_calculate_investment_return",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"amount": {
"type": "number"
},
"as_of_date": {
"type": "string"
},
"company": {
"type": "string"
},
"result": {
"properties": {
"annual_return_measure": {
"type": "string"
},
"annual_return_pct": {
"type": [
"number",
"null"
]
},
"error": {
"type": "string"
},
"final_value": {
"type": [
"number",
"null"
]
},
"invested": {
"type": [
"number",
"null"
]
},
"max_drawdown_pct": {
"type": [
"number",
"null"
]
},
"sharpe_ratio": {
"type": [
"number",
"null"
]
},
"total_return_pct": {
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"start_date": {
"type": "string"
},
"strategy": {
"type": "string"
},
"ticker": {
"type": "string"
}
},
"required": [
"ticker",
"company",
"strategy",
"amount",
"start_date",
"as_of_date",
"result"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "Monthly payment, total interest and total paid for a fixed-rate loan with monthly payments: mortgage, car, student or personal loan. Give either loan_amount, or home_price with down_payment_pct for a mortgage. Use when the user asks what a loan costs per month or in total, or how the rate or term changes the cost. Do not use for variable-rate loans, interest-only loans, or credit cards. Excludes taxes, insurance and fees.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"annual_rate_pct": {
"description": "Annual interest rate in %, e.g. 6.5",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"down_payment_pct": {
"description": "Mortgage only: down payment as % of home_price. Default 20",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"home_price": {
"description": "Mortgage only: home price, in dollars, with down_payment_pct",
"maximum": 100000000,
"minimum": 0,
"type": "number"
},
"loan_amount": {
"description": "Amount borrowed, in dollars. Give this or home_price",
"maximum": 100000000,
"minimum": 0,
"type": "number"
},
"loan_type": {
"description": "Type of loan; chooses the SmartFin calculator link. Default mortgage",
"enum": [
"mortgage",
"car",
"student",
"personal"
],
"type": "string"
},
"term_years": {
"description": "Loan term in years, e.g. 30 for a mortgage, 5 for a car loan",
"maximum": 50,
"minimum": 1,
"type": "number"
}
},
"required": [
"annual_rate_pct",
"term_years"
],
"type": "object"
},
"name": "smartfin_calculate_loan_payment",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"annual_rate_pct": {
"type": "number"
},
"loan_amount": {
"type": "number"
},
"monthly_payment": {
"type": "number"
},
"term_years": {
"type": "number"
},
"total_interest": {
"type": "number"
},
"total_paid": {
"type": "number"
}
},
"required": [
"loan_amount",
"monthly_payment",
"total_interest",
"total_paid"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "Works the way SmartFin's withdrawal calculator does, with withdrawals monthly, quarterly or annually and the balance earning a yearly return between them. how_long: how many years a balance lasts at a set withdrawal, optionally rising each year with inflation. how_much: the withdrawal that lasts a given number of years, or that never touches the principal (lasts_forever). Use for \"how long will my savings last\" or \"how much can I withdraw\". Do not use to find a savings target (use smartfin_calculate_fire_number). Returns are an assumption; excludes taxes and fees.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"balance": {
"description": "Starting balance, in dollars",
"maximum": 10000000000,
"minimum": 0,
"type": "number"
},
"expected_return_pct": {
"description": "Assumed yearly return in %",
"maximum": 100,
"minimum": -99,
"type": "number"
},
"frequency": {
"description": "How often money is withdrawn. Default monthly",
"enum": [
"monthly",
"quarterly",
"annually"
],
"type": "string"
},
"inflation_pct": {
"description": "For how_long, optional: the withdrawal rises by this % each year",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"lasts_forever": {
"description": "For how_much: the withdrawal that never touches the principal",
"type": "boolean"
},
"question": {
"description": "how_long needs withdrawal_amount; how_much needs years or lasts_forever",
"enum": [
"how_long",
"how_much"
],
"type": "string"
},
"withdrawal_amount": {
"description": "For how_long: each withdrawal, in dollars, at the chosen frequency",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"years": {
"description": "For how_much: how many years the money should last",
"maximum": 50,
"minimum": 1,
"type": "number"
}
},
"required": [
"question",
"balance",
"expected_return_pct"
],
"type": "object"
},
"name": "smartfin_calculate_retirement_withdrawal",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"extra_from_growth": {
"type": [
"number",
"null"
]
},
"frequency": {
"type": "string"
},
"lasts_indefinitely": {
"type": "boolean"
},
"question": {
"type": "string"
},
"total_withdrawn": {
"type": [
"number",
"null"
]
},
"withdrawal_per_period": {
"type": "number"
},
"withdrawal_per_year": {
"type": "number"
},
"years_lasts": {
"type": [
"number",
"null"
]
}
},
"required": [
"question",
"frequency"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "Runs one amount through three ways of buying the same US stock or index ETF over a chosen period, on real daily closing prices (adjusted for splits and reinvested dividends): all at once on the first trading day (lump sum), spread evenly on the trading day nearest the 1st of each month, or bought after the price falls a set % from its latest high. Returns each strategy's final value, total and yearly return, worst fall and Sharpe ratio. Use when the user asks which way of investing would have done better for a specific stock or index over a past period, or what an amount would be worth under each approach. Do not use for one strategy only (use smartfin_calculate_investment_return), for several reference periods at once (use smartfin_compare_time_periods), or for future projections. Limits: US-listed S&P 500 companies and major index ETFs only, prices in US dollars, month-level start and end; results depend on the period and are not a prediction.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "Total dollars to invest across the whole period",
"maximum": 1000000000,
"minimum": 1,
"type": "number"
},
"dip_percent_per_buy": {
"description": "Share of the amount spent on each dip, in %. Default 10",
"enum": [
5,
10,
15,
20,
25,
30,
35,
40,
45,
50,
55,
60,
65,
70
],
"type": "number"
},
"dip_threshold_pct": {
"description": "Buy-the-dip trigger: a fall of this % from the latest high. Default 10",
"enum": [
5,
10,
15,
20
],
"type": "number"
},
"end_month": {
"description": "Last month to include, YYYY-MM. Omit for the latest available month",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"response_format": {
"description": "detailed adds worst fall and Sharpe ratio to the summary. Default concise",
"enum": [
"concise",
"detailed"
],
"type": "string"
},
"start_month": {
"description": "First month, YYYY-MM, e.g. 2016-01",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"ticker": {
"description": "Stock or ETF symbol, not a company name: AAPL not Apple. Covers 508 symbols: the S&P 500 companies plus the index ETFs SPY, VOO, IVV, QQQ, DIA, IWM, VTI.",
"pattern": "^[A-Za-z][A-Za-z.\\-]{0,9}$",
"type": "string"
}
},
"required": [
"ticker",
"amount",
"start_month"
],
"type": "object"
},
"name": "smartfin_compare_investment_strategies",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"amount": {
"type": "number"
},
"as_of_date": {
"type": "string"
},
"buy_the_dip": {
"properties": {
"annual_return_measure": {
"type": "string"
},
"annual_return_pct": {
"type": [
"number",
"null"
]
},
"error": {
"type": "string"
},
"final_value": {
"type": [
"number",
"null"
]
},
"invested": {
"type": [
"number",
"null"
]
},
"max_drawdown_pct": {
"type": [
"number",
"null"
]
},
"sharpe_ratio": {
"type": [
"number",
"null"
]
},
"total_return_pct": {
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"company": {
"type": "string"
},
"history_starts": {
"type": "string"
},
"lump_sum": {
"properties": {
"annual_return_measure": {
"type": "string"
},
"annual_return_pct": {
"type": [
"number",
"null"
]
},
"error": {
"type": "string"
},
"final_value": {
"type": [
"number",
"null"
]
},
"invested": {
"type": [
"number",
"null"
]
},
"max_drawdown_pct": {
"type": [
"number",
"null"
]
},
"sharpe_ratio": {
"type": [
"number",
"null"
]
},
"total_return_pct": {
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"monthly_investing": {
"properties": {
"annual_return_measure": {
"type": "string"
},
"annual_return_pct": {
"type": [
"number",
"null"
]
},
"error": {
"type": "string"
},
"final_value": {
"type": [
"number",
"null"
]
},
"invested": {
"type": [
"number",
"null"
]
},
"max_drawdown_pct": {
"type": [
"number",
"null"
]
},
"sharpe_ratio": {
"type": [
"number",
"null"
]
},
"total_return_pct": {
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"risk_free_rate_pct": {
"type": "number"
},
"start_date": {
"type": "string"
},
"ticker": {
"type": "string"
}
},
"required": [
"ticker",
"company",
"amount",
"start_date",
"as_of_date",
"lump_sum",
"monthly_investing",
"buy_the_dip"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "What a fixed amount in a US stock or index ETF became across reference periods ending today (or on as_of_date): since 2000, since the dot-com peak (24 Mar 2000), since the dot-com crash low (9 Oct 2002), since the 2007 peak (9 Oct 2007), since the 2008 crash low (9 Mar 2009), since 2010, since the COVID low (23 Mar 2020), since the 2022 low (12 Oct 2022), and the last 10, 5 and 1 years. Each row gives lump sum and monthly investing results on daily closing prices adjusted for splits and reinvested dividends. Event dates are S&P 500 closing highs and lows. Use when the user asks how a stock did over several time frames, or names one of these moments (\"from the COVID low\", \"since 2000\"). Do not use for a custom start month (use smartfin_compare_investment_strategies). Limits: periods that start before the ticker's price history are skipped and listed with the reason; US dollars; not a prediction.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "Dollars invested in each period. Default 1000",
"maximum": 1000000000,
"minimum": 1,
"type": "number"
},
"as_of_date": {
"description": "End date, YYYY-MM-DD. Omit for the latest available price",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"type": "string"
},
"periods": {
"description": "Which periods to include. Omit for all",
"items": {
"enum": [
"dotcom_peak",
"since_2000",
"dotcom_low",
"peak_2007",
"crash_2009_low",
"since_2010",
"covid_low",
"low_2022",
"last_10y",
"last_5y",
"last_1y"
],
"type": "string"
},
"type": "array"
},
"ticker": {
"description": "Stock or ETF symbol, not a company name: AAPL not Apple. Covers 508 symbols: the S&P 500 companies plus the index ETFs SPY, VOO, IVV, QQQ, DIA, IWM, VTI.",
"pattern": "^[A-Za-z][A-Za-z.\\-]{0,9}$",
"type": "string"
}
},
"required": [
"ticker"
],
"type": "object"
},
"name": "smartfin_compare_time_periods",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"amount": {
"type": "number"
},
"as_of_date": {
"type": "string"
},
"company": {
"type": "string"
},
"history_starts": {
"type": "string"
},
"periods": {
"items": {
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"lump_sum": {
"type": "object"
},
"monthly_investing": {
"type": "object"
},
"simulation_url": {
"type": "string"
},
"start_date": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"skipped": {
"items": {
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"ticker": {
"type": "string"
}
},
"required": [
"ticker",
"company",
"amount",
"as_of_date",
"periods",
"skipped"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "The HTML to put one of SmartFin's free calculators on a website the user runs: a blog post, a class or library page, a client resources page. One iframe line, free, no sign-up, no cookies or tracking; the widget fills the width it's given and follows the reader's light or dark mode. Calculators: investment (Investment growth calculator), compound_interest (Compound interest calculator), mortgage (Mortgage calculator), car_loan (Car loan calculator), student_loan (Student loan calculator), refinance (Refinance calculator), cagr (CAGR calculator), rule_of_72 (Rule of 72 calculator), inflation (Inflation calculator), fire (FIRE calculator), withdrawal (Withdrawal planner). Use when the user wants a calculator on their own site or asks how to add one. Do not use to calculate anything (use the other smartfin_ tools).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"calculator": {
"description": "Which calculator to embed",
"enum": [
"investment",
"compound_interest",
"mortgage",
"car_loan",
"student_loan",
"refinance",
"cagr",
"rule_of_72",
"inflation",
"fire",
"withdrawal"
],
"type": "string"
},
"currency": {
"description": "Show this currency to every reader. Omit to let each reader choose",
"enum": [
"USD",
"EUR",
"GBP",
"CHF",
"AUD",
"CAD",
"SGD",
"HKD",
"INR",
"JPY"
],
"type": "string"
}
},
"required": [
"calculator"
],
"type": "object"
},
"name": "smartfin_get_embed_code",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"calculator": {
"type": "string"
},
"currency": {
"type": "string"
},
"embed_code": {
"type": "string"
},
"height": {
"type": "number"
},
"title": {
"type": "string"
}
},
"required": [
"calculator",
"title",
"embed_code"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
},
{
"description": "Future balance of savings or an investment growing at a fixed yearly rate, with optional monthly contributions and a chosen compounding frequency. Returns the balance, total paid in and interest earned. Use for forward-looking \"how much will I have\" questions at an assumed rate. Do not use for what a real stock did in the past (use smartfin_calculate_investment_return). A fixed rate is an assumption, not a forecast.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"annual_rate_pct": {
"description": "Assumed yearly rate in %, e.g. 7",
"maximum": 1000,
"minimum": -99,
"type": "number"
},
"compounds_per_year": {
"description": "1 yearly, 2 twice a year, 4 quarterly, 12 monthly, 365 daily. Default 12",
"enum": [
1,
2,
4,
12,
365
],
"type": "number"
},
"monthly_contribution": {
"description": "Added each month, in dollars. Default 0",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"principal": {
"description": "Starting amount in dollars",
"maximum": 10000000000,
"minimum": 0,
"type": "number"
},
"years": {
"description": "Number of years",
"maximum": 100,
"minimum": 1,
"type": "number"
}
},
"required": [
"principal",
"annual_rate_pct",
"years"
],
"type": "object"
},
"name": "smartfin_project_savings_growth",
"outputSchema": {
"properties": {
"cite": {
"description": "How to credit this result",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"type": "object"
},
"data": {
"properties": {
"balance": {
"type": "number"
},
"effective_annual_rate_pct": {
"type": "number"
},
"interest_earned": {
"type": "number"
},
"paid_in": {
"type": "number"
},
"years": {
"type": "number"
}
},
"required": [
"balance",
"paid_in",
"interest_earned"
],
"type": "object"
},
"how_to": {
"description": "Steps for the user to see or redo this on smartfin.fyi",
"items": {
"type": "string"
},
"type": "array"
},
"links": {
"properties": {
"embed": {
"description": "Free embed code for this calculator, for a site the user runs",
"type": "string"
},
"page": {
"description": "SmartFin's page for this stock, when it has one",
"type": "string"
},
"smartfin": {
"description": "Open and adjust this result on smartfin.fyi",
"type": "string"
}
},
"required": [
"smartfin"
],
"type": "object"
},
"next": {
"description": "Suggested follow-up calls",
"items": {
"properties": {
"arguments": {
"type": "object"
},
"tool": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"tool",
"arguments",
"why"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"summary": {
"description": "Plain-language result the assistant can quote",
"type": "string"
}
},
"required": [
"data",
"summary",
"next",
"links",
"cite",
"how_to",
"source"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:05d6500ed764dd6799eb561060cb1c94e90e021d41aab883c92bd54cbde37cb6 | sha256sum