{"ok":true,"site":{"host":"gather-webmcp.vercel.app","url":"https://gather-webmcp.vercel.app/","type":"live","desc":"A WebMCP shared decision workspace where people-ops leads and browser agents plan from the same live retreat state.","tools":[{"name":"get_retreat_state","kind":"answer","impl":"imperative","description":"Read a concise summary of the live retreat brief, stakeholder proposals and their human resolutions, candidate scenarios, pins, locks, rejected options, priorities, and recent actions. Pass the last stateVersion you successfully observed to receive newer human actions without consuming them. Future cursors fail with a resync instruction.","title":"Read live retreat plan","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"sinceStateVersion":{"type":"integer","minimum":0}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_retreat_brief","kind":"act","impl":"imperative","description":"Tighten one or more human-owned retreat constraints and immediately recalculate the same scenarios shown to the human. The agent cannot raise the budget, loosen fairness or travel limits, or change dates. Read state first and pass its version.","title":"Update retreat brief","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"attendeeCount":{"type":"integer","minimum":4,"maximum":500},"totalBudget":{"type":"number","minimum":10000,"maximum":5000000},"maxMedianTravelHours":{"type":"number","minimum":1,"maximum":24},"maxWorstOriginTravelHours":{"type":"number","minimum":1,"maximum":30},"minimumFairnessScore":{"type":"number","minimum":0,"maximum":100},"travelBurdenThresholdHours":{"type":"number","minimum":1,"maximum":24}},"required":["expectedStateVersion"],"additionalProperties":false,"minProperties":2},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_origin_distribution","kind":"act","impl":"imperative","description":"Set the attendee count for one known origin cohort. Gather updates the total headcount and recalculates the same scenario costs and travel burdens visible to the human.","title":"Update attendee origins","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"originCode":{"type":"string","enum":["YVR","YYZ","NYC","AUS"]},"attendees":{"type":"integer","minimum":0,"maximum":500}},"required":["expectedStateVersion","originCode","attendees"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_priority_weight","kind":"act","impl":"imperative","description":"Set one planning priority from 0 to 100 and immediately refresh the visible priority control and weighted scenario scores.","title":"Set planning priority","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"priority":{"type":"string","enum":["travelEase","travelFairness","experience","teamConnection","luxury","costEfficiency"]},"weight":{"type":"number","minimum":0,"maximum":100}},"required":["expectedStateVersion","priority","weight"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_scenarios","kind":"act","impl":"imperative","description":"Compare two or three current scenarios using the live cost, travel, weighted scores, activities, pins, and constraint findings. Omit scenarioIds to compare every visible option.","title":"Compare retreat scenarios","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"scenarioIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":2,"maxItems":3}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"pin_scenario","kind":"act","impl":"imperative","description":"Pin one existing scenario as the option to protect. The same scenario card becomes pinned and opens in the visible detailed workspace.","title":"Pin preferred scenario","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"scenarioId":{"type":"string","minLength":1}},"required":["expectedStateVersion","scenarioId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_constraint_lock","kind":"act","impl":"imperative","description":"Add a hard lock for a destination, venue, activity, the current total budget, or the current date window. Agents cannot remove locks; a human must use the visible control. Gather atomically rebuilds the visible options. Read state first and use a unique idempotency key.","title":"Set hard constraint","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":120},"operation":{"type":"string","enum":["lock"]},"kind":{"type":"string","enum":["destination","venue","activity","budget","date"]},"value":{"type":"string","minLength":1}},"required":["expectedStateVersion","idempotencyKey","operation","kind"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_activity_selection","kind":"act","impl":"imperative","description":"Add or remove one activity from a current scenario using the venue activity id. The visible itinerary, activity budget, total cost, rejected options, and activity cards update together.","title":"Change planned activity","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"scenarioId":{"type":"string","minLength":1},"activityId":{"type":"string","minLength":1},"selected":{"type":"boolean"}},"required":["expectedStateVersion","scenarioId","activityId","selected"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"optimize_scenarios","kind":"act","impl":"imperative","description":"Run deterministic multi-objective search across venue, transport, activity, meal, and schedule combinations. Hard constraints are validated by Gather; three non-dominated trade-off finalists and a Decision Receipt update the visible workspace. Read state first and pass its version.","title":"Rebuild retreat options","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":120},"maxAdditionalCost":{"type":"number","minimum":0,"maximum":100000,"description":"Maximum cost increase from the live baseline plan; the retreat's total budget remains a separate hard ceiling."},"minExperienceScore":{"type":"number","minimum":0,"maximum":100},"minFairnessScore":{"type":"number","minimum":0,"maximum":100},"maxWorstOriginTravelHours":{"type":"number","minimum":1,"maximum":30},"maxMedianTravelHours":{"type":"number","minimum":1,"maximum":24},"preserveDestinationId":{"type":"string","enum":["costa-rica","mexico-city","san-diego","austin","scottsdale","denver","miami","nashville"]},"preserveVenueId":{"type":"string","minLength":1},"focusOriginCode":{"type":"string","enum":["YVR","YYZ","NYC","AUS"]},"requiredActivityId":{"type":"string","minLength":1},"rejectedActivityId":{"type":"string","minLength":1}},"required":["expectedStateVersion","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"undo_last_change","kind":"act","impl":"imperative","description":"Reverse only the latest agent-authored planning change. An agent cannot cross or reverse a human checkpoint; humans retain the visible Undo control. Read state first and use a unique idempotency key.","title":"Undo latest plan change","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":120}},"required":["expectedStateVersion","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_proposal","kind":"act","impl":"imperative","description":"Prepare a stable proposal snapshot for one current scenario and open the exact human review gate. This never generates, uploads, sends, or publishes a PDF; a human must approve the local download in Gather.","title":"Prepare proposal for review","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"scenarioId":{"type":"string","minLength":1},"expectedStateVersion":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":120}},"required":["expectedStateVersion","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","favicon":"/favicons/gather-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":11}}