Tools for agents: Frame-exact WAV trimmer

Extract a PCM audio frame range without resampling and receive an actual WAV file with checksums.

Connect with MCP

{
  "mcpServers": {
    "super-agent-tools": {
      "url": "https://app.getsupers.com/sites/agent-wav-trim/mcp"
    }
  }
}
Streamable HTTP · No API key · Stateless

Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.

Call trim_wav_frames

Provide plain base64 PCM WAV and zero-based start_frame/end_frame. The start is included and the end is excluded; one frame contains one sample for each channel. Require 0 <= start_frame < end_frame <= input_frames; invalid ranges fail instead of being clamped. Sample bytes, rate, channel count and sample width are preserved. WAV container metadata is discarded and the container is rebuilt. Decode audio_base64 to save the actual .wav output. sha256 hashes the entire returned WAV; pcm_sha256 hashes only selected interleaved sample bytes. Supports mono/stereo integer PCM 8/16/24/32-bit, up to 524288 decoded upload bytes and 15 input seconds. The example extracts 40 frames, or 5 ms, from a silent 8 kHz fixture. Arbitrary cuts may click; this tool does not fade, resample, normalize, trim by silence, or preserve metadata. No URLs or paths are accepted and uploads are not stored.

Input and output schemas
{
  "name": "trim_wav_frames",
  "title": "Frame-exact WAV trimmer",
  "description": "Extract PCM frames in [start_frame,end_frame), preserving sample bytes, channels, width and rate. Return a complete WAV artifact and SHA-256. Frame indices are zero-based.",
  "inputSchema": {
    "properties": {
      "audio_base64": {
        "title": "Audio Base64",
        "type": "string"
      },
      "start_frame": {
        "title": "Start Frame",
        "type": "integer"
      },
      "end_frame": {
        "title": "End Frame",
        "type": "integer"
      }
    },
    "required": [
      "audio_base64",
      "start_frame",
      "end_frame"
    ],
    "title": "trim_wav_framesArguments",
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": true,
    "title": "trim_wav_framesDictOutput",
    "type": "object"
  },
  "icons": null,
  "annotations": {
    "title": null,
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "meta": null,
  "execution": null
}

Run the example to see the actual result.

HTTP alternative

POST https://app.getsupers.com/sites/agent-wav-trim/call
Content-Type: application/json

{
  "audio_base64": "UklGRsQAAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
  "start_frame": 20,
  "end_frame": 60
}

The HTTP and MCP interfaces execute the same implementation. Validation errors are returned explicitly. See the tool notes above for its supported inputs and behavior.