{"id":2080656,"recorded_at":"2026-11-02T07:07:41.396642Z","observed_at":"2026-11-02T07:07:41.396484Z","subject_kind":"endpoint","subject":"e417b2ff-0842-499b-bfc0-65c15bae1e02","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":5,"tools":[{"description":"Runs the same monthly-investing plan through 2 to 4 portfolios (the same simulation as simulate_portfolio) and returns each one's final outcome range, deepest fall, past return and volatility, and url, for questions like 'S&P 500 or all-country stocks?'.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"currency":{"description":"Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.","enum":["USD","EUR","JPY","GBP","CNY","CHF","AUD","CAD","HKD","SGD","KRW","INR","TWD","BRL","THB","IDR","PHP","MYR","VND"],"type":"string"},"history":{"default":"all","description":"The span of past monthly returns the model is fitted to: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.","enum":["5","10","20","all"],"type":"string"},"history_from":{"description":"First calendar year of a custom span (with history_to); replaces history.","maximum":2026,"minimum":1994,"type":"integer"},"history_to":{"description":"Last calendar year of a custom span.","maximum":2026,"minimum":1994,"type":"integer"},"inflation_percent":{"description":"Annual inflation. When given, every amount out is in today's money at this rate; omitted, amounts are nominal.","maximum":20,"minimum":0,"type":"number"},"initial":{"default":0,"description":"Starting sum invested at once.","maximum":1000000000000,"minimum":0,"type":"number"},"language":{"default":"en","description":"Language of the page the returned url opens; match the user's language.","enum":["de","en","es","fr","id","ja","ko","pt-BR","th","vi","zh-Hans","zh-Hant"],"type":"string"},"monthly":{"description":"Amount invested at the end of every month.","maximum":10000000000,"minimum":0,"type":"number"},"portfolios":{"description":"The portfolios to compare.","items":{"properties":{"label":{"description":"Name to show for this portfolio.","type":"string"},"portfolio":{"anyOf":[{"enum":["sixtyForty","allCountry","allWeather"],"type":"string"},{"additionalProperties":false,"properties":{"acwi":{"maximum":100,"minimum":0,"type":"number"},"agg":{"maximum":100,"minimum":0,"type":"number"},"btc":{"maximum":100,"minimum":0,"type":"number"},"eem":{"maximum":100,"minimum":0,"type":"number"},"efa":{"maximum":100,"minimum":0,"type":"number"},"gld":{"maximum":100,"minimum":0,"type":"number"},"ndx100":{"maximum":100,"minimum":0,"type":"number"},"schd":{"maximum":100,"minimum":0,"type":"number"},"shy":{"maximum":100,"minimum":0,"type":"number"},"sox":{"maximum":100,"minimum":0,"type":"number"},"sp500":{"maximum":100,"minimum":0,"type":"number"},"tlt":{"maximum":100,"minimum":0,"type":"number"},"vnq":{"maximum":100,"minimum":0,"type":"number"}},"type":"object"}],"description":"A preset name or weights in percent by asset (any total; they are scaled to 100). Assets: sp500 = S&P 500, ndx100 = Nasdaq 100, sox = SOX (Semiconductors), schd = US dividend stocks (SCHD), acwi = MSCI ACWI, efa = Developed ex-US stocks, eem = Emerging market stocks, vnq = US REITs, gld = Gold, shy = US 1–3 year Treasuries, agg = US aggregate bonds, tlt = US long-term Treasuries, btc = Bitcoin. Presets: sixtyForty = sp500 60% + agg 40%; allCountry = acwi 100%; allWeather = sp500 30% + tlt 40% + shy 15% + gld 15%."}},"required":["portfolio"],"type":"object"},"maxItems":4,"minItems":2,"type":"array"},"years":{"default":20,"description":"Years of investing.","maximum":40,"minimum":1,"type":"integer"}},"required":["portfolios","monthly"],"type":"object"},"name":"compare_portfolios"},{"description":"Annualised past returns of the assets compoundsim simulates, over the last 5, 10 or 20 years, all the data, or a calendar span: total return with dividends reinvested, price return, the dividends' share, volatility, and the return after US inflation (in USD) or the exchange rate's share of the return (in another currency).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"assets":{"description":"Assets to include; all of them when omitted.","items":{"enum":["sp500","ndx100","sox","schd","acwi","efa","eem","vnq","gld","shy","agg","tlt","btc"],"type":"string"},"minItems":1,"type":"array"},"currency":{"description":"Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.","enum":["USD","EUR","JPY","GBP","CNY","CHF","AUD","CAD","HKD","SGD","KRW","INR","TWD","BRL","THB","IDR","PHP","MYR","VND"],"type":"string"},"language":{"default":"en","description":"Language of the page the returned url opens; match the user's language.","enum":["de","en","es","fr","id","ja","ko","pt-BR","th","vi","zh-Hans","zh-Hant"],"type":"string"},"period":{"default":"10","description":"The span measured: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.","enum":["5","10","20","all"],"type":"string"},"period_from":{"description":"First calendar year of a custom span (with period_to); replaces period.","maximum":2026,"minimum":1994,"type":"integer"},"period_to":{"description":"Last calendar year of a custom span.","maximum":2026,"minimum":1994,"type":"integer"}},"type":"object"},"name":"get_asset_returns"},{"description":"Deterministic compound growth of monthly contributions (plus an optional starting sum) at a fixed annual return. Returns contributions, gains and total by year, and a compoundsim.app url. Use simulate_portfolio for the range of outcomes of real assets.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"annual_return_pct":{"default":5,"description":"Effective annual return (CAGR), applied as the equivalent monthly rate.","maximum":50,"minimum":0,"type":"number"},"currency":{"description":"Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.","enum":["USD","EUR","JPY","GBP","CNY","CHF","AUD","CAD","HKD","SGD","KRW","INR","TWD","BRL","THB","IDR","PHP","MYR","VND"],"type":"string"},"inflation_percent":{"description":"Annual inflation. When given, every amount out is in today's money at this rate; omitted, amounts are nominal.","maximum":20,"minimum":0,"type":"number"},"initial":{"default":0,"description":"Starting sum invested at once.","maximum":1000000000000,"minimum":0,"type":"number"},"language":{"default":"en","description":"Language of the page the returned url opens; match the user's language.","enum":["de","en","es","fr","id","ja","ko","pt-BR","th","vi","zh-Hans","zh-Hant"],"type":"string"},"monthly":{"description":"Amount invested at the end of every month.","maximum":10000000000,"minimum":0,"type":"number"},"years":{"default":20,"description":"Years of investing.","maximum":60,"minimum":1,"type":"integer"}},"required":["monthly"],"type":"object"},"name":"simulate_fixed_rate"},{"description":"Monte Carlo simulation of investing monthly (plus an optional starting sum) in one asset or a mix rebalanced monthly. Returns the range of outcomes by year (10th to 90th percentile), the deepest fall along the way, the mix's own past return and volatility, and a compoundsim.app url that shows the same scenario.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"currency":{"description":"Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.","enum":["USD","EUR","JPY","GBP","CNY","CHF","AUD","CAD","HKD","SGD","KRW","INR","TWD","BRL","THB","IDR","PHP","MYR","VND"],"type":"string"},"history":{"default":"all","description":"The span of past monthly returns the model is fitted to: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.","enum":["5","10","20","all"],"type":"string"},"history_from":{"description":"First calendar year of a custom span (with history_to); replaces history.","maximum":2026,"minimum":1994,"type":"integer"},"history_to":{"description":"Last calendar year of a custom span.","maximum":2026,"minimum":1994,"type":"integer"},"inflation_percent":{"description":"Annual inflation. When given, every amount out is in today's money at this rate; omitted, amounts are nominal.","maximum":20,"minimum":0,"type":"number"},"initial":{"default":0,"description":"Starting sum invested at once.","maximum":1000000000000,"minimum":0,"type":"number"},"language":{"default":"en","description":"Language of the page the returned url opens; match the user's language.","enum":["de","en","es","fr","id","ja","ko","pt-BR","th","vi","zh-Hans","zh-Hant"],"type":"string"},"monthly":{"description":"Amount invested at the end of every month.","maximum":10000000000,"minimum":0,"type":"number"},"portfolio":{"anyOf":[{"enum":["sixtyForty","allCountry","allWeather"],"type":"string"},{"additionalProperties":false,"properties":{"acwi":{"maximum":100,"minimum":0,"type":"number"},"agg":{"maximum":100,"minimum":0,"type":"number"},"btc":{"maximum":100,"minimum":0,"type":"number"},"eem":{"maximum":100,"minimum":0,"type":"number"},"efa":{"maximum":100,"minimum":0,"type":"number"},"gld":{"maximum":100,"minimum":0,"type":"number"},"ndx100":{"maximum":100,"minimum":0,"type":"number"},"schd":{"maximum":100,"minimum":0,"type":"number"},"shy":{"maximum":100,"minimum":0,"type":"number"},"sox":{"maximum":100,"minimum":0,"type":"number"},"sp500":{"maximum":100,"minimum":0,"type":"number"},"tlt":{"maximum":100,"minimum":0,"type":"number"},"vnq":{"maximum":100,"minimum":0,"type":"number"}},"type":"object"}],"description":"A preset name or weights in percent by asset (any total; they are scaled to 100). Assets: sp500 = S&P 500, ndx100 = Nasdaq 100, sox = SOX (Semiconductors), schd = US dividend stocks (SCHD), acwi = MSCI ACWI, efa = Developed ex-US stocks, eem = Emerging market stocks, vnq = US REITs, gld = Gold, shy = US 1–3 year Treasuries, agg = US aggregate bonds, tlt = US long-term Treasuries, btc = Bitcoin. Presets: sixtyForty = sp500 60% + agg 40%; allCountry = acwi 100%; allWeather = sp500 30% + tlt 40% + shy 15% + gld 15%."},"years":{"default":20,"description":"Years of investing.","maximum":60,"minimum":1,"type":"integer"}},"required":["portfolio","monthly"],"type":"object"},"name":"simulate_portfolio"},{"description":"Monte Carlo simulation of withdrawing a yearly percentage of a starting balance, raised with inflation every month, from a portfolio (the 4% rule and its variants). Returns the share of paths that still had money at the end, when the others ran out, the remaining balance range in today's money, the success rate at withdrawal rates from 2% to 8%, and a compoundsim.app url.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"balance":{"description":"Starting balance.","maximum":1000000000000,"minimum":0,"type":"number"},"currency":{"description":"Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.","enum":["USD","EUR","JPY","GBP","CNY","CHF","AUD","CAD","HKD","SGD","KRW","INR","TWD","BRL","THB","IDR","PHP","MYR","VND"],"type":"string"},"history":{"default":"all","description":"The span of past monthly returns the model is fitted to: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.","enum":["5","10","20","all"],"type":"string"},"history_from":{"description":"First calendar year of a custom span (with history_to); replaces history.","maximum":2026,"minimum":1994,"type":"integer"},"history_to":{"description":"Last calendar year of a custom span.","maximum":2026,"minimum":1994,"type":"integer"},"inflation_percent":{"default":2,"description":"Annual inflation the withdrawals rise with; balances are in today's money.","maximum":20,"minimum":0,"type":"number"},"language":{"default":"en","description":"Language of the page the returned url opens; match the user's language.","enum":["de","en","es","fr","id","ja","ko","pt-BR","th","vi","zh-Hans","zh-Hant"],"type":"string"},"portfolio":{"anyOf":[{"enum":["sixtyForty","allCountry","allWeather"],"type":"string"},{"additionalProperties":false,"properties":{"acwi":{"maximum":100,"minimum":0,"type":"number"},"agg":{"maximum":100,"minimum":0,"type":"number"},"btc":{"maximum":100,"minimum":0,"type":"number"},"eem":{"maximum":100,"minimum":0,"type":"number"},"efa":{"maximum":100,"minimum":0,"type":"number"},"gld":{"maximum":100,"minimum":0,"type":"number"},"ndx100":{"maximum":100,"minimum":0,"type":"number"},"schd":{"maximum":100,"minimum":0,"type":"number"},"shy":{"maximum":100,"minimum":0,"type":"number"},"sox":{"maximum":100,"minimum":0,"type":"number"},"sp500":{"maximum":100,"minimum":0,"type":"number"},"tlt":{"maximum":100,"minimum":0,"type":"number"},"vnq":{"maximum":100,"minimum":0,"type":"number"}},"type":"object"}],"description":"A preset name or weights in percent by asset (any total; they are scaled to 100). Assets: sp500 = S&P 500, ndx100 = Nasdaq 100, sox = SOX (Semiconductors), schd = US dividend stocks (SCHD), acwi = MSCI ACWI, efa = Developed ex-US stocks, eem = Emerging market stocks, vnq = US REITs, gld = Gold, shy = US 1–3 year Treasuries, agg = US aggregate bonds, tlt = US long-term Treasuries, btc = Bitcoin. Presets: sixtyForty = sp500 60% + agg 40%; allCountry = acwi 100%; allWeather = sp500 30% + tlt 40% + shy 15% + gld 15%."},"withdrawal_rate_pct":{"default":4,"description":"First year's withdrawal as a percentage of the starting balance.","maximum":20,"minimum":0,"type":"number"},"years":{"default":30,"description":"Years the money has to last.","maximum":60,"minimum":1,"type":"integer"}},"required":["portfolio","balance"],"type":"object"},"name":"simulate_withdrawal"}]},"body_sha256":"fc6c7ac3ff54a63c6f538baf8ecb700d7d686a4a19dde2bd8da2f1be00aca7e0","prev_id":null,"leaf":"0xf1b0ea851f1201ef97d76b2267fcb7bb6b6a0478d3edeccd7bc84e8ccf95b240","leaf_text":"{\"body\":\"fc6c7ac3ff54a63c6f538baf8ecb700d7d686a4a19dde2bd8da2f1be00aca7e0\",\"id\":2080656,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793603261396484,\"prev\":null,\"subject\":\"e417b2ff-0842-499b-bfc0-65c15bae1e02\",\"subject_kind\":\"endpoint\"}","day":null,"proof":[]}