Koskamo

SmartMoney77 MCP

A public, read-only MCP server exposing 14 financial calculator tools including compound interest, FIRE number, and credit card payoff. It allows AI agents to generate deep links to pre-filled calculators and retrieve structured financial data without requiring login or API keys.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

SmartMoney77 MCP logo, by SmartMoney77Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by SmartMoney77
MCP endpoint (Streamable HTTP)
https://smartmoney77.com/mcp
Vendor documentation

What its tools do

14 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

14 of 14 have a description · 14 of 14 declare behavior hints · 14 of 14 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to smartmoney77.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Calculate compound interest and investment returns
  • Generate deep links for FIRE number and emergency fund calculators
  • Compare investment fees and historical performance
  • Retrieve structured financial data for AI agents

Source and maintenance

Vendor evidenceRegistry 0.6.0

Protocol and capabilities

Server
com.smartmoney77/financial-calculators 0.6.1
MCP protocol negotiated in check
2025-11-25
Tools
14 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

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

14 advertised

get_tool_guide — Tool guide (prompts & resources)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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" }.

get_tool_guide input schema
{
  "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."
    }
  }
}
get_tool_guide output schema
{
  "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 — 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
}
get_tool_guide annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_calculators — List calculators
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_calculators input schema
{
  "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."
    }
  }
}
list_calculators output schema
{
  "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 — 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
}
list_calculators annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
build_calculator_link — Build calculator link
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

build_calculator_link input schema
{
  "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'."
    }
  }
}
build_calculator_link output schema
{
  "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 — 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 — 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_calculator_link annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
build_share_pack — Build social share pack
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 } }

build_share_pack input schema
{
  "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."
    }
  }
}
build_share_pack output schema
{
  "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 — 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 — 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
}
build_share_pack annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compound_interest — Compound interest projection
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

compound_interest input schema
{
  "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)."
    }
  }
}
compound_interest output schema
{
  "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 — the compounding gain."
    },
    "source": {
      "type": "object",
      "required": [
        "site",
        "url",
        "attribution"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "Deep link to cite and share — 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
}
compound_interest annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fire_number — FIRE number & years to freedom
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

fire_number input schema
{
  "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 — 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)."
    }
  }
}
fire_number output schema
{
  "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 — 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
}
fire_number annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
credit_card_payoff — Credit card payoff
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

credit_card_payoff input schema
{
  "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) — same as the site's `purchases` field."
    }
  }
}
credit_card_payoff output schema
{
  "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 — 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
}
credit_card_payoff annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
emergency_fund — Emergency fund coverage
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

emergency_fund input schema
{
  "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)."
    }
  }
}
emergency_fund output schema
{
  "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 — 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 × 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
}
emergency_fund annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
inflation_check — Inflation erosion check
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

inflation_check input schema
{
  "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."
    }
  }
}
inflation_check output schema
{
  "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 — 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
}
inflation_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
latte_factor — Latte factor (small daily habit cost)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

latte_factor input schema
{
  "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)."
    }
  }
}
latte_factor output schema
{
  "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 — 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 × perWeek × 52 / 12, rounded."
    }
  },
  "additionalProperties": false
}
latte_factor annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
killer_fees — Investment fee impact
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

killer_fees input schema
{
  "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 — 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."
    }
  }
}
killer_fees output schema
{
  "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 — 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 — 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
}
killer_fees annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
cost_of_waiting — Cost of waiting to invest
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

cost_of_waiting input schema
{
  "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 — 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."
    }
  }
}
cost_of_waiting output schema
{
  "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 — 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 — 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
}
cost_of_waiting annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
historical_investment_return — Historical investment return
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

historical_investment_return input schema
{
  "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\"."
    }
  }
}
historical_investment_return output schema
{
  "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 — 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
}
historical_investment_return annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_investments — Compare historical investments
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

compare_investments input schema
{
  "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\"."
    }
  }
}
compare_investments output schema
{
  "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 — 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
}
compare_investments annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
4434 ms
95th percentile latency
4434 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 4434 ms · metadata changed · 14 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http smartmoney77-mcp https://smartmoney77.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add smartmoney77-mcp --url https://smartmoney77.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable smartmoney77-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "smartmoney77-mcp": {
      "url": "https://smartmoney77.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "smartmoney77-mcp": {
      "type": "streamableHttp",
      "url": "https://smartmoney77.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start smartmoney77-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "smartmoney77-mcp": {
      "type": "http",
      "url": "https://smartmoney77.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http smartmoney77-mcp https://smartmoney77.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://smartmoney77.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "smartmoney77-mcp": {
      "serverUrl": "https://smartmoney77.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like SmartMoney77 MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run SmartMoney77 MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing