{"ok":true,"site":{"host":"cosmic-lebkuchen-d84f92.netlify.app","url":"https://cosmic-lebkuchen-d84f92.netlify.app/","type":"live","desc":"A shared client-side scenario model that a human and an AI agent edit together in real time, via WebMCP.","tools":[{"name":"get_state","kind":"answer","impl":"imperative","description":"Read the full live state: every scenario's current variables and projection (if any), plus lastEdit metadata showing what was most recently changed and whether the human or the agent changed it. Call this first, and any time you need to see what the human has done since your last turn.","inputSchema":{"type":"object","properties":{"scenarioId":{"type":"string","description":"Optional. Return just this scenario. Omit to get everything."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_scenario","kind":"act","impl":"imperative","description":"Create a new named financial scenario, optionally cloning an existing scenario's variables as a starting point. It appears immediately in the shared UI.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Display name, e.g. \"Part-time + freelance\""},"id":{"type":"string","description":"Optional stable id; auto-generated from name if omitted."},"cloneFrom":{"type":"string","description":"Optional id of an existing scenario to copy variables from."}},"required":["name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_variable","kind":"act","impl":"imperative","description":"Set one variable on one scenario. The change is immediately visible on screen and its slider moves — the user does not need to be told it happened.","inputSchema":{"type":"object","properties":{"scenarioId":{"type":"string"},"key":{"type":"string","enum":["income","rent","otherExpenses","startingSavings","growthRate","months"]},"value":{"type":"number"}},"required":["scenarioId","key","value"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_projection","kind":"act","impl":"imperative","description":"Run the financial projection for a scenario using its current live variables (whoever last edited them) and return the resulting monthly balance series and ending balance.","inputSchema":{"type":"object","properties":{"scenarioId":{"type":"string"}},"required":["scenarioId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_scenarios","kind":"act","impl":"imperative","description":"Compare two scenarios' ending balance and monthly net cash flow, running fresh projections first if either is stale. Returns the numeric difference (B minus A).","inputSchema":{"type":"object","properties":{"scenarioIdA":{"type":"string"},"scenarioIdB":{"type":"string"}},"required":["scenarioIdA","scenarioIdB"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Finance & Crypto","favicon":"/favicons/cosmic-lebkuchen-d84f92.netlify.app.ico","apiSurface":"spec","toolCount":5}}