{"ok":true,"site":{"host":"fromcoach.vercel.app","url":"https://fromcoach.vercel.app/","type":"live","desc":"FormCoach — a workout page that measures your reps and form with on-device pose tracking and exposes the numbers to browser agents as WebMCP tools. The camera never leaves the tab.","tools":[{"name":"getWorkoutPlan","kind":"answer","impl":"imperative","description":"Returns today's workout plan: blocks of exercise/sets/reps/rest, who created it (user or agent), and the user's note about injuries or limits. Call this before suggesting changes or starting sets. Read-only.","title":"Get workout plan","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getLiveMetrics","kind":"answer","impl":"imperative","description":"Returns the live rep count, joint angle, camera view, form flags, and rest timer measured by the webcam in this tab. During rest, trackingMode is palm: handDetected, palmDetected, palmHoldProgress (0-1), and handTracking report open-palm recognition for skipping rest; body pose is not tracked. Call this whenever the user asks how they are doing, or before deciding to adjust the program. Contains numbers and status fields only — no images. Read-only, safe to poll.","title":"Get live metrics","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"getSetHistory","kind":"answer","impl":"imperative","description":"Returns the completed sets of this session: exercise, reps vs target, form-flag counts, and average tempo per set. Call this to review progress or summarize mid-session. Read-only.","title":"Get set history","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"createWorkoutPlan","kind":"act","impl":"imperative","description":"Creates a workout plan with one exercise, sets, reps, rest seconds, and an optional note about injuries or limits. Available before a session starts or after it ends. Replaces the previous plan and starts a fresh idle session. Call when the user asks you to create their workout plan.","title":"Create a workout plan","inputSchema":{"type":"object","properties":{"exercise":{"type":"string","enum":["squat","pushup"],"description":"Exercise to train."},"sets":{"type":"integer","minimum":1,"maximum":10,"description":"Number of sets."},"reps":{"type":"integer","minimum":1,"maximum":50,"description":"Target reps per set."},"restSec":{"type":"integer","minimum":10,"maximum":600,"description":"Rest between sets in seconds."},"userNote":{"type":"string","maxLength":500,"description":"Optional injuries, sensitivities, or limits the coach should know."}},"required":["exercise","sets","reps","restSec"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"startSet","kind":"act","impl":"imperative","description":"Starts the next set (or the set of a specific plan block) after a 3-second on-screen countdown. Available when the session is idle or resting. Call when the user says they are ready.","title":"Start a set","inputSchema":{"type":"object","properties":{"blockIndex":{"type":"integer","description":"Optional 0-based plan block to jump to. Omit to continue the plan in order."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"createPlan","kind":"act","impl":"declarative","description":"Create today's workout plan: exercise, sets, reps, rest seconds, and a note about injuries or limits.","inputSchema":{"type":"object","properties":{"exercise":{"type":"string","enum":["squat","pushup"]},"sets":{"type":"number"},"reps":{"type":"number"},"restSec":{"type":"number"},"userNote":{"type":"string","description":"e.g. left knee is sensitive"}}},"__source":"spec","__declarative":true}],"category":"Health & Education","favicon":"/favicons/fromcoach.vercel.app.svg","apiSurface":"spec","toolCount":6}}