{"ok":true,"site":{"host":"2030mcp-linkup.vercel.app","url":"https://2030mcp-linkup.vercel.app/","type":"live","desc":"Tell us what happened. LinkUp turns it into clear next steps, with you checking every detail before anything is shared.","tools":[{"name":"recovery_list_current_programs","kind":"answer","impl":"imperative","description":"Returns a structured JSON envelope with the three demo program snapshots, provider records, source URLs, and policy versions. Status and waiting guidance are informational; this tool does not decide eligibility.","title":"List the current recovery programs","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_current_coordination_summary","kind":"answer","impl":"imperative","description":"Returns a deterministic coordination proof for this demo case: the next human-confirmed fact that can move the most provider paths, projected path effects, matched requirements, confirmed information reused, disclosure counts, and what still needs a person. It makes no eligibility decision, timing or money estimate, and changes no state.","title":"Read the coordination summary","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_case_timeline","kind":"answer","impl":"imperative","description":"Read up to 100 recent case events, including actions by you, the Agent, providers, and the system, plus delivery receipts and permission status. This tool changes no state and cannot delete or rewrite history.","title":"Read case history and receipts","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_explain_case_change","kind":"answer","impl":"imperative","description":"Explain one event from the case history: who acted, what changed, and what it means. It accepts only an event ID from this case, changes no state, and does not infer facts beyond the recorded event.","title":"Explain one case change","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"eventId":{"type":"string","enum":["RB-0001-001"]}},"required":["eventId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_provider_locations","kind":"act","impl":"imperative","description":"READ ONLY: show the three provider offices plus demo community resources (shelter, charging point, records desk) with straight-line distances, open status, and which of your reviewed needs each place serves. Sorted by need match first, then open status, then distance — never distance alone. Every entry is demo location data: no real geography, no navigation, and the travel decision stays with you.","title":"Find demo help locations near you","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_list_verified_needs","kind":"answer","impl":"imperative","description":"READ ONLY: list synthetic community needs verified by a demo coordinator, including amount still needed, safe drop point or remote mode, deadline, hazard-zone rule, and assignment requirement. It never reveals a survivor address, dispatches a volunteer, reserves a task, or treats an offer as an assignment.","title":"Find verified ways to help","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"helpType":{"type":"string","enum":["ALL","SUPPLIES","REMOTE","TRAINED_CREW"],"default":"ALL"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_live_advisories","kind":"act","impl":"imperative","description":"READ ONLY: fetches real public advisories from government feeds (NWS weather alerts and USGS earthquakes) near the demo area, cached for five minutes, each with source, severity, link, and fetch time. These are public-context snapshots for the demo scenario — never a life-safety feed; the resident must always follow official channels. Falls back to a clearly-labeled synthetic snapshot if feeds are unreachable.","title":"Read live public advisories","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_workflow_guide","kind":"answer","impl":"imperative","description":"READ ONLY: returns every step of the recovery workflow with who acts (resident or agent), which tool performs it, and which step is CURRENT for this case right now. Use it first if you are unsure what to do next. It also explains where provider-owned tools live and why resident confirmations are never agent tools.","title":"Get the workflow guide for this case","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_household_briefing","kind":"answer","impl":"imperative","description":"READ ONLY: one composed answer for the household — the single next unlock, the two closest open help points with drive/walk times, what to bring, and the latest live advisories. Information only: it decides nothing, contacts nobody, and demo data is labeled.","title":"Get the household briefing","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_get_decision_center","kind":"act","impl":"imperative","description":"READ ONLY: test the current plan against one bounded synthetic condition — the current hazard window, an access-road closure, lost shelter capacity, or delayed power restoration. Returns the modeled decision window, consequence, dependency chain, facts that remain valid, checklist, Case Passport, Plan B, provider sources, and phone contacts. Estimates are clearly synthetic; this tool provides no life-safety forecast or real navigation, contacts nobody, and leaves every travel and provider-contact decision with the resident.","title":"Stress-test the household recovery plan","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"stressKey":{"type":"string","enum":["CURRENT_HAZARD","ACCESS_ROUTE_CLOSED","SHELTER_CAPACITY_LOST","POWER_RESTORATION_DELAYED"],"default":"CURRENT_HAZARD","description":"The bounded synthetic condition to test without changing case state."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_check_for_changes","kind":"answer","impl":"imperative","description":"READ ONLY: compare the case with provider snapshots already recorded in Recovery Watch. Returns the exact before/after policy versions, affected paths, invalidated stale packets, revoked unused permissions, and facts that remain valid. This is an on-demand case check, not a claim of background monitoring; it contacts nobody and changes no state.","title":"Check whether the recovery plan changed","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"county_get_current_requirements","kind":"answer","impl":"imperative","description":"Read the current demo county provider rules, program details, and separate satisfied and missing requirements. The response includes providerSource and policyVersion so the source is clear. It only reads case state; it does not contact the provider or submit an application.","title":"County Recovery requirements","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"housing_get_current_requirements","kind":"answer","impl":"imperative","description":"Read the current demo housing provider rules, program details, and separate satisfied and missing requirements. The response includes providerSource and policyVersion so the source is clear. It only reads case state; it does not contact the provider or submit an application.","title":"Temporary Housing requirements","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"utility_get_current_requirements","kind":"answer","impl":"imperative","description":"Read the current demo utility provider rules, program details, and separate satisfied and missing requirements. The response includes providerSource and policyVersion so the source is clear. It only reads case state; it does not contact the provider or submit an application.","title":"Harbor Electric requirements","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"evidence_prepare_occupancy_claim","kind":"act","impl":"imperative","description":"STATE CHANGE: create one user-reported occupancy draft and return its SHA-256 contentHash. The label is shown for your review. This does not verify the claim, contact a provider, or meet a requirement until you confirm it.","title":"Prepare an occupancy detail","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"label":{"type":"string","minLength":4,"maxLength":120,"description":"Plain-language label shown to the resident for review."}},"required":["label"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]},{"name":"recovery_prepare_help_offer","kind":"act","impl":"imperative","description":"STATE CHANGE, NO SEND: prepare one offer for a verified need using only the amount and availability supplied. The page shows the exact fields shared and withheld. This tool blocks Severe-zone and unaffiliated Caution-zone work, reveals no survivor address, assigns nobody, and contacts no organization until the person approves a one-time send.","title":"Prepare a verified help offer","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"needId":{"type":"string","enum":["need-charging-cables","need-remote-callbacks"]},"quantity":{"type":"integer","minimum":1,"maximum":100},"availability":{"type":"string","minLength":3,"maxLength":80,"description":"A short delivery or remote-work availability window."}},"required":["needId","quantity","availability"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/recovery","/recovery/agent"]}],"favicon":"/favicons/2030mcp-linkup.vercel.app.svg","apiSurface":"spec","category":"Developer Tools","toolCount":16}}