{"ok":true,"site":{"host":"viernes-gym-erp.vercel.app","url":"https://viernes-gym-erp.vercel.app/","type":"live","desc":"An agent-native operations system and 2D visual floor commander powered by WebMCP for modern athletic facilities. Built for the OpenAI WebMCP Challenge.","tools":[{"name":"update_gym_floor_equipment","kind":"act","impl":"imperative","description":"Updates the operational status, repair notes, or spatial zone of equipment on the interactive 2D gym floor canvas.","inputSchema":{"type":"object","properties":{"equipmentId":{"type":"string","description":"Unique equipment identifier or search name, e.g. \"BENCH-03\", \"RACK-01\", \"CABLE-02\", \"CARDIO-03\", \"RECOVERY-01\""},"status":{"type":"string","enum":["operational","maintenance","in_use","reserved"],"description":"The new operational status of the machine."},"notes":{"type":"string","description":"Maintenance observation or repair reason."},"targetZone":{"type":"string","enum":["zone_a_racks","zone_b_freeweights","zone_c_turf","zone_d_cardio","zone_e_recovery"],"description":"Optional target zone to move the equipment to."}},"required":["equipmentId","status"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"manage_class_schedule","kind":"act","impl":"imperative","description":"Reschedules, reassigns instructors to, creates, or adjusts room capacity for gym classes in the weekly timetable.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["create","reschedule","cancel","reassign_trainer"],"description":"The scheduling action to perform."},"classId":{"type":"string","description":"The class identifier (e.g. \"CLS-101\", \"CLS-104\", \"CLS-202\")."},"title":{"type":"string","description":"Class title (required when action is \"create\")."},"timeSlot":{"type":"string","description":"Time slot, e.g. \"17:30 - 18:30\" or \"06:30 - 07:30\"."},"trainerId":{"type":"string","description":"Coach identifier (e.g. \"TR-01\", \"TR-02\") or coach name."},"zone":{"type":"string","enum":["zone_a_racks","zone_b_freeweights","zone_c_turf","zone_d_cardio","zone_e_recovery"],"description":"The studio zone to host the class in."},"capacity":{"type":"number","description":"Maximum attendee capacity for the class."}},"required":["action"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"query_member_cohorts","kind":"answer","impl":"imperative","description":"Filters the active gym member database by churn risk level, days inactive, or membership tier.","inputSchema":{"type":"object","properties":{"riskLevel":{"type":"string","enum":["all","low","medium","high","critical"],"description":"Filter by algorithmic churn risk score."},"inactiveDaysMin":{"type":"number","description":"Minimum days since the member last checked into the facility."},"tier":{"type":"string","enum":["all","standard","premium_black","executive"],"description":"Filter by membership tier."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"launch_retention_campaign","kind":"transact","impl":"imperative","description":"Triggers a targeted personalized retention SMS/voucher campaign for high-risk churn members.","inputSchema":{"type":"object","properties":{"memberIds":{"type":"array","items":{"type":"string"},"description":"List of target member IDs (e.g. [\"MEM-001\", \"MEM-002\"])."},"offerType":{"type":"string","enum":["smoothie_voucher","pt_session","membership_discount","guest_pass"],"description":"The incentive perk to offer."},"discountPercent":{"type":"number","description":"Percentage discount if offerType is membership_discount (e.g. 20 or 25)."},"customMessage":{"type":"string","description":"Optional custom message copy."}},"required":["memberIds","offerType"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"simulate_revenue_forecast","kind":"act","impl":"imperative","description":"Runs financial sensitivity models forecasting the impact of price adjustments, class expansions, and churn reduction on Monthly Recurring Revenue (MRR).","inputSchema":{"type":"object","properties":{"priceAdjustmentPercent":{"type":"number","description":"Percentage adjustment to membership rates (-15 to +25%)."},"classCapacityDelta":{"type":"number","description":"Number of extra weekly class spots added."},"churnReductionTargetPct":{"type":"number","description":"Target percentage reduction in member churn (e.g. 10, 20, 30%)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_facility_telemetry","kind":"answer","impl":"imperative","description":"Returns real-time facility metrics including current floor occupancy, equipment uptime percentage, MRR, and churn rates.","inputSchema":{"type":"object","properties":{"zoneId":{"type":"string","enum":["zone_a_racks","zone_b_freeweights","zone_c_turf","zone_d_cardio","zone_e_recovery"],"description":"Optional specific zone ID to inspect."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","favicon":"/favicons/viernes-gym-erp.vercel.app.png","apiSurface":"spec","toolCount":6}}