{"ok":true,"site":{"host":"openscene-webmcp.jijou-leo40.chatgpt.site","url":"https://openscene-webmcp.jijou-leo40.chatgpt.site/","type":"live","desc":"A trainer asks ChatGPT, through WebMCP, to add a missing lift question to a German train-station lesson. OpenScene pauses for the learner’s German line, then plays the trainer-approved filmed answer.","tools":[{"name":"openscene_inspect_project","kind":"answer","impl":"imperative","description":"Read the live video project, source cue, editable branches, page-approved response packs, preview state, and page version before planning an edit.","title":"Inspect the scene project","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"projectId":{"type":"string","enum":["station-transfer-studio"],"description":"The open scene project."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"openscene_configure_project","kind":"act","impl":"imperative","description":"Update the open project audience, language level, and learning goal together so every later branch is authored against the same brief.","title":"Configure the learning brief","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"audience":{"type":"string","minLength":1,"maxLength":160,"description":"Who will use this rehearsal."},"learnerLevel":{"type":"string","minLength":1,"maxLength":24,"description":"Target language level."},"goal":{"type":"string","minLength":1,"maxLength":200,"description":"Concrete practice outcome."},"expectedRevision":{"type":"integer","minimum":0,"description":"Page version returned by inspection. The write fails if the project changed first."}},"required":["audience","learnerLevel","goal"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"openscene_propose_branch","kind":"act","impl":"imperative","description":"Add one visible draft branch that maps the human need and learner line to one page-approved response pack and pause time. The page owns the factual answer, board, filmed performance, and answer timing. The human must rehearse and keep the cut.","title":"Propose a scene branch","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"branch":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,31}$","description":"Stable branch identifier."},"title":{"type":"string","minLength":1,"maxLength":80,"description":"Short branch title shown in the scene graph."},"learnerNeed":{"type":"string","minLength":1,"maxLength":180,"description":"The human need this branch rehearses."},"learnerLine":{"type":"string","minLength":1,"maxLength":160,"description":"Exact line the learner must choose before the response plays."},"learnerLineTranslation":{"type":"string","minLength":1,"maxLength":180,"description":"Plain-language translation of the learner line."},"responsePackId":{"type":"string","enum":["step_free","next_train","repeat"],"description":"Page-approved response pack. It supplies the factual response words, answer board, filmed performance, and answer timing."},"pauseAtSec":{"type":"number","minimum":0,"maximum":6,"description":"Second in the source clip where the human turn begins."}},"required":["id","title","learnerNeed","learnerLine","learnerLineTranslation","responsePackId","pauseAtSec"],"additionalProperties":false},"expectedRevision":{"type":"integer","minimum":0,"description":"Page version returned by inspection. The write fails if the project changed first."}},"required":["branch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"openscene_update_branch","kind":"act","impl":"imperative","description":"Revise a branch human need, learner line, pause, or selected page-approved response pack while preserving the page-owned answer content and media.","title":"Update a scene branch","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string","minLength":1,"maxLength":32,"description":"Branch identifier to update."},"patch":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80,"description":"Short branch title shown in the scene graph."},"learnerNeed":{"type":"string","minLength":1,"maxLength":180,"description":"The human need this branch rehearses."},"learnerLine":{"type":"string","minLength":1,"maxLength":160,"description":"Exact line the learner must choose before the response plays."},"learnerLineTranslation":{"type":"string","minLength":1,"maxLength":180,"description":"Plain-language translation of the learner line."},"responsePackId":{"type":"string","enum":["step_free","next_train","repeat"],"description":"Page-approved response pack. It supplies the factual response words, answer board, filmed performance, and answer timing."},"pauseAtSec":{"type":"number","minimum":0,"maximum":6,"description":"Second in the source clip where the human turn begins."}},"minProperties":1,"additionalProperties":false},"expectedRevision":{"type":"integer","minimum":0,"description":"Page version returned by inspection. The write fails if the project changed first."}},"required":["branchId","patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"openscene_preview_branch","kind":"act","impl":"imperative","description":"Select a branch in the live editor and pause its video at the human turn. The page will not release the response until the human chooses the attached learner line.","title":"Rehearse a scene branch","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string","minLength":1,"maxLength":32,"description":"Branch identifier to rehearse."},"expectedRevision":{"type":"integer","minimum":0,"description":"Page version returned by inspection. The write fails if the project changed first."}},"required":["branchId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"openscene_undo_last_edit","kind":"act","impl":"imperative","description":"Restore the previous authored project and reset the preview without discarding older human work.","title":"Undo the last scene edit","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Page version returned by inspection. The write fails if the project changed first."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/openscene-webmcp.jijou-leo40.chatgpt.site.png","apiSurface":"spec","toolCount":6}}