← WebMCP Directory

Tool tree

wavecraft-webmcp.vercel.app

Media & PersonalTools verified
Website
Wavecraft — the multitrack audio editor built for you and your agent.
Explore capabilities
    get_app_capabilitiesAnswer

    Call first to learn the real editor features, safety model, supported audio operations, and current WebMCP tool categories. Read-only.

    View tool JSON
    {
      "name": "get_app_capabilities",
      "kind": "answer",
      "impl": "imperative",
      "description": "Call first to learn the real editor features, safety model, supported audio operations, and current WebMCP tool categories. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    inspect_contextAnswer

    Use this before interpreting words like “this”, “here”, “selected”, or “keep my edit”. Returns the exact live human selection, playhead, timeline view, hard constraints, project revision, pending proposals, and manual overrides. Read-only.

    View tool JSON
    {
      "name": "inspect_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Use this before interpreting words like “this”, “here”, “selected”, or “keep my edit”. Returns the exact live human selection, playhead, timeline view, hard constraints, project revision, pending proposals, and manual overrides. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    inspect_projectAnswer

    Returns structured project metadata, all track summaries, markers, regions, locks, proposals, and analysis notes without raw audio samples. Read-only.

    View tool JSON
    {
      "name": "inspect_project",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns structured project metadata, all track summaries, markers, regions, locks, proposals, and analysis notes without raw audio samples. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    inspect_selectionAnswer

    Use whenever the user says “this”, “only this section”, “selected”, or refers to a visual choice. Returns exact timestamps or object IDs plus intersecting clips and locks. Read-only.

    View tool JSON
    {
      "name": "inspect_selection",
      "kind": "answer",
      "impl": "imperative",
      "description": "Use whenever the user says “this”, “only this section”, “selected”, or refers to a visual choice. Returns exact timestamps or object IDs plus intersecting clips and locks. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_current_constraintsAnswer

    Returns every hard lock and manual override. Agent actions may never silently override these constraints, even in Direct mode. Read-only.

    View tool JSON
    {
      "name": "get_current_constraints",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns every hard lock and manual override. Agent actions may never silently override these constraints, even in Direct mode. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    list_tracksAnswer

    Lists stable track IDs and mix state. Use IDs from this result in later calls. Read-only.

    View tool JSON
    {
      "name": "list_tracks",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists stable track IDs and mix state. Use IDs from this result in later calls. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    inspect_trackAnswer

    Returns complete structured state for one track, including stable clip IDs. Read-only.

    View tool JSON
    {
      "name": "inspect_track",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns complete structured state for one track, including stable clip IDs. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID from list_tracks."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    list_clipsAnswer

    Lists all clips, optionally filtered by track_id. Returns exact timeline/source positions. Read-only.

    View tool JSON
    {
      "name": "list_clips",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists all clips, optionally filtered by track_id. Returns exact timeline/source positions. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Optional stable track ID."
          }
        },
        "additionalProperties": false
      }
    }
    inspect_clipAnswer

    Returns complete non-destructive edit state and source information for one clip. Read-only.

    View tool JSON
    {
      "name": "inspect_clip",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns complete non-destructive edit state and source information for one clip. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID from list_clips."
          }
        },
        "required": [
          "clip_id"
        ],
        "additionalProperties": false
      }
    }
    get_edit_historyAnswer

    Returns current revision, undo/redo availability, and applied agent actions. Read-only.

    View tool JSON
    {
      "name": "get_edit_history",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns current revision, undo/redo availability, and applied agent actions. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_agent_change_historyAnswer

    Returns structured metadata for every applied agent edit, including originating tool, explanation, affected objects, proposal, and reversibility. Read-only.

    View tool JSON
    {
      "name": "get_agent_change_history",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns structured metadata for every applied agent edit, including originating tool, explanation, affected objects, proposal, and reversibility. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_playback_stateAnswer

    Returns playhead, playback status, loop, and project duration. Read-only.

    View tool JSON
    {
      "name": "get_playback_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns playhead, playback status, loop, and project duration. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_playheadAction

    Move the shared human/agent playhead to an exact project time. This does not edit audio.

    View tool JSON
    {
      "name": "set_playhead",
      "kind": "act",
      "impl": "imperative",
      "description": "Move the shared human/agent playhead to an exact project time. This does not edit audio.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "time": {
            "type": "number",
            "minimum": 0,
            "description": "Destination in seconds."
          }
        },
        "required": [
          "time"
        ],
        "additionalProperties": false
      }
    }
    playAction

    Start real audio playback from the current playhead using the current non-destructive edit state.

    View tool JSON
    {
      "name": "play",
      "kind": "act",
      "impl": "imperative",
      "description": "Start real audio playback from the current playhead using the current non-destructive edit state.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    pauseAction

    Pause real audio playback and preserve the current playhead.

    View tool JSON
    {
      "name": "pause",
      "kind": "act",
      "impl": "imperative",
      "description": "Pause real audio playback and preserve the current playhead.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    stopAction

    Stop real audio playback. The playhead stays at the current position.

    View tool JSON
    {
      "name": "stop",
      "kind": "act",
      "impl": "imperative",
      "description": "Stop real audio playback. The playhead stays at the current position.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_timeline_viewAnswer

    Returns the visible time range and zoom context. Read-only.

    View tool JSON
    {
      "name": "get_timeline_view",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the visible time range and zoom context. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    zoom_inAction

    Zoom the human timeline view in around the current playhead.

    View tool JSON
    {
      "name": "zoom_in",
      "kind": "act",
      "impl": "imperative",
      "description": "Zoom the human timeline view in around the current playhead.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    zoom_outAction

    Zoom the human timeline view out around the current playhead.

    View tool JSON
    {
      "name": "zoom_out",
      "kind": "act",
      "impl": "imperative",
      "description": "Zoom the human timeline view out around the current playhead.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    fit_projectAction

    Fit the complete project duration in the visible timeline.

    View tool JSON
    {
      "name": "fit_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Fit the complete project duration in the visible timeline.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    zoom_to_selectionAction

    Set the visible timeline to the exact current time-range selection.

    View tool JSON
    {
      "name": "zoom_to_selection",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the visible timeline to the exact current time-range selection.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    select_time_rangeAction

    Create the same visible time-range selection a human would create by dragging the waveform. Use exact project seconds.

    View tool JSON
    {
      "name": "select_time_range",
      "kind": "act",
      "impl": "imperative",
      "description": "Create the same visible time-range selection a human would create by dragging the waveform. Use exact project seconds.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number",
            "minimum": 0,
            "description": "Range start in seconds from the project timeline."
          },
          "end": {
            "type": "number",
            "minimum": 0,
            "description": "Range end in seconds; must be greater than start."
          },
          "track_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional track IDs; omit for all tracks."
          }
        },
        "required": [
          "start",
          "end"
        ],
        "additionalProperties": false
      }
    }
    select_clipAction

    Select one clip in the shared UI by stable ID.

    View tool JSON
    {
      "name": "select_clip",
      "kind": "act",
      "impl": "imperative",
      "description": "Select one clip in the shared UI by stable ID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          }
        },
        "required": [
          "clip_id"
        ],
        "additionalProperties": false
      }
    }
    select_trackAction

    Select one track in the shared UI by stable ID.

    View tool JSON
    {
      "name": "select_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Select one track in the shared UI by stable ID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    select_markerAction

    Select one marker in the shared UI by stable ID.

    View tool JSON
    {
      "name": "select_marker",
      "kind": "act",
      "impl": "imperative",
      "description": "Select one marker in the shared UI by stable ID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "marker_id": {
            "type": "string",
            "description": "Stable marker ID."
          }
        },
        "required": [
          "marker_id"
        ],
        "additionalProperties": false
      }
    }
    clear_selectionAction

    Clear the shared human/agent selection without changing audio.

    View tool JSON
    {
      "name": "clear_selection",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear the shared human/agent selection without changing audio.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    split_clipAction

    Split a clip non-destructively at an exact timeline time. Rejects invalid IDs, boundary times, and human locks. Creates undo history.

    View tool JSON
    {
      "name": "split_clip",
      "kind": "act",
      "impl": "imperative",
      "description": "Split a clip non-destructively at an exact timeline time. Rejects invalid IDs, boundary times, and human locks. Creates undo history.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "time": {
            "type": "number",
            "minimum": 0,
            "description": "Split time in project seconds."
          }
        },
        "required": [
          "clip_id",
          "time"
        ],
        "additionalProperties": false
      }
    }
    trim_clip_startAction

    Trim media from the beginning of a clip by setting a later timeline start. Non-destructive source offset is preserved; locks reject changes.

    View tool JSON
    {
      "name": "trim_clip_start",
      "kind": "act",
      "impl": "imperative",
      "description": "Trim media from the beginning of a clip by setting a later timeline start. Non-destructive source offset is preserved; locks reject changes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "new_start": {
            "type": "number",
            "minimum": 0,
            "description": "New timeline start inside the existing clip."
          }
        },
        "required": [
          "clip_id",
          "new_start"
        ],
        "additionalProperties": false
      }
    }
    trim_clip_endAction

    Trim media from the end of a clip by setting an earlier timeline end. Non-destructive source data remains available; locks reject changes.

    View tool JSON
    {
      "name": "trim_clip_end",
      "kind": "act",
      "impl": "imperative",
      "description": "Trim media from the end of a clip by setting an earlier timeline end. Non-destructive source data remains available; locks reject changes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "new_end": {
            "type": "number",
            "minimum": 0,
            "description": "New timeline end inside the existing clip."
          }
        },
        "required": [
          "clip_id",
          "new_end"
        ],
        "additionalProperties": false
      }
    }
    fade_clip_inAction

    Set a real linear fade-in duration in seconds. Playback and WAV export both render this envelope.

    View tool JSON
    {
      "name": "fade_clip_in",
      "kind": "act",
      "impl": "imperative",
      "description": "Set a real linear fade-in duration in seconds. Playback and WAV export both render this envelope.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "duration": {
            "type": "number",
            "minimum": 0,
            "description": "Fade-in duration in seconds."
          }
        },
        "required": [
          "clip_id",
          "duration"
        ],
        "additionalProperties": false
      }
    }
    fade_clip_outAction

    Set a real linear fade-out duration in seconds. Playback and WAV export both render this envelope.

    View tool JSON
    {
      "name": "fade_clip_out",
      "kind": "act",
      "impl": "imperative",
      "description": "Set a real linear fade-out duration in seconds. Playback and WAV export both render this envelope.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "duration": {
            "type": "number",
            "minimum": 0,
            "description": "Fade-out duration in seconds."
          }
        },
        "required": [
          "clip_id",
          "duration"
        ],
        "additionalProperties": false
      }
    }
    move_clipAction

    Move a clip non-destructively to an exact timeline start. Rejects locked source/destination ranges. Creates undo history.

    View tool JSON
    {
      "name": "move_clip",
      "kind": "act",
      "impl": "imperative",
      "description": "Move a clip non-destructively to an exact timeline start. Rejects locked source/destination ranges. Creates undo history.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "timeline_start": {
            "type": "number",
            "minimum": 0,
            "description": "New clip start in project seconds."
          }
        },
        "required": [
          "clip_id",
          "timeline_start"
        ],
        "additionalProperties": false
      }
    }
    delete_clipSensitive Action

    Delete one clip. This is destructive and will create a proposal while Propose First mode is active; locks always reject it.

    View tool JSON
    {
      "name": "delete_clip",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete one clip. This is destructive and will create a proposal while Propose First mode is active; locks always reject it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          }
        },
        "required": [
          "clip_id"
        ],
        "additionalProperties": false
      }
    }
    set_clip_gainAction

    Set non-destructive clip gain in dB. Human manual overrides are visible; locks reject changes. Creates undo history.

    View tool JSON
    {
      "name": "set_clip_gain",
      "kind": "act",
      "impl": "imperative",
      "description": "Set non-destructive clip gain in dB. Human manual overrides are visible; locks reject changes. Creates undo history.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clip_id": {
            "type": "string",
            "description": "Stable clip ID."
          },
          "gain_db": {
            "type": "number",
            "minimum": -60,
            "maximum": 24,
            "description": "Target clip gain in dB."
          }
        },
        "required": [
          "clip_id",
          "gain_db"
        ],
        "additionalProperties": false
      }
    }
    set_track_gainAction

    Set non-destructive track gain in dB. Check manual overrides and locks first. Creates undo history.

    View tool JSON
    {
      "name": "set_track_gain",
      "kind": "act",
      "impl": "imperative",
      "description": "Set non-destructive track gain in dB. Check manual overrides and locks first. Creates undo history.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          },
          "gain_db": {
            "type": "number",
            "minimum": -60,
            "maximum": 24,
            "description": "Target track gain in dB."
          }
        },
        "required": [
          "track_id",
          "gain_db"
        ],
        "additionalProperties": false
      }
    }
    set_track_panAction

    Set track pan from -1.0 full left to +1.0 full right.

    View tool JSON
    {
      "name": "set_track_pan",
      "kind": "act",
      "impl": "imperative",
      "description": "Set track pan from -1.0 full left to +1.0 full right.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          },
          "pan": {
            "type": "number",
            "minimum": -1,
            "maximum": 1,
            "description": "Pan position."
          }
        },
        "required": [
          "track_id",
          "pan"
        ],
        "additionalProperties": false
      }
    }
    mute_trackAction

    Mute a track if it is not already muted.

    View tool JSON
    {
      "name": "mute_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Mute a track if it is not already muted.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    unmute_trackAction

    Unmute a track if it is muted.

    View tool JSON
    {
      "name": "unmute_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Unmute a track if it is muted.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    solo_trackAction

    Solo a track if it is not already soloed.

    View tool JSON
    {
      "name": "solo_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Solo a track if it is not already soloed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    unsolo_trackAction

    Remove solo from a track if active.

    View tool JSON
    {
      "name": "unsolo_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove solo from a track if active.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    rename_trackAction

    Rename a track in the shared project.

    View tool JSON
    {
      "name": "rename_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Rename a track in the shared project.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          },
          "name": {
            "type": "string",
            "description": "New human-readable track name."
          }
        },
        "required": [
          "track_id",
          "name"
        ],
        "additionalProperties": false
      }
    }
    lock_trackAction

    Create a hard human-visible track lock. Agents cannot override it. This tool only locks; it never unlocks.

    View tool JSON
    {
      "name": "lock_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a hard human-visible track lock. Agents cannot override it. This tool only locks; it never unlocks.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    unlock_trackAction

    Remove a track lock only when the user explicitly asked for that unlock.

    View tool JSON
    {
      "name": "unlock_track",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a track lock only when the user explicitly asked for that unlock.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track_id": {
            "type": "string",
            "description": "Stable track ID."
          }
        },
        "required": [
          "track_id"
        ],
        "additionalProperties": false
      }
    }
    lock_time_rangeAction

    Create a hard, human-visible timeline constraint. All future agent edits must re-plan around it.

    View tool JSON
    {
      "name": "lock_time_range",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a hard, human-visible timeline constraint. All future agent edits must re-plan around it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number",
            "minimum": 0,
            "description": "Range start in seconds from the project timeline."
          },
          "end": {
            "type": "number",
            "minimum": 0,
            "description": "Range end in seconds; must be greater than start."
          },
          "label": {
            "type": "string",
            "description": "Human-readable reason for the lock."
          }
        },
        "required": [
          "start",
          "end",
          "label"
        ],
        "additionalProperties": false
      }
    }
    unlock_time_rangeAction

    Remove a specific hard range lock only after explicit human instruction. Requires a stable lock_id from get_current_constraints.

    View tool JSON
    {
      "name": "unlock_time_range",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a specific hard range lock only after explicit human instruction. Requires a stable lock_id from get_current_constraints.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "lock_id": {
            "type": "string",
            "description": "Stable range lock ID."
          }
        },
        "required": [
          "lock_id"
        ],
        "additionalProperties": false
      }
    }
    add_markerAction

    Add a low-risk visible timeline marker.

    View tool JSON
    {
      "name": "add_marker",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a low-risk visible timeline marker.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "time": {
            "type": "number",
            "minimum": 0,
            "description": "Marker time in project seconds."
          },
          "label": {
            "type": "string",
            "description": "Marker label."
          }
        },
        "required": [
          "time",
          "label"
        ],
        "additionalProperties": false
      }
    }
    ripple_delete_time_rangeSensitive Action

    Delete a range across all tracks and close the gap. This is destructive: in Propose First mode it creates a visual proposal instead of applying. Locks always reject it.

    View tool JSON
    {
      "name": "ripple_delete_time_range",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete a range across all tracks and close the gap. This is destructive: in Propose First mode it creates a visual proposal instead of applying. Locks always reject it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number",
            "minimum": 0,
            "description": "Range start in seconds from the project timeline."
          },
          "end": {
            "type": "number",
            "minimum": 0,
            "description": "Range end in seconds; must be greater than start."
          }
        },
        "required": [
          "start",
          "end"
        ],
        "additionalProperties": false
      }
    }
    analyze_projectAction

    Computes structured peak, RMS, dynamic range, clipping, silence, speaker-level, and issue evidence from the current local audio graph. Read-only.

    View tool JSON
    {
      "name": "analyze_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Computes structured peak, RMS, dynamic range, clipping, silence, speaker-level, and issue evidence from the current local audio graph. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    analyze_selectionAnswer

    Analyze the exact current time-range selection and return only evidence inside it. Read-only.

    View tool JSON
    {
      "name": "analyze_selection",
      "kind": "answer",
      "impl": "imperative",
      "description": "Analyze the exact current time-range selection and return only evidence inside it. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    detect_long_pausesAnswer

    Find pauses at or above a duration threshold, optionally limited to the current range selection. Returns structured evidence and distinguishes dramatic pauses. Read-only.

    View tool JSON
    {
      "name": "detect_long_pauses",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find pauses at or above a duration threshold, optionally limited to the current range selection. Returns structured evidence and distinguishes dramatic pauses. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "minimum_duration": {
            "type": "number",
            "minimum": 0.25,
            "maximum": 10,
            "description": "Minimum pause duration in seconds. Default 1.5."
          },
          "selection_only": {
            "type": "boolean",
            "description": "If true, require and limit results to current time selection."
          }
        },
        "additionalProperties": false
      }
    }
    detect_clippingAnswer

    Returns structured clipped-peak evidence computed from the current local audio graph. Read-only.

    View tool JSON
    {
      "name": "detect_clipping",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns structured clipped-peak evidence computed from the current local audio graph. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    compare_track_levelsAnswer

    Compare dialogue track loudness computed from the current local audio graph. Read-only.

    View tool JSON
    {
      "name": "compare_track_levels",
      "kind": "answer",
      "impl": "imperative",
      "description": "Compare dialogue track loudness computed from the current local audio graph. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    create_tighten_proposalAction

    Analyze the exact current time selection, remove only long pauses outside hard locks, preserve short dramatic pauses, and create a visual diff. Does not mutate audio.

    View tool JSON
    {
      "name": "create_tighten_proposal",
      "kind": "act",
      "impl": "imperative",
      "description": "Analyze the exact current time selection, remove only long pauses outside hard locks, preserve short dramatic pauses, and create a visual diff. Does not mutate audio.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    create_balance_proposalAction

    Compare host/guest levels and create non-destructive gain changes. Preserves any human manual gain override. Does not mutate audio.

    View tool JSON
    {
      "name": "create_balance_proposal",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare host/guest levels and create non-destructive gain changes. Preserves any human manual gain override. Does not mutate audio.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    list_proposalsAnswer

    Lists every proposal with status, duration delta, and action counts. Read-only.

    View tool JSON
    {
      "name": "list_proposals",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists every proposal with status, duration delta, and action counts. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    inspect_proposalAnswer

    Returns the full structured visual diff, actions, safety rationale, and duration impact for one proposal. Read-only.

    View tool JSON
    {
      "name": "inspect_proposal",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the full structured visual diff, actions, safety rationale, and duration impact for one proposal. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Stable proposal ID."
          }
        },
        "required": [
          "proposal_id"
        ],
        "additionalProperties": false
      }
    }
    explain_proposalAnswer

    Returns a concise evidence-based explanation of why each proposal action exists and which locks/manual overrides were preserved. Read-only.

    View tool JSON
    {
      "name": "explain_proposal",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns a concise evidence-based explanation of why each proposal action exists and which locks/manual overrides were preserved. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Stable proposal ID."
          }
        },
        "required": [
          "proposal_id"
        ],
        "additionalProperties": false
      }
    }
    reject_proposal_actionAction

    Mark one proposed edit as rejected. The visual overlay disappears and apply_proposal will preserve the corresponding audio.

    View tool JSON
    {
      "name": "reject_proposal_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Mark one proposed edit as rejected. The visual overlay disappears and apply_proposal will preserve the corresponding audio.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Stable proposal ID."
          },
          "action_id": {
            "type": "string",
            "description": "Stable proposal action ID."
          }
        },
        "required": [
          "proposal_id",
          "action_id"
        ],
        "additionalProperties": false
      }
    }
    accept_proposal_actionAction

    Restore one previously rejected proposal action to pending so it will be applied.

    View tool JSON
    {
      "name": "accept_proposal_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Restore one previously rejected proposal action to pending so it will be applied.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Stable proposal ID."
          },
          "action_id": {
            "type": "string",
            "description": "Stable proposal action ID."
          }
        },
        "required": [
          "proposal_id",
          "action_id"
        ],
        "additionalProperties": false
      }
    }
    apply_proposalAction

    Atomically apply all non-rejected actions in a pending proposal, respecting current locks again at application time. Creates one undo checkpoint and Agent Changes entry.

    View tool JSON
    {
      "name": "apply_proposal",
      "kind": "act",
      "impl": "imperative",
      "description": "Atomically apply all non-rejected actions in a pending proposal, respecting current locks again at application time. Creates one undo checkpoint and Agent Changes entry.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Stable pending proposal ID."
          }
        },
        "required": [
          "proposal_id"
        ],
        "additionalProperties": false
      }
    }
    reject_proposalAction

    Reject an entire pending proposal without mutating audio.

    View tool JSON
    {
      "name": "reject_proposal",
      "kind": "act",
      "impl": "imperative",
      "description": "Reject an entire pending proposal without mutating audio.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Stable pending proposal ID."
          }
        },
        "required": [
          "proposal_id"
        ],
        "additionalProperties": false
      }
    }
    validate_edit_planAnswer

    Validate a multi-action deterministic edit plan against live IDs, timestamps, locks, and ranges without changing state. Call before execute_edit_plan. Read-only.

    View tool JSON
    {
      "name": "validate_edit_plan",
      "kind": "answer",
      "impl": "imperative",
      "description": "Validate a multi-action deterministic edit plan against live IDs, timestamps, locks, and ranges without changing state. Call before execute_edit_plan. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "minItems": 1,
            "maxItems": 40,
            "items": {
              "type": "object",
              "description": "ProjectAction object. Supported types: split_clip, move_clip, delete_clip, set_clip_gain, set_track_gain, set_track_pan, ripple_delete_range, add_marker."
            }
          }
        },
        "required": [
          "actions"
        ],
        "additionalProperties": false
      }
    }
    simulate_edit_planAnswer

    Return an exact before/after project summary and per-action labels without changing state. Read-only.

    View tool JSON
    {
      "name": "simulate_edit_plan",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return an exact before/after project summary and per-action labels without changing state. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "minItems": 1,
            "maxItems": 40,
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "actions"
        ],
        "additionalProperties": false
      }
    }
    execute_edit_planAction

    Validate an atomic multi-action edit plan. In Propose First mode, creates a visual proposal. In Direct mode, applies atomically through the proposal engine. Locks always reject.

    View tool JSON
    {
      "name": "execute_edit_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Validate an atomic multi-action edit plan. In Propose First mode, creates a visual proposal. In Direct mode, applies atomically through the proposal engine. Locks always reject.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Human-readable plan title."
          },
          "description": {
            "type": "string",
            "description": "Why this plan is appropriate."
          },
          "actions": {
            "type": "array",
            "minItems": 1,
            "maxItems": 40,
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "title",
          "description",
          "actions"
        ],
        "additionalProperties": false
      }
    }
    undoAction

    Undo the latest complete human or agent edit checkpoint.

    View tool JSON
    {
      "name": "undo",
      "kind": "act",
      "impl": "imperative",
      "description": "Undo the latest complete human or agent edit checkpoint.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    redoAction

    Redo the latest undone edit checkpoint.

    View tool JSON
    {
      "name": "redo",
      "kind": "act",
      "impl": "imperative",
      "description": "Redo the latest undone edit checkpoint.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_export_optionsAnswer

    Returns real browser export capabilities and current selectable ranges. Read-only.

    View tool JSON
    {
      "name": "get_export_options",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns real browser export capabilities and current selectable ranges. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    export_project_jsonAnswer

    Returns complete serializable project JSON metadata. Raw source PCM is intentionally excluded; imported source files remain browser-local. Read-only.

    View tool JSON
    {
      "name": "export_project_json",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns complete serializable project JSON metadata. Raw source PCM is intentionally excluded; imported source files remain browser-local. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }