Skip to content

ihateaudio

by ihateaudio.com · remote · no sign-in to list tools · v0.3.0 · published by com.ihateaudio

49 audio tools: trim, convert, normalize, remove vocals, split stems, transcribe, and more.

Deletes · 1Final · 3Changes · 44

48 tools: 1 can delete or cancel things, 3 do something that can't be undone and 44 change things.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ihateaudio https://ihateaudio.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "vocal_remover" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "remove": a word for removing or ending something.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

48 tools

Deletes or cancels 1Claude Code: deny
  • vocal_removerRemoves the vocals from a song by source separation and returns the instrumental.1 finding

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "vocal_remover" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Removes the vocals from a song by source separation and returns the instrumental. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Can't be undone 3Claude Code: ask
  • send_audio_by_emailPrepares audio to fit common email attachment limits by recompressing it or splitting it.No findings

    Why it is in this group

    • The name "send_audio_by_email" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Prepares audio to fit common email attachment limits by recompressing it or splitting it. It returns the files and does not send any email. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • send_audio_on_discordPrepares audio to fit Discord's upload limit by recompressing it or splitting it.No findings

    Why it is in this group

    • The name "send_audio_on_discord" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Prepares audio to fit Discord's upload limit by recompressing it or splitting it. It returns the files and does not send anything to Discord. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • send_audio_on_whatsappPrepares audio to fit WhatsApp's 16 MB limit by recompressing it or splitting it at pauses.No findings

    Why it is in this group

    • The name "send_audio_on_whatsapp" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Prepares audio to fit WhatsApp's 16 MB limit by recompressing it or splitting it at pauses. It returns the files and does not send anything to WhatsApp. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 44Claude Code: ask
  • 8d_audio_makerPans the audio in a circle around the listener (the "8D audio" effect).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pans the audio in a circle around the listener (the "8D audio" effect). Input: one file with a public HTTPS download_url. Optional settings for set_8d_effect: secondsPerTurn, distance. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • acapella_extractorIsolates the vocals from a song by source separation and returns the vocal track.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Isolates the vocals from a song by source separation and returns the vocal track. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • android_ringtone_makerCuts a section of a song into an MP3 ringtone for Android.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Cuts a section of a song into an MP3 ringtone for Android. Input: one file with a public HTTPS download_url. Optional settings for set_ringtone: startSec, endSec, fadeOut, fadeSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_compressorMakes an audio file smaller by lowering its bitrate, sample rate or channel count.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Makes an audio file smaller by lowering its bitrate, sample rate or channel count. Input: one file with a public HTTPS download_url. Optional settings for set_compression: bitrateKbps, sampleRateHz, channels. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_converterConverts audio between MP3, WAV, M4A, OGG, FLAC and other formats.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts audio between MP3, WAV, M4A, OGG, FLAC and other formats. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_joinerJoins several audio files into one, in the order given, with an optional gap.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Joins several audio files into one, in the order given, with an optional gap. Input: two or more files, in order, each with a public HTTPS download_url. Optional settings for set_join_gap: gapSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_looperRepeats a clip a set number of times, with an optional gap.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Repeats a clip a set number of times, with an optional gap. Input: one file with a public HTTPS download_url. Optional settings for set_loop: repeats, gapSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_normalizerNormalizes loudness to a LUFS target, such as -14 for Spotify or -16 for podcasts, with a true-peak ceiling.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Normalizes loudness to a LUFS target, such as -14 for Spotify or -16 for podcasts, with a true-peak ceiling. Input: one file with a public HTTPS download_url. Optional settings for set_loudness_target: platform, targetLufs, ceilingDbtp. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_reverserReverses audio so it plays from end to start.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Reverses audio so it plays from end to start. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_splitterSplits a recording into parts: a set number, a set length, or at silences.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Splits a recording into parts: a set number, a set length, or at silences. Input: one file with a public HTTPS download_url. Optional settings for set_split: method, parts, partLengthSec, silenceThresholdDbfs, minimumGapSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_transcriberTranscribes the speech in a recording to text with the Whisper speech recognition model.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Transcribes the speech in a recording to text with the Whisper speech recognition model. Input: one file with a public HTTPS download_url. Optional settings for set_transcript_layout: paragraphs. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • audio_trimmerCuts an audio file down to a start and end time, or removes that section.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Cuts an audio file down to a start and end time, or removes that section. Input: one file with a public HTTPS download_url. Optional settings for set_trim: startSec, endSec, mode, fade. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • bass_boosterBoosts the low frequencies.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Boosts the low frequencies. Input: one file with a public HTTPS download_url. Optional settings for set_bass_boost: amountDb, cornerHz, keepLevel. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • bpm_detectorMeasures the tempo of a track in BPM.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Measures the tempo of a track in BPM. Input: one file with a public HTTPS download_url. Optional settings for set_analysis_range: selectionOnly. Returns the measurements as JSON, not a file. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • crossfade_joinerJoins several files with a crossfade between each pair.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Joins several files with a crossfade between each pair. Input: two or more files, in order, each with a public HTTPS download_url. Optional settings for set_crossfade: fadeSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • dynamic_compressorApplies dynamic range compression to even out levels.No findings

    Why it is in this group

    • The description's first verb is "apply": a word for a change.
    Description, as the server wrote it
    Applies dynamic range compression to even out levels. Input: one file with a public HTTPS download_url. Optional settings for set_compressor: preset, thresholdDb, ratio, attackMs, releaseMs, kneeDb, makeupDb. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • echo_adderAdds an echo or delay effect.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Adds an echo or delay effect. Input: one file with a public HTTPS download_url. Optional settings for set_echo: preset, delayMs, feedbackPercent, mixPercent. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • equalizerApplies an equalizer preset.No findings

    Why it is in this group

    • The description's first verb is "apply": a word for a change.
    Description, as the server wrote it
    Applies an equalizer preset. Input: one file with a public HTTPS download_url. Optional settings for set_equalizer: preset. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • fade_in_outAdds a fade-in at the start and a fade-out at the end.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Adds a fade-in at the start and a fade-out at the end. Input: one file with a public HTTPS download_url. Optional settings for set_fade: fadeInSec, fadeOutSec, curve. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • flac_converterConverts audio to lossless FLAC.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts audio to lossless FLAC. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • key_finderDetects the musical key of a track and its Camelot code.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Detects the musical key of a track and its Camelot code. Input: one file with a public HTTPS download_url. Returns the measurements as JSON, not a file. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • loudness_meterMeasures integrated loudness (LUFS), loudness range and true peak to ITU-R BS.1770.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Measures integrated loudness (LUFS), loudness range and true peak to ITU-R BS.1770. Input: one file with a public HTTPS download_url. Returns the measurements as JSON, not a file. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • m4a_converterConverts audio to M4A (AAC).No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts audio to M4A (AAC). Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • mp3_converterConverts an audio or video file to MP3.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts an audio or video file to MP3. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • nightcore_makerSpeeds a track up and raises its pitch (the "nightcore" edit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Speeds a track up and raises its pitch (the "nightcore" edit). Input: one file with a public HTTPS download_url. Optional settings for set_nightcore: rate, preset. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • noise_removerReduces background noise such as hiss, hum and room noise in a recording.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Reduces background noise such as hiss, hum and room noise in a recording. Input: one file with a public HTTPS download_url. Optional settings for set_noise_reduction: strength. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • ogg_converterConverts audio to OGG Vorbis.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts audio to OGG Vorbis. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pitch_shifterShifts pitch by semitones and cents without changing length.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Shifts pitch by semitones and cents without changing length. Input: one file with a public HTTPS download_url. Optional settings for set_pitch_shift: semitones, cents. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • reverb_adderAdds convolution reverb.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Adds convolution reverb. Input: one file with a public HTTPS download_url. Optional settings for set_reverb: space, decaySec, mix, preDelayMs. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • ringtone_makerCuts a section of a song into an M4R ringtone for iPhone.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Cuts a section of a song into an M4R ringtone for iPhone. Input: one file with a public HTTPS download_url. Optional settings for set_ringtone: startSec, endSec, fadeOut, fadeSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • sample_rate_converterResamples audio to a different sample rate.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Resamples audio to a different sample rate. Input: one file with a public HTTPS download_url. Optional settings for set_sample_rate: sampleRateHz. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • silence_removerShortens long silences in speech recordings.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Shortens long silences in speech recordings. Input: one file with a public HTTPS download_url. Optional settings for set_silence_removal: threshold, minimumGapSec, paddingSec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • slowed_reverbSlows a track down and adds reverb (the "slowed + reverb" edit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Slows a track down and adds reverb (the "slowed + reverb" edit). Input: one file with a public HTTPS download_url. Optional settings for set_slowed_reverb: intensity, speed, mix, decaySec. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • speed_changerChanges playback speed, with or without changing pitch.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Changes playback speed, with or without changing pitch. Input: one file with a public HTTPS download_url. Optional settings for set_speed: speed, keepPitch. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • stem_splitterSeparates a song into stems (vocals, drums, bass, other) by source separation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Separates a song into stems (vocals, drums, bass, other) by source separation. Input: one file with a public HTTPS download_url. Optional settings for set_stems: vocals, drums, bass, other. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • stereo_to_monoConverts between stereo and mono, or keeps one channel.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts between stereo and mono, or keeps one channel. Input: one file with a public HTTPS download_url. Optional settings for set_channel_mode: mode. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • stereo_widenerWidens or narrows the stereo image.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Widens or narrows the stereo image. Input: one file with a public HTTPS download_url. Optional settings for set_stereo_width: width. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • subtitle_generatorTranscribes speech and returns an SRT or VTT subtitle file.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Transcribes speech and returns an SRT or VTT subtitle file. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • tempo_changerChanges tempo without changing pitch.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Changes tempo without changing pitch. Input: one file with a public HTTPS download_url. Optional settings for set_tempo: tempoPercent, bpm. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • video_to_audioExtracts the audio track from a video file such as MP4, MOV or MKV.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Extracts the audio track from a video file such as MP4, MOV or MKV. Input: one file with a public HTTPS download_url. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • voice_changerApplies a voice effect preset or a pitch shift to a recorded voice.No findings

    Why it is in this group

    • The description's first verb is "apply": a word for a change.
    Description, as the server wrote it
    Applies a voice effect preset or a pitch shift to a recorded voice. Input: one file with a public HTTPS download_url. Optional settings for set_voice: preset, semitones. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • volume_boosterRaises the volume by a gain in dB or up to a target peak.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Raises the volume by a gain in dB or up to a target peak. Input: one file with a public HTTPS download_url. Optional settings for set_volume: method, gainDb, targetPeakDbfs. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • wav_converterConverts audio to WAV at 16, 24 or 32-bit.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Converts audio to WAV at 16, 24 or 32-bit. Input: one file with a public HTTPS download_url. Optional settings for set_wav_bit_depth: bitDepth. Optional outputFormat (for example mp3, wav, m4a) and bitrateKbps where the tool supports them. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • waveform_generatorDraws a PNG image of the waveform.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Draws a PNG image of the waveform. Input: one file with a public HTTPS download_url. Optional settings for set_waveform_image: preset, widthPx, heightPx, style, waveColor, backgroundColor, transparent. Returns download links for the result, which expire after 1 hour. The server downloads the file from download_url, keeps it in ihateaudio's Cloudflare R2 storage while the job runs, and processes it with the ihateaudio.com tool page in a headless browser on Cloudflare. The input is deleted when the job ends.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ihateaudio https://ihateaudio.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__ihateaudio__audio_trimmer",
      "mcp__ihateaudio__audio_joiner",
      "mcp__ihateaudio__audio_splitter",
      "mcp__ihateaudio__silence_remover",
      "mcp__ihateaudio__fade_in_out",
      "mcp__ihateaudio__audio_reverser",
      "mcp__ihateaudio__audio_looper",
      "mcp__ihateaudio__crossfade_joiner",
      "mcp__ihateaudio__audio_converter",
      "mcp__ihateaudio__mp3_converter",
      "mcp__ihateaudio__wav_converter",
      "mcp__ihateaudio__m4a_converter",
      "mcp__ihateaudio__ogg_converter",
      "mcp__ihateaudio__flac_converter",
      "mcp__ihateaudio__video_to_audio",
      "mcp__ihateaudio__audio_compressor",
      "mcp__ihateaudio__sample_rate_converter",
      "mcp__ihateaudio__send_audio_on_whatsapp",
      "mcp__ihateaudio__send_audio_on_discord",
      "mcp__ihateaudio__send_audio_by_email",
      "mcp__ihateaudio__volume_booster",
      "mcp__ihateaudio__audio_normalizer",
      "mcp__ihateaudio__bass_booster",
      "mcp__ihateaudio__dynamic_compressor",
      "mcp__ihateaudio__stereo_to_mono",
      "mcp__ihateaudio__speed_changer",
      "mcp__ihateaudio__pitch_shifter",
      "mcp__ihateaudio__tempo_changer",
      "mcp__ihateaudio__slowed_reverb",
      "mcp__ihateaudio__nightcore_maker",
      "mcp__ihateaudio__voice_changer",
      "mcp__ihateaudio__reverb_adder",
      "mcp__ihateaudio__echo_adder",
      "mcp__ihateaudio__8d_audio_maker",
      "mcp__ihateaudio__equalizer",
      "mcp__ihateaudio__stereo_widener",
      "mcp__ihateaudio__ringtone_maker",
      "mcp__ihateaudio__android_ringtone_maker",
      "mcp__ihateaudio__bpm_detector",
      "mcp__ihateaudio__key_finder",
      "mcp__ihateaudio__loudness_meter",
      "mcp__ihateaudio__waveform_generator",
      "mcp__ihateaudio__acapella_extractor",
      "mcp__ihateaudio__stem_splitter",
      "mcp__ihateaudio__audio_transcriber",
      "mcp__ihateaudio__subtitle_generator",
      "mcp__ihateaudio__noise_remover"
    ],
    "deny": [
      "mcp__ihateaudio__vocal_remover"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ihateaudio. Review it before you use it.