Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "calculate_coast_fire", "calculate_fire_target", "compute_swiss_property_tax" and 5 more
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"annual_expenses_in_retirement":{"minimum":1," ⟨85 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"annual_expense":{"description":"Projected ⟨102 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"canton":{"description":"Canton ⟨85 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"currency":{"description":"Currency ⟨25 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"code":{"description":"The ⟨26 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"balances":{"description":"The ⟨7 unchanged words⟩ per-currency cash).","items":{"additionalProperties":true{},"properties":{"cash_balance":{"type":" ⟨61 unchanged words⟩ get_account_positions, unchanged.","items":{"additionalProperties":true{},"properties":{"asset_class":{"description":" ⟨28 unchanged words⟩ ":"IBKR contract id (conid).","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"currency":{"maxLength" ⟨47 unchanged words⟩ ":"array"},"summary":{"additionalProperties":true{},"description":"The result of IBKR get_account_summary, ⟨27 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"currency":{"default":"USD" ⟨359 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"available_cash":{"additionalProperties":{"type ⟨5 unchanged words⟩ per currency, keyed by ISO code.","propertyNames":{"type":"string"},"type":"object"},"base_currency":{"default":"USD" ⟨34 unchanged words⟩ hit each class goal before computing trades.","propertyNames":{"type":"string"},"type":"object"},"fx_rates":{"additionalProperties":{"exclusiveMinimum ⟨16 unchanged words⟩ (base currency itself is 1).","propertyNames":{"type":"string"},"type":"object"},"holdings":{"description":"The portfolio holdings to rebalance.","items":{"additionalProperties":false,"properties":{"asset_class":{"default":"Equity ⟨136 unchanged words⟩
Added "get_rebalance_plan" and "load_portfolio" (6 tools before, 8 now)
Fetch the rebalancing trades the user decided on in the RetireCrunch Rebalancer, from the plan code they copied ("Send plan to my AI"). Codes work once, for 15 minutes. Returns the trades with IBKR contract ids where known. To act on them, create one IBKR order instruction per trade (create_order_instruction); the user reviews and submits each one inside IBKR. RetireCrunch never places orders.
Open the user's Interactive Brokers portfolio in the RetireCrunch Portfolio Rebalancer. First call the IBKR connector's get_account_positions, get_account_balances and get_account_summary, then pass their results here UNCHANGED (do not re-type or round numbers). Returns a private link that works once, for 15 minutes — give it to the user exactly as written. No login is needed because the link itself is the key: the positions are encrypted with a key that exists only in the link, and RetireCrunch's server holds just that encrypted copy, which it cannot read, for at most 15 minutes and deletes …
Certificate recorded, valid to 2026-11-23
Authorization not required
First tool surface recorded: 6 tools (server version 0.1.0)
Showing the latest 5 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed