{"ok":true,"site":{"host":"silence-alarm-webmcp.vercel.app","url":"https://silence-alarm-webmcp.vercel.app/","type":"live","desc":"Pomodoro, meditations and very quiet alarms an agent drives over WebMCP.","tools":[{"name":"get_session","kind":"answer","impl":"imperative","description":"Silence Alarm's current state: which session is running (focus, rest, meditation or timer), how much time is left, which pomodoro cycle it's on, and whether it's paused or the alarm is ringing.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_alarms","kind":"answer","impl":"imperative","description":"Lists the pending scheduled alarms, with the time each one will ring and how long that is away.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_stats","kind":"answer","impl":"imperative","description":"Today's tally: focus minutes accumulated, focus sessions completed, meditations finished and alarms that have rung.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_notifications","kind":"answer","impl":"imperative","description":"Lists completion notices produced since this page was opened: finished timers, pomodoro phases, meditations and scheduled alarms. An agent should poll this tool to receive those notices.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_pomodoro","kind":"act","impl":"imperative","description":"Starts one focus block of a pomodoro. When it ends, it rings and stops; a rest or another focus block must be started explicitly by the person or agent. Replaces any session already running.","inputSchema":{"type":"object","properties":{"focus_minutes":{"type":"number","description":"Length of each focus block. Defaults to 25."},"break_minutes":{"type":"number","description":"Length of each rest. Defaults to 5."},"cycles":{"type":"number","description":"How many focus blocks to chain. Defaults to 4."},"label":{"type":"string","description":"What is being worked on, shown on screen."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_timer","kind":"act","impl":"imperative","description":"Sets a plain timer for X minutes. The silent chime sounds when it reaches zero. This is the direct way to say \"let me know in X minutes\".","inputSchema":{"type":"object","properties":{"minutes":{"type":"number","description":"Minutes to count. Decimals allowed."},"label":{"type":"string","description":"What the timer is for."}},"required":["minutes"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_meditation","kind":"act","impl":"imperative","description":"Opens a guided meditation of X minutes. The scene turns to night and the enso breathes: breathing mode paces the inhale and exhale, body scan releases cues one by one, silence just keeps the time.","inputSchema":{"type":"object","properties":{"minutes":{"type":"number","description":"Length. Defaults to 6."},"style":{"type":"string","enum":["breathing","body_scan","silence"],"description":"breathing (paced breath), body_scan (guided cues) or silence."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"pause_session","kind":"act","impl":"imperative","description":"Pauses the running session, keeping the remaining time.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"resume_session","kind":"act","impl":"imperative","description":"Resumes a paused session from where it left off.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stop_session","kind":"act","impl":"imperative","description":"Cancels the running session and silences the chime if it was ringing. Leaves scheduled alarms alone.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_alarm","kind":"act","impl":"imperative","description":"Schedules an alarm independent of the session, using \"in_minutes\" (X minutes from now) or \"at\" (time of day as HH:MM). Survives a page reload.","inputSchema":{"type":"object","properties":{"in_minutes":{"type":"number","description":"How many minutes from now it should ring."},"at":{"type":"string","description":"Time of day as HH:MM, 24h. A time already past is taken as tomorrow."},"label":{"type":"string","description":"What to remember when it rings."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"cancel_alarm","kind":"transact","impl":"imperative","description":"Cancels a scheduled alarm by its id (the one list_alarms returns).","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"The alarm id."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_chime","kind":"act","impl":"imperative","description":"Tunes how silent the alarm is: the peak volume and the seconds of fade from silence up to that peak. A long fade at a low volume is what makes the alert appear rather than startle.","inputSchema":{"type":"object","properties":{"volume":{"type":"number","description":"Peak of the fade, 0 to 1. Defaults to 0.12, deliberately low."},"fade_seconds":{"type":"number","description":"Seconds taken to reach that peak. Defaults to 20."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"ring_now","kind":"act","impl":"imperative","description":"Rings the chime right now with the current settings, to hear how it sounds without waiting for anything to come due.","inputSchema":{"type":"object","properties":{"label":{"type":"string","description":"Text to show while it rings."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/silence-alarm-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":14}}