{"ok":true,"site":{"host":"demomotion-ai-web-c73vaqorlq-an.a.run.app","url":"https://demomotion-ai-web-c73vaqorlq-an.a.run.app/webmcp","type":"live","desc":"Turn your web app into a narrated product demo video.","tools":[{"name":"get_demo_state","kind":"answer","impl":"imperative","description":"Return the current DemoMotion workspace state (url, goal, language, aspect ratio, title, narration, steps, status, and any generated video/export URL). Read-only: it never changes anything. Call this FIRST to understand what the human has already created before editing or generating.","title":"Read the current demo","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp"},{"name":"create_demo","kind":"act","impl":"imperative","description":"Start a NEW demo draft from a product URL and a goal. Reuses DemoMotion's planner to return an editable scenario (title, steps) and a first-pass narration the human/agent can then refine. This REPLACES any current draft and does not record or render anything yet. Use this to begin a demo; to change an existing draft use update_demo_narration, and to produce the video use generate_demo.","title":"Start a new demo draft","inputSchema":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"goal":{"type":"string","minLength":4,"maxLength":1200},"language":{"type":"string","enum":["en-US","ja-JP"],"default":"en-US"},"aspect_ratio":{"type":"string","enum":["16:9","9:16"],"default":"16:9"}},"required":["url","goal"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp"},{"name":"update_demo_narration","kind":"act","impl":"imperative","description":"Replace the narration script of the CURRENT demo draft (and optionally its title). Use this to make the narration shorter, clearer, or on-brand before generating. It updates the shared workspace immediately (the human sees the change) and, because the narration changed, it clears any previously generated video so the next generate_demo reflects the new script. Requires an existing draft — call create_demo first if none exists. Do NOT use this to generate the video (use generate_demo) or to start a new demo (use create_demo).","title":"Rewrite the narration","inputSchema":{"type":"object","properties":{"narration":{"type":"string","minLength":1,"maxLength":4000},"title":{"type":"string","maxLength":200}},"required":["narration"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp"},{"name":"generate_demo","kind":"act","impl":"imperative","description":"Run the real DemoMotion pipeline on the CURRENT draft to produce a narrated MP4: it opens the target URL in a browser, records the workflow, synthesizes the (possibly human-edited) narration, and renders the video. This is a real, state-changing action that can take 30-90 seconds; it resolves only when generation finishes. Requires an existing draft with a url and goal (call create_demo first). It does NOT publish or share the video — use export_demo, with human approval, to get a local download.","title":"Generate the demo video","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp"},{"name":"export_demo","kind":"act","impl":"imperative","description":"Prepare a LOCAL download of the generated demo MP4. This is a basic, local-only export: it never publishes, uploads, or creates a public/shareable URL. It requires a completed generation (run generate_demo first) and explicit human approval: pass confirm=true ONLY after the human has reviewed the result and approved exporting. If the human has not approved, call with confirm=false to receive a prompt to ask them.","title":"Export the generated demo","inputSchema":{"type":"object","properties":{"confirm":{"type":"boolean"}},"required":["confirm"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp"}],"category":"AI & Agents","apiSurface":"spec","toolCount":5}}