Tool tree
gradeNot graded
get_demo_stateAnswer
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.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/webmcp"
}create_demoAction
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.
View tool JSON
{
"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.",
"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
},
"page": "/webmcp"
}update_demo_narrationAction
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).
View tool JSON
{
"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).",
"inputSchema": {
"type": "object",
"properties": {
"narration": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"title": {
"type": "string",
"maxLength": 200
}
},
"required": [
"narration"
],
"additionalProperties": false
},
"page": "/webmcp"
}generate_demoAction
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.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/webmcp"
}export_demoAction
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.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {
"confirm": {
"type": "boolean"
}
},
"required": [
"confirm"
],
"additionalProperties": false
},
"page": "/webmcp"
}