{"ok":true,"site":{"host":"auralis-webmcp.vercel.app","url":"https://auralis-webmcp.vercel.app/","type":"live","desc":"A guided listening comparison that helps families explore how hearing profiles, distance, and background sound can shape an everyday conversation.","tools":[{"name":"get_auralis_state","kind":"answer","impl":"imperative","description":"Read the current Auralis family-demo phase, revision, approved synthetic profiles, human-authority gate, audio readiness, current comparison, and allowed next tools. This tool has no side effects. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Read Auralis state","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stage_demo_session","kind":"act","impl":"imperative","description":"Start the bounded agent-guided family demo without preselecting a profile. After visible human consent, call it again with select-profile to choose exactly one of the three approved synthetic profiles. A person may choose the same options on the page. Scene loading then starts automatically; comfortable-volume acknowledgement and the separate agent-playback grant remain visible human controls. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Stage family demo","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"action":{"type":"string","const":"start"},"goal":{"type":"string","const":"family-understanding"}},"required":["requestId","expectedRevision","action","goal"],"additionalProperties":false},{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"action":{"type":"string","const":"select-profile"},"goal":{"type":"string","const":"family-understanding"},"profileId":{"type":"string","enum":["high-frequency-hearing-loss","flat-hearing-loss","asymmetric-hearing-loss"]}},"required":["requestId","expectedRevision","action","goal","profileId"],"additionalProperties":false}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_comparison","kind":"act","impl":"imperative","description":"Prepare the fixed baseline or one deterministic adaptation that changes exactly one allowed variable. This tool does not load or play audio. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Prepare listening comparison","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"kind":{"type":"string","const":"baseline"}},"required":["requestId","expectedRevision","kind"],"additionalProperties":false},{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"kind":{"type":"string","const":"adaptation"},"variable":{"type":"string","const":"support_mode"},"value":{"type":"string","enum":["none","left-one-sided","bilateral"]}},"required":["requestId","expectedRevision","kind","variable","value"],"additionalProperties":false},{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"kind":{"type":"string","const":"adaptation"},"variable":{"type":"string","const":"television_state"},"value":{"type":"string","enum":["tv-on","tv-off"]}},"required":["requestId","expectedRevision","kind","variable","value"],"additionalProperties":false},{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"kind":{"type":"string","const":"adaptation"},"variable":{"type":"string","const":"speaker_position"},"value":{"type":"string","enum":["original-position","closer-in-front"]}},"required":["requestId","expectedRevision","kind","variable","value"],"additionalProperties":false}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"play_listening_comparison","kind":"act","impl":"imperative","description":"After the person explicitly grants agent playback on the visible page, the agent owns starting playback. Never tell or ask the person to press Play, start playback, or launch the comparison. Finish any required explanation first, then invoke this tool in the same agent run without a new spoken or written preface. The page owns an eight-second quiet lead-in and timed on-screen guidance before starting A, B, or the bounded A-then-B comparison. Do not speak, write narration, or call another tool while this call remains pending; it returns only after the full sequence completes, fails, or the person stops it. During an observation phase, an explicit request to hear the source reference again should use playback reference before recording the observation. Natural media end is required before playback counts as heard. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Play a listening comparison","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"comparisonId":{"type":"string","enum":["comparison-1","comparison-2","comparison-3"]},"playback":{"type":"string","enum":["reference","simulated","reference-then-simulated"]},"focus":{"type":"string","enum":["important-speaker","overall-scene"]}},"required":["requestId","expectedRevision","comparisonId","playback","focus"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"record_user_observation","kind":"act","impl":"imperative","description":"Translate only the person's stated everyday words into the bounded observation fields; never ask for enum names, infer hearing ability, or provide a diagnosis. If they report no clear difference or remain unsure, replay A then B with important-speaker focus before recording the observation. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Record listening observation","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":2147483647},"comparisonId":{"type":"string","enum":["comparison-1","comparison-2","comparison-3"]},"focusedSpeech":{"type":"string","enum":["clear","partial","missed","unsure"]},"maskingSources":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["television","competing_speech","room_noise","none","unsure"]}},"relativeToPrevious":{"type":"string","enum":["better","same","worse","unsure","not_compared"]},"nextAction":{"type":"string","enum":["continue","summarize"]}},"required":["requestId","expectedRevision","comparisonId","focusedSpeech","maskingSources","relativeToPrevious","nextAction"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_session_evidence","kind":"answer","impl":"imperative","description":"Read sanitized ordered session evidence and summary readiness. This tool has no side effects and returns no raw audiogram thresholds or free text. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Read session evidence","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"wait_for_session_change","kind":"act","impl":"imperative","description":"Wait read-only for the current session revision to change only when this tool appears in allowedNextTools after the agent has explained the visible step in the person's active channel or expects a technical page transition. Write that explanation in text mode or speak it in voice mode before waiting. Use the exact sessionId, afterRevision, and timeoutMs from continuation.waitInput. If the host omits the optional timeoutMs, Auralis derives the same phase-bound value: 240000 ms for normal human or technical waits and 15000 ms only for the explicit profile override window. An explicitly mismatched duration fails closed. If wait is absent, follow the current allowedNextTools because a deterministic agent action is ready or the session is complete. A timeout is not a state change; follow the returned continuation and never switch to Computer Use merely because time elapsed. Treat continuation as the current session-driver instruction. Use the person's active communication channel for every required explanation: write it in text mode or speak it in voice mode. When continuation.doNotEndTurn is true, provide the required explanation and perform its required tool call in this same agent run before returning a final response. When play_listening_comparison is allowed after agent playback was granted, the agent owns starting it: never tell the person to press Play or start the comparison, finish any required explanation, then invoke the tool in this same run. An explicit silence instruction overrides narration during the page-owned quiet lead-in and audio. When a matching tool appears in allowedNextTools, use that WebMCP tool before Computer Use. Computer Use is fallback-only for an explicit visible human gate after approval, or when no matching WebMCP tool is allowed; never click to imitate an equivalent tool.","title":"Wait for Auralis session change","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sessionId":{"type":"string","pattern":"^session-[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"afterRevision":{"type":"integer","minimum":0,"maximum":2147483647},"timeoutMs":{"anyOf":[{"type":"number","const":15000},{"type":"number","const":240000}]}},"required":["sessionId","afterRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/auralis-webmcp.vercel.app.png","apiSurface":"spec","toolCount":7}}