audiolab
MCP serverFiles & storageLets your agent analyze audio loudness, peak levels, and voice quality in local files or online.
Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.
Add to setup to save this item as a reference. ahel cannot run it, and signing in will not install it.
About this server
Loudness (EBU R128 / BS.1770-4), true-peak and voice-quality analysis for local files and URLs.
Getting started
- Save this item in Your setup as a reference.
- Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
- Check this page for availability before trying to install it through ahel.
From the project's README
As published by audio-launch/audiolab-mcp-server in README.md.
@audiolabtools/mcp-server
MCP (Model Context Protocol) server that gives any MCP-capable AI (Claude Desktop, Claude Code, Cursor, and others) ten audio-analysis tools, backed by the hosted AudioLab API. It is a thin HTTP client: no local audio engine, no ffmpeg, nothing to compile. It can analyse a public URL or a local file on your machine.
Install
Point your MCP client at the package via npx (nothing to install globally):
{
"mcpServers": {
"audiolab": {
"command": "npx",
"args": ["-y", "@audiolabtools/mcp-server"],
"env": { "AUDIOLAB_API_KEY": "al_live_yourkey" }
}
}
}
Get a key: sign in at https://audiolab.tools/account and generate one (free tier available).
Requirements
- Node ≥ 18: uses the built-in global
fetch+AbortSignal.timeout. - An
AUDIOLAB_API_KEY. No ffmpeg, no native dependencies.
Tools
Every tool takes one audio source: a public url or a local path:
{ url: "https://…" }: a public https URL the API fetches server-side.{ path: "./mix.wav" }: a file on the machine running this server. Files up to 4 MB are sent inline; larger files (up to 50 MB) upload over a one-shot signed URL, are analysed, and are then deleted. (Localpathworks only in this stdio server, not the remote/mcpendpoint.)
| Tool | Returns |
|---|---|
analyze_loudness | Integrated LUFS (EBU R128 / BS.1770-4), true-peak (dBTP), LRA, crest factor, stereo correlation, mono compatibility, tonal balance |
check_target | Pass/fail vs a delivery target (spotify / apple-music / youtube / tidal / amazon-music / podcast / ebu-broadcast / atsc-broadcast, or target:"custom" + lufs+tp), with per-metric deltas and an ffmpeg loudnorm fix command |
analyze_timeseries | Short-term LUFS over time + downsampled waveform peaks (waveformPoints?) |
get_spectrum | FFT magnitude data + 7-band energies |
analyze_voice | Voice QA: speech/silence ratio, speaking rate, SNR, noise floor, room echo, sibilance & clipping risk |
get_speech_segments | Voiced regions with start/end + per-segment RMS (auto-trim, chapters) |
index_signal | Content-type guess, tags, clipping/silence regions, brightness & dynamics buckets |
analyze_profile | One named question, voice, master, provenance, dataset, environment, broadcast or loop, answered with only the lenses it needs. These seven need a paid plan; the free tier gets the basic profile, keyed by stable lens id. Add series:true for the curves, per-block lanes and per-phrase values. Carries a note when the profile’s voice lenses land on non-speech material. Full catalogue: https://audiolab.tools/lenses |
compare_loudness | A/B on two sources (urlA/pathA + urlB/pathB), returns both results |
analyze_batch | One route over up to 20 sources in a single call (urls and/or paths), per-item ok/data/error. For folder QA, library indexing, or checking a whole release against a target. Each item meters as one call |
Example asks to your AI:
- “Analyze the loudness of https://example.com/track.wav” →
analyze_loudnesswithurl - “Is this take usable?” →
analyze_profilewithprofile:"voice" - “Has this file been re-encoded, and is it all one source?” →
analyze_profilewithprofile:"provenance" - “Run loudness on ./master.wav” →
analyze_loudnesswithpath - “Does ./mix.mp3 pass Spotify?” →
check_targetwithpath+target:"spotify"
Configuration (env)
| Var | Default | Purpose |
|---|---|---|
AUDIOLAB_API_KEY | – (required) | Your API key. |
AUDIOLAB_API_BASE | https://audiolab.tools/v1 | Override the API base (must be https://). |
AUDIOLAB_TIMEOUT_MS | 330000 | Per-request timeout in milliseconds (long files and batches stream server-side and can legitimately take minutes). |
Privacy
Analysis happens on the AudioLab API, so the audio does reach audiolab.tools: a url
is fetched server-side, and a local path is sent to the API (small files inline; larger
files via a private one-shot signed upload that is deleted right after analysis). The API
returns numbers only and does not retain your audio (see https://audiolab.tools/privacy).
This package has no telemetry and writes nothing to disk. If audio must never leave the
machine, don't use a hosted analyser.
Limits
- Local files: up to 50 MB (host bigger ones at a public URL).
- Duration: loudness routes (
analyze_loudness,check_target,analyze_timeseries,get_spectrum) handle long files (podcast episodes, full sets, up to ~3 h) via server-side streaming; voice/signal routes are limited to ~7 minutes. - One file per call (agents loop for many); one-shot (no streaming/realtime).
- Rate and monthly limits are enforced by the API, per key.
Smoke test
node hosted-server.mjs --selftest # verifies the 10 tools + guards; no network
License
MIT © Nathan Renting
Signals
- Last commit
- Sep 2026
- Weekly downloads
- 215
- Weekly_downloads
- 66 weekly_downloads
Advanced
- Delivery
- audiolab MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
tools-audiolab-audiolab- Source
- github.com/audio-launch/audiolab-mcp-server
github.com/audio-launch/audiolab-mcp-server
More in Files & storage
MCP server · wonderwhy-er
More in Files & storagelocal-mcp
MCP server · colibird-ai
More in Files & storageruntime
MCP server · withruntime
More in Files & storageopen-agreements
MCP server · open-agreements
More in Files & storageyungle
MCP server · heindewilde
More in Files & storagecarbone-mcp
MCP server · carboneio
More in Files & storage