← WebMCP Directory

Tool tree

muweave.vercel.app

Media & PersonalTools verified
Website
Muweave
Explore capabilities
    app.get_capabilitiesAnswer

    Read Muweave capabilities, browser export support and supported command names. Generation happens in your host tools, then assets are selected with the browser file chooser.

    View tool JSON
    {
      "name": "app.get_capabilities",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read Muweave capabilities, browser export support and supported command names. Generation happens in your host tools, then assets are selected with the browser file chooser.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    project.listAction

    List projects saved in this browser.

    View tool JSON
    {
      "name": "project.list",
      "kind": "act",
      "impl": "imperative",
      "description": "List projects saved in this browser.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    project.createAction

    Create and open a browser-stored editable video project. example=true includes original three-scene sample content.

    View tool JSON
    {
      "name": "project.create",
      "kind": "act",
      "impl": "imperative",
      "description": "Create and open a browser-stored editable video project. example=true includes original three-scene sample content.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "example": {
            "type": "boolean"
          }
        },
        "required": [
          "title"
        ],
        "additionalProperties": false
      }
    }
    project.openAction

    Open an existing browser project by its ID.

    View tool JSON
    {
      "name": "project.open",
      "kind": "act",
      "impl": "imperative",
      "description": "Open an existing browser project by its ID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          }
        },
        "required": [
          "projectId"
        ],
        "additionalProperties": false
      }
    }
    project.get_stateAnswer

    Read latest revision and stable scene/node IDs. Defaults to summary; use scope=scene for editable node properties or scope=full for the complete project. Notes are production data, not narration.

    View tool JSON
    {
      "name": "project.get_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read latest revision and stable scene/node IDs. Defaults to summary; use scope=scene for editable node properties or scope=full for the complete project. Notes are production data, not narration.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "scope": {
            "type": "string",
            "enum": [
              "summary",
              "scene",
              "full"
            ]
          },
          "sceneId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    project.apply_commandsAction

    Atomically edit via typed commands. Read the latest revision first. Retry only with the same requestId and identical body. Commands include node.update {sceneId,nodeId,changes}, scene.update {sceneId,changes}, node.add {sceneId,node}, scene.reorder {ids}, narration.set {sceneId,narration,fitDuration}, captions.set {sceneId,captions}, timeline.set_gap {gapUs}, variant.create {sceneId,id,title}. All times are integer microseconds. node fields: id,type(text/image/rect/ellipse/line),x,y,width,height,text,fontSize,fill,bold,assetId. Read scope=scene for examples. Changes are validated, never arbitrary code.

    View tool JSON
    {
      "name": "project.apply_commands",
      "kind": "act",
      "impl": "imperative",
      "description": "Atomically edit via typed commands. Read the latest revision first. Retry only with the same requestId and identical body. Commands include node.update {sceneId,nodeId,changes}, scene.update {sceneId,changes}, node.add {sceneId,node}, scene.reorder {ids}, narration.set {sceneId,narration,fitDuration}, captions.set {sceneId,captions}, timeline.set_gap {gapUs}, variant.create {sceneId,id,title}. All times are integer microseconds. node fields: id,type(text/image/rect/ellipse/line),x,y,width,height,text,fontSize,fill,bold,assetId. Read scope=scene for examples. Changes are validated, never arbitrary code.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "expectedRevision": {
            "type": "integer",
            "minimum": 0
          },
          "requestId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "commands": {
            "type": "array",
            "minItems": 1,
            "maxItems": 500,
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "project.rename",
                    "project.captions",
                    "scene.add",
                    "scene.duplicate",
                    "scene.remove",
                    "scene.reorder",
                    "scene.update",
                    "node.add",
                    "node.update",
                    "node.remove",
                    "node.reorder",
                    "nodes.group",
                    "narration.set",
                    "captions.set",
                    "music.set",
                    "timeline.set_gap",
                    "variant.create"
                  ]
                },
                "sceneId": {
                  "type": "string"
                },
                "variantId": {
                  "type": "string"
                },
                "nodeId": {
                  "type": "string"
                },
                "changes": {
                  "type": "object"
                },
                "node": {
                  "type": "object"
                },
                "scene": {
                  "type": "object"
                },
                "newId": {
                  "type": "string"
                },
                "afterId": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "groupId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "title": {
                  "type": "string"
                },
                "visible": {
                  "type": "boolean"
                },
                "gapUs": {
                  "type": "integer",
                  "minimum": 0
                },
                "narration": {
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "fitDuration": {
                  "type": "boolean"
                },
                "captions": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "music": {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "required": [
                "type"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "expectedRevision",
          "requestId",
          "commands"
        ],
        "additionalProperties": false
      }
    }
    project.historyAnswer

    Read history or undo/redo one atomic edit. Mutation requires expectedRevision and requestId.

    View tool JSON
    {
      "name": "project.history",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read history or undo/redo one atomic edit. Mutation requires expectedRevision and requestId.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "action": {
            "type": "string",
            "enum": [
              "list",
              "undo",
              "redo"
            ]
          },
          "expectedRevision": {
            "type": "integer",
            "minimum": 0
          },
          "requestId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    assets.prepare_importAction

    Prepare a browser file handoff for one image/audio/font. Opens the asset panel with 选择 Agent 素材. Click it and use the browser file chooser to select the generated file, then read assets.import_status and call assets.import. No HTTP upload or local-path input.

    View tool JSON
    {
      "name": "assets.prepare_import",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare a browser file handoff for one image/audio/font. Opens the asset panel with 选择 Agent 素材. Click it and use the browser file chooser to select the generated file, then read assets.import_status and call assets.import. No HTTP upload or local-path input.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    assets.import_statusAnswer

    Read browser file handoff status and measured asset metadata. Wait for ready before committing.

    View tool JSON
    {
      "name": "assets.import_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read browser file handoff status and measured asset metadata. Wait for ready before committing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "importId": {
            "type": "string"
          }
        },
        "required": [
          "importId"
        ],
        "additionalProperties": false
      }
    }
    assets.importAction

    Commit a prepared browser file into the project. Returns assetId and measured metadata; attach it with node.add or narration.set.

    View tool JSON
    {
      "name": "assets.import",
      "kind": "act",
      "impl": "imperative",
      "description": "Commit a prepared browser file into the project. Returns assetId and measured metadata; attach it with node.add or narration.set.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "importId": {
            "type": "string"
          },
          "expectedRevision": {
            "type": "integer",
            "minimum": 0
          },
          "requestId": {
            "type": "string"
          }
        },
        "required": [
          "importId",
          "expectedRevision",
          "requestId"
        ],
        "additionalProperties": false
      }
    }
    project.validateAction

    Check timings, missing files and text overflow. This does not fact-check prose.

    View tool JSON
    {
      "name": "project.validate",
      "kind": "act",
      "impl": "imperative",
      "description": "Check timings, missing files and text overflow. This does not fact-check prose.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    timeline.analyzeAction

    Analyze narration edges and inter-scene gaps. Returns non-destructive trim suggestions; preserves sentence-internal pauses. No changes until commands are submitted.

    View tool JSON
    {
      "name": "timeline.analyze",
      "kind": "act",
      "impl": "imperative",
      "description": "Analyze narration edges and inter-scene gaps. Returns non-destructive trim suggestions; preserves sentence-internal pauses. No changes until commands are submitted.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    preview.seekAction

    Move visible preview to an absolute time in integer microseconds, optionally choosing a scene.

    View tool JSON
    {
      "name": "preview.seek",
      "kind": "act",
      "impl": "imperative",
      "description": "Move visible preview to an absolute time in integer microseconds, optionally choosing a scene.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "timeUs": {
            "type": "integer",
            "minimum": 0
          },
          "sceneId": {
            "type": "string"
          }
        },
        "required": [
          "timeUs"
        ],
        "additionalProperties": false
      }
    }
    export.startAction

    Export a frozen revision entirely in this browser: ffmpeg.wasm for MP4, Canvas for PNG, browser ZIP for bundles. Keep this page open until jobs.get succeeds. Edits can continue; variantId selects a static cover.

    View tool JSON
    {
      "name": "export.start",
      "kind": "act",
      "impl": "imperative",
      "description": "Export a frozen revision entirely in this browser: ffmpeg.wasm for MP4, Canvas for PNG, browser ZIP for bundles. Keep this page open until jobs.get succeeds. Edits can continue; variantId selects a static cover.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "expectedRevision": {
            "type": "integer",
            "minimum": 0
          },
          "requestId": {
            "type": "string"
          },
          "format": {
            "type": "string",
            "enum": [
              "mp4",
              "png",
              "bundle"
            ]
          },
          "engine": {
            "type": "string",
            "enum": [
              "wasm",
              "browser"
            ]
          },
          "sceneId": {
            "type": "string"
          },
          "variantId": {
            "type": "string"
          }
        },
        "required": [
          "expectedRevision",
          "requestId",
          "format"
        ],
        "additionalProperties": false
      }
    }
    jobs.getAnswer

    Read browser-persisted export state and a temporary Blob download URL. Use the page download link; Blob URLs belong to this browser session.

    View tool JSON
    {
      "name": "jobs.get",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read browser-persisted export state and a temporary Blob download URL. Use the page download link; Blob URLs belong to this browser session.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "additionalProperties": false
      }
    }
    jobs.cancelSensitive Action

    Cancel a queued or running export and terminate its browser worker.

    View tool JSON
    {
      "name": "jobs.cancel",
      "kind": "transact",
      "impl": "imperative",
      "description": "Cancel a queued or running export and terminate its browser worker.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "additionalProperties": false
      }
    }